Skip to content

Flutter ​

从一个能运行的页面出发,逐步掌握布局、交互、数据与工程组织,再回到源码理解页面为什么这样更新。

本专题参考 Arcticfox《Flutter 全栈式开发指南》 的章节脉络,按「环境与基础 → UI 与交互 → 进阶实践 → 原理与发布」重新整理。这里提供独立编写的知识笔记和练习;原课程的完整讲解请阅读原站。

阅读约定

先具备 Dart 的类型、空安全、集合、类与异步基础。示例采用空安全语法;运行前用 flutter --version 记录自己的 SDK 版本。原课程部分内容较早,安装方式、平台要求和 API 迁移以各篇附带的官方文档为准。

学习路线 ​

阶段阅读笔记要解决的问题完成标志
01 · 环境与基础环境搭建与 Dart 准备怎样创建、运行和调试项目?在一个目标设备上运行首屏
02 · UI 快速上手页面、控件与布局如何组织页面、滚动列表和资源?完成带搜索栏的笔记列表
03 · 生命周期与状态生命周期与状态管理状态放哪里,何时更新和释放?搜索输入能驱动列表过滤
04 · 交互与导航事件、路由与对话框如何处理表单、跳转和返回结果?详情页编辑后返回结果
05 · 数据实践网络、模型与持久化如何处理加载、失败与本地保存?页面能展示请求结果并重试
06 · 跨平台平台集成与 Web 适配哪些代码能共享,哪些需要适配?验证移动端和 Web 的关键流程
07 · UI 进阶动画与自定义绘制如何选择动画和自定义控件方案?实现进度动画并正确释放资源
08 · 框架原理三棵树与页面更新setState 之后发生了什么?能跟踪一次更新的调用路径
09 · 工程交付测试、性能与发布怎样判断功能正确、性能可用?通过测试并安装 release 产物

初学者按顺序阅读;已有项目经验时,可以从 布局问题、异步状态 或 更新流程 直接进入。

对照参考课程 ​

原课程主题本站整理
环境篇、Flutter 环境搭建环境搭建与 Dart 准备
页面框架、基础控件、容器与布局、布局案例页面、控件与布局
Widget 与生命周期、状态管理生命周期与状态管理
事件与通知、导航栏、路由与对话框、功能控件事件、路由与对话框
资源管理、第三方库、文件与网络、数据持久化页面、控件与布局;网络、模型与持久化
兼容 Web 版、原生能力扩展平台集成与 Web 适配
动画、自定义控件、Canvas、RenderObject动画与自定义绘制
框架实现、启动、页面更新、引擎、事件与路由源码三棵树与页面更新
综合案例、注册登录案例、打包发布下方综合练习;测试、性能与发布

综合练习:个人笔记应用 ​

用同一个小项目串联知识点,比孤立地练习每种控件更容易发现职责边界。

  1. 列表与详情:用 Scaffold、ListView.builder 和详情页呈现笔记;窄屏纵向排列,宽屏限制内容宽度。
  2. 搜索与编辑:输入关键字过滤列表;进入编辑页后保存并返回结果,取消时保留原内容。
  3. 数据与状态:接入笔记接口,区分加载、空数据、成功和错误;让 Repository 负责数据访问。
  4. 本地与平台:保存主题偏好;为原生能力提供 Web 降级方案,验证刷新和浏览器返回。
  5. 交付与复盘:测试搜索、编辑和失败重试;在真机分析滚动与动画,产出可安装或可访问的 release 版本。

需要练习登录时,可增加「表单校验 → 登录请求 → 会话状态 → 退出清理」流程。前端路由根据会话状态切换页面,数据权限仍由服务端校验。

遇到问题从哪里查 ​

现象先检查
黄黑条、无限高度、列表不显示父级约束、Flex 与滚动方向
页面返回后仍触发更新、输入控制器泄漏mounted 与资源所有权
页面重建就重复请求、旧结果覆盖新结果Future 的创建位置与请求竞态
Web 编译失败或插件不可用平台隔离与兼容性检查
动画卡顿、重绘范围过大按构建、布局、绘制定位性能

参考资料 ​

持续记录,持续理解。