Flutter项目初始化
2025-06-09
最近在学习flutter,这里梳理一下相关的知识点做个总结
-
首先可以在 vsCode 中根据快捷键Command + shift + p 然后搜索 Flutter: new Object来新建一个 Flutter 的项目。
-
成功新建 Flutter 项目后,我们可以看到目录结构是这样的:
flutter_demo/ ├── android/ ├── ios/ ├── lib/ │ └── main.dart ├── test/ ├── web/ (可选) ├── macos/ (可选) ├── linux/ (可选) ├── windows/ (可选) ├── pubspec.yaml ├── analysis_options.yaml ├── .gitignore └── README.md
接下来,我们来分析一下Flutter项目的目录结构,来看看每个文件都是用来干嘛的。
lib/: 核心目录,绝大多数的Dart 代码都写在这里,默认包含了一个main.dart文件,是整个程序的入口
lib/ ├── main.dart # 入口文件 ├── screens/ # 各种页面 ├── widgets/ # 可复用组件 ├── models/ # 数据模型 ├── services/ # 网络请求、数据库等服务层 ├── providers/ # 状态管理类 └── utils/ # 工具函数
android/:
- 原生Android工程,用于构建Android 应用
- 可在其中配置包名,Gradle构建,权限等
- 入口是MainActivity.kt或MainActivity.java
ios/:
- 原生 IOS 工程,用于构建 IOS 应用
- 使用 xcode打开,配置info.plist,证书,启动图等
- 入口通常是Runner/AppDelegate.swift
test/:
- 用于编写单元测试
- Flutter默认生成一个widget_test.dart示例文件
pubspec.yaml
- 项目的配置文件,类似于 node.js 的package.json
- 管理: 图片,字体等资源, 项目描述和版本信息等
dependencies: A new Flutter project. flutter: sdk: flutter provider: ^6.0.0 english_words: ^4.0.0
analysis_options.yaml
- Dart静态代码分析配置文件
- 用于规范代码风格,检测潜在错误
linter: rules: always_declare_return_types: true prefer_const_constructors: true
web/,macos/,windows/, linux/ 桌面平台的原生项目结构
-
Flutter项目运行生命周期简单示意图
main.dart ↓ runApp(MyApp) ↓ 构建 Widget 树 ↓ 显示 UI ↓ 用户交互或数据更新 ↓ setState / Provider / Riverpod 等触发状态更新 ↓ 重新构建 Widget(UI 局部刷新)