B · Flutter · 移动端 计划
本文件是 B 域进度的唯一权威。总计划见 ../PLAN.md,规范见 ../GUIDE.md。
状态:⬜ 未开始 · 📝 草稿 · ✅ 已完成 · 🔄 待翻新 · ⏸ 暂缓 优先级:P0 常用必写 · P1 该有 · P2 有空写 · P3 候选
最后更新:2026-10-14
域定位
基于 HaierEnergy(海尔新能源 App,Flutter,由 uni-app 迁移而来)真实项目代码梳理的体系化学习教程。
项 值 包名 com.haier.energy.platform技术栈 Riverpod 2.6 + GoRouter 14 + Freezed 2.5 + Retrofit 4 + Dio 5 规模 lib/1118 个 Dart 文件(含 273 个生成文件;fvm 3.27.4 / Dart 3.6.2)
本域承担跨端对照:每个 Flutter / Dart 知识点先给一个前端类比,再落到本项目真实代码。 对照写在这一侧(学习侧),A 域不再重复。
一、已写(✅)
共 44 篇,编号 00~43 全局递增,映射到 ID B00~B43。序号即阅读顺序。
01-入门导览
| ID | 主题 | 形态 | 优先级 | 文件 |
|---|---|---|---|---|
| B00 | 学习路线图 | 教程 | P0 | 00-学习路线图 |
02-语言基础
| ID | 主题 | 形态 | 优先级 | 文件 |
|---|---|---|---|---|
| B01 | Dart 语言基础 | 教程 | P0 | 01-Dart语言基础 |
| B06 | Dart 异步并发与进阶语法 | 教程 | P0 | 06-Dart异步并发与进阶语法 |
B06 虽属语言基础,但阅读顺序排在 B02~B05 之后——事件循环、Isolate、Stream 需先理解单线程渲染模型。
03-框架基础
| ID | 主题 | 形态 | 优先级 | 文件 |
|---|---|---|---|---|
| B02 | Flutter 核心基础 | 教程 | P0 | 02-Flutter核心基础 |
| B03 | 渲染原理与生命周期 | 解释 | P0 | 03-渲染原理与生命周期 |
| B04 | 布局与滚动进阶 | 教程 | P0 | 04-布局与滚动进阶 |
| B05 | 交互与动画 | 教程 | P1 | 05-交互与动画 |
| B28 | 自定义渲染实战:CustomPainter / Sliver / RenderObject | 教程 | P1 | 28-自定义渲染实战 |
| B29 | 动画进阶与动效工程化:Rive / Lottie / 设计稿还原 | 教程 | P1 | 29-动画进阶与动效工程化 |
| B35 | 无障碍与语义树 | 教程 | P1 | 35-无障碍与语义树 |
| B40 | 图表与数据可视化 | 教程 | P1 | 40-图表与数据可视化 |
| B41 | 自定义 Shader 与 GLSL | 解释 | P2 | 41-自定义Shader与GLSL |
04-项目架构
| ID | 主题 | 形态 | 优先级 | 文件 |
|---|---|---|---|---|
| B07 | 项目架构总览 | 解释 | P0 | 07-项目架构总览 |
| B08 | 状态管理 Riverpod | 教程 | P0 | 08-状态管理Riverpod |
| B09 | 数据层链路 | 解释 | P0 | 09-数据层链路 |
| B11 | 组件与主题 | 教程 | P1 | 11-组件与主题 |
| B27 | 状态管理选型与横向对比 | 解释 | P0 | 27-状态管理选型与横向对比 |
| B31 | 架构模式与分层演进:Clean Architecture / DDD | 解释 | P1 | 31-架构模式与分层演进 |
05-项目实战
| ID | 主题 | 形态 | 优先级 | 文件 |
|---|---|---|---|---|
| B10 | 页面开发实战 | 教程 | P0 | 10-页面开发实战 |
| B12 | 分页与列表 | 教程 | P1 | 12-分页与列表 |
| B13 | 路由与导航 | 教程 | P0 | 13-路由与导航 |
| B33 | uni-app 对照查证:迁移差异逐项核对 | 教程 | P1 | 33-uni-app对照查证 |
06-平台能力
| ID | 主题 | 形态 | 优先级 | 文件 |
|---|---|---|---|---|
| B14 | 国际化 | 教程 | P2 | 14-国际化 |
| B15 | 权限与设备能力 | 教程 | P1 | 15-权限与设备能力 |
| B18 | 本地存储与持久化 | 教程 | P1 | 18-本地存储与持久化 |
| B21 | Platform Channel 原生桥接 | 教程 | P0 | 21-Platform Channel 原生桥接 |
| B24 | 推送通知与深链接 | 教程 | P1 | 24-推送通知与深链接 |
| B25 | Flutter Web 与桌面端 | 解释 | P1 | 25-Flutter Web与桌面端 |
| B26 | 混合开发与 Add-to-App | 教程 | P0 | 26-混合开发与Add-to-App |
| B36 | 状态恢复与进程重建 | 教程 | P1 | 36-状态恢复与进程重建 |
| B37 | 后台任务与定时执行 | 教程 | P1 | 37-后台任务与定时执行 |
| B39 | 设备通信:IoT 协议(BLE / MQTT / Modbus) | 教程 | P1 | 39-设备通信-IoT协议 |
| B42 | 移动应用安全与加固 | 教程 | P1 | 42-移动应用安全与加固 |
07-工程化
| ID | 主题 | 形态 | 优先级 | 文件 |
|---|---|---|---|---|
| B16 | 工程化与调试 | 操作指南 | P0 | 16-工程化与调试 |
| B17 | 常见陷阱与速查表 | 参考 | P0 | 17-常见陷阱与速查表 |
| B19 | 测试实战:单元 · Widget · 集成 | 操作指南 | P1 | 19-测试实战 |
| B20 | 异常捕获与错误监控 | 操作指南 | P1 | 20-异常捕获与错误监控 |
| B22 | 性能分析与优化实战 | 操作指南 | P0 | 22-性能分析与优化实战 |
| B23 | 打包签名与发布上架 | 操作指南 | P0 | 23-打包签名与发布上架 |
| B30 | 包与插件开发:组件库抽离与发布 | 操作指南 | P1 | 30-包与插件开发 |
| B32 | 规格驱动开发与 AI 协作:Spec 先行的工作流 | 操作指南 | P1 | 32-规格驱动开发与AI协作 |
| B34 | 动态化与热更新 | 解释 | P3 | 34-动态化与热更新 |
| B38 | 埋点与行为分析 | 操作指南 | P1 | 38-埋点与行为分析 |
| B43 | 多包工程与 Melos | 操作指南 | P2 | 43-多包工程与Melos |
二、待写(⬜)
暂无。
本域主体(00~43)已完整,暂无新增计划。后续新主题按项目实际需要追加,编号从
B44起。⚠️ 2026-09-30 体检修正:
B32/B33两篇此前已写完,但漏了登记(config 导航、域 README 清单、本表), 且B32被「动态化与热更新」占位导致 ID 冲突——该主题顺延为B34。详见 AUDIT.md。
三、待翻新(🔄)
暂无。
⚠️ 本项目文档引用了大量
文件:行号(如main.dart:210-257)。 按 GUIDE.md「防止文档腐化」,每季度抽查一次引用有效性,失效的转入本表。
四、本域的配套形态区
| ID | 类型 | 文件 |
|---|---|---|
SB01 | 速查 | 01 · Flutter — Widget 对照、布局报错、生命周期、常用命令 |
SB02 | 速查 | 02 · Dart — 语法糖、集合操作、异步 API、空安全 |
SB03 | 速查 | 06 · Riverpod — provider 选择、watch/read/listen、AsyncValue、family、select、常见报错 |
SB04 | 速查 | 07 · GoRouter — go/push/replace、命名路由与参数、ShellRoute、重定向守卫 |
SB05 | 速查 | 08 · Freezed 与 build_runner — 模型模板、联合类型 when、@Default/@JsonKey、生成命令 |
TB01 | 踩坑 | Flutter 构建与打包 |
TB02 | 踩坑 | Flutter 运行时 |
TB03 | 踩坑 | 原生与真机 |
TB04 | 踩坑 | 工具链 |
踩坑区 待补充清单: build_runner 冲突场景 · iOS 证书失败 · Add-to-App 集成期构建错误 · Riverpod 疑难 bug · 列表性能实例 · 真机与模拟器差异案例