第 1 章 认识 Flutter
1.1 一句话理解 Flutter
Flutter 是 Google 开源的跨平台 UI 框架:用同一套 Dart 代码,同时构建 Android、iOS、Web、桌面应用。对 Android 方向的你来说,它相当于「用 Dart 写 UI、自带渲染引擎」的完整开发方案。
1.2 它为什么快:三层架构
- Framework 层(Dart):你日常打交道的部分,Material/Cupertino 组件、动画、手势都在这一层。
- Engine 层(C++):Impeller 渲染引擎(3.x 起在 Android 上默认取代 Skia),直接调用 GPU 绘制,不走原生控件,因此不同设备上表现完全一致。
- Embedder 层:负责与操作系统对接(窗口、输入、线程)。
对比原生开发:原生 App 的控件是系统提供的,Flutter 的控件是框架自己画的——所以 Flutter 能做到 120fps 的极致一致性,代价是 APK 体积略大(约多出 5~6MB 的引擎产物)。
1.3 核心术语速览
| 术语 | 含义 | 类比 Android 原生 |
|---|---|---|
Widget | UI 的不可变描述,一切皆 Widget | View 的声明式描述 |
State | Widget 中可变的数据 | ViewModel 中的字段 |
BuildContext | Widget 在组件树中的位置句柄 | Context |
pubspec.yaml | 依赖与资源配置文件 | build.gradle |
pub.dev | 官方包仓库 | Maven Central |