创建项目
使用 vscode 创建项目:cmd + shift + p
,然后选择 flutter new project

选择Application
类型

你也可以用 cli 方式 【可选】
flutter create flutter_quickstart_learn
目录结构
.
├── android // 原生程序
│ ├── app
│ ├── gradle
│ ├── build.gradle
│ ├── flutter_quickstart_learn_android.iml
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── local.properties
│ └── settings.gradle
├── ios // 原生程序
│ ├── Flutter
│ ├── Runner
│ ├── Runner.xcodeproj
│ └── Runner.xcworkspace
├── lib // flutter dart 代码
│ └── main.dart
├── linux // linux 端
│ ├── flutter
│ ├── CMakeLists.txt
│ ├── main.cc
│ ├── my_application.cc
│ └── my_application.h
├── macos // macos 端
│ ├── Flutter
│ ├── Runner
│ ├── Runner.xcodeproj
│ └── Runner.xcworkspace
├── test // 测试目录
│ └── widget_test.dart
├── web // web 端
│ ├── icons
│ ├── favicon.png
│ ├── index.html
│ └── manifest.json
├── windows // windows 端
│ ├── flutter
│ ├── runner
│ └── CMakeLists.txt
├── README.md
├── analysis_options.yaml
├── flutter_quickstart_learn.iml
├── pubspec.lock // 包版本 lock
└── pubspec.yaml // flutter 配置文件,包管理 资源管理 配置管理
平台端代码目录(原生部分)
这些文件夹存放的是不同平台的原生工程代码,Flutter 的核心是 Dart,但最终还是会打包成各平台的原生应用,这些目录就是原生壳子。
平台端代码主要是在你需要写平台特有功能(比如调用摄像头、蓝牙、文件系统)或者改打包配置的时候才会动。
如果你只写纯 Flutter 逻辑,通常不需要手动修改这些文件夹里的代码。
目录 | 平台 | 作用 |
---|---|---|
android/ |
Android | 存放 Android 原生工程(Java/Kotlin + Gradle 构建系统)。主要用于修改 Android 原生配置(如权限、Gradle 插件、包名等),或者编写原生插件。 |
ios/ |
iOS | 存放 iOS 原生工程(Swift/Objective-C + Xcode)。可以修改 App 图标、启动页、iOS 权限配置等。 |
linux/ |
Linux 桌面 | 存放 Linux 原生代码(C++ + CMake),主要用于桌面端构建。 |
macos/ |
macOS 桌面 | 存放 macOS 原生工程(Swift/Objective-C + Xcode)。 |
windows/ |
Windows 桌面 | 存放 Windows 原生工程(C++ + CMake)。 |
web/ |
Web | 存放 Web 构建相关文件(HTML、CSS、JS),你可以在这里加自定义的 Web 配置,例如修改 index.html 或 favicon.png 。 |
Dart 代码目录
目录 | 作用 |
---|---|
lib/ |
存放你的 Flutter/Dart 主程序代码,是核心业务逻辑与 UI 代码的地方。 |
lib/main.dart |
程序入口文件,main() 方法就是从这里启动的。 |
测试目录
目录 | 作用 |
---|---|
test/ |
存放 Flutter/Dart 的单元测试与 widget 测试代码。 |
widget_test.dart |
一个默认的 Flutter 组件测试示例。 |
配置与依赖文件
文件 | 作用 |
---|---|
pubspec.yaml |
Flutter 的核心配置文件,用来管理依赖包、资源文件、字体等。相当于 Node.js 里的 package.json 。 |
pubspec.lock |
锁定依赖的具体版本,保证不同机器上运行时依赖一致。 |
analysis_options.yaml |
Dart/Flutter 静态代码分析规则配置,用来定义代码规范(比如变量命名规则、是否允许某些语法)。 |
flutter_quickstart_learn.iml / .idea |
IDE(IntelliJ/Android Studio)的工程配置文件。 |
README.md |
项目说明文档,通常用 Markdown 编写。 |