第一章 落地前的勘察:认识 Flutter 与工具链


第一章 · 落地前的勘察

章节摘要:动工之前先看地。本章回答一个问题:把一套 Dart 代码送上多个平台,这条路究竟靠什么走通。我们依次勘察三块地基——Flutter 在跨平台方案版图里的位置与它的真实代价、它"自绘界面"的落地原理(代码变成各端产物后到底发生了什么)、以及写这些代码所需的 Dart 语言切片和工具链。读完本章,你会立起一个能热重载的工程,并且清楚接下来每一章的代码会在哪些端上以什么形态运行。

学习目标

读完本章,你应当能够:

  1. 面对一个新项目,从团队构成、UI 还原度要求、目标平台三个维度判断 Flutter 是否合适,并说出理由;
  2. 用"自绘引擎"解释 Flutter 与 React Native 这类桥接方案在性能与观感上的差别从何而来;
  3. 说清一份 Dart 代码在调试期与发布期分别变成什么形态的产物(JIT 与 AOT 的分工);
  4. 读懂日常业务代码所需的 Dart 核心语法:空安全、final 与 const、类与构造、Future 与 async-await;
  5. 从零跑通 flutter doctor、创建工程、在真机上完成首次热重载;
  6. 知道 DevTools 的入口在哪、能看什么,为第 6 章的性能体检做铺垫。

核心概念速览

一句话立住本章:跨平台框架的胜负手不在"能不能跑",而在"落地时省了多少事、留了多少坑"——勘察就是为了把坑提前看清楚。

子章节导航

01-1 为什么是 Flutter:先算三份代码、三批人马的真实成本,再看 Flutter 用自绘引擎换来了什么、付出了什么。本节给出版图与判断标准,是全书立论的起点。

01-2 落地原理:Dart 如何画成各端界面:拆开"一套代码多端运行"这句话——同一份 Dart 在 Android 上是 arm 机器码、在 Web 上是 JS 与画布,本节讲清这条转化链,以及热重载为什么因此成为可能。

01-3 Dart 最小核心与工具链就位:不为 Dart 学 Dart,只切出写业务必需的语言切片;然后立工程、装工具、跑通热重载,「轻记账」项目正式开工。

子章节之间的逻辑关系

三节是一条"先决策、再懂理、后动手"的链:选型(01-1)决定了要不要往下走,原理(01-2)决定了遇到问题往哪查,工具(01-3)决定了能不能开工。跳过前两节直接写代码也能跑,但后面章节里"为什么掉帧""为什么产物这么大"的答案都埋在这里。

本章知识点清单

以下条目均可自测,答不出的就是没读透的位置:

  • 说出桥接映射与自绘引擎在"界面从哪来"上的分野,以及各自观感与性能的因果;
  • 列出 Flutter 方案的四项固定代价:包体积、平台新特性时差、动态化受限、语言迁移;
  • 解释调试期 JIT 与发布期 AOT 各换来什么能力,Web 端为何是转译特例;
  • 描述宿主壳的三项职责:开窗口、喂事件、交画布;
  • 复述 Dart 空安全的两个操作符语义、final 与 const 的初始化时机差;
  • 现场跑通 flutter doctor 体检,并解释热重载 r 与热重启 R 的状态差别。
[01-1 选型勘察] ──决定了──> [要不要用 Flutter] │ │ v v [01-2 落地原理] ──解释了──> [各端产物形态与性能直觉] │ v [01-3 语言与工具] ──产出──> [可热重载的轻记账工程] ​

前置知识与后续延伸

前置:任意一门面向对象语言的基础(变量、类、函数、异步概念即可),不需要 Dart 经验;做过 Android 或 iOS 更好,但不做也完全能跟上。本章不假设你有移动上架经验。

阅读本章的时间分配建议:01-1 偏决策,适合与技术负责人一起读并当场过一遍选型清单;01-2 偏机制,第一遍只需建立"产物形态与宿主"的画面,细节(如着色器编译)可以在第 2 章遇到对应现象时回读;01-3 偏动手,务必边读边敲,热重载的体感比文字描述重要得多。

延伸:本章的"自绘"结论会在第 2 章展开成完整的渲染管线;01-3 立起的工程将在第 3 章长出第一屏界面;工具链里的 DevTools 与 flutter analyze 会在第 6 章的性能体检和测试防线里反复出场。勘察阶段的判断标准,也将在第 7 章 Web 与桌面落地时被再次检验——移动端的结论到了别的端未必成立,届时你会看到哪些成立、哪些要推翻。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U