Flutter开发实战详解

作者
郭树煜
丛书名
出版社
电子工业出版社
ISBN
9787121388422
简要
简介
内容简介书籍计算机书籍 《Flutter 开发实战详解》以实战为导向,由浅入深的介绍了 Flutter 开发过程中的基础体系、实战技巧和源码分析。通过本书读者可以快速掌握 Flutter 的开发技能,并通过实战深入学习 Flutter 的源码设计。同时本书还配套全面的学习例程与完整开源项目,真正做到为读者的 Flutter 旅程披荆斩棘。
目录
第1章 跨平台开发的发展/1

1.1 跨平台开发的演进/2

1.2 Cordova/2

1.3 React Native/3

1.4 Flutter/4

1.5 综合对比/6

1.5.1 开发环境/6

1.5.2 实现原理/7

1.5.3 开发语言/7

1.5.4 界面开发/8

1.5.5 插件开发/11

1.5.6 编译和产物/12

1.5.7 热更新和支持平台/12



第2章 走进Flutter的世界/14

2.1 开发环境/15

2.1.1 前置准备\t15

2.1.2 安装Flutter开发环境/17

2.1.3 配置编辑器/18

2.2 Dart语言/24

2.2.1 基础语法/24

2.2.2 setter/getter/25

2.2.3 final/const/26

2.2.4 import/26

2.2.5 基础数据类型/26

2.2.6 逻辑语句与操作符/29

2.2.7 var与dynamic/31

2.2.8 函数方法/32

2.2.9 类、接口和继承/32

2.2.10 mixins/34

2.2.11 构造方法/36

2.2.12 异常处理/36

2.2.13 Isolate/37

2.2.14 Zone/38

2.2.15 异步执行/39

2.2.16 拓展方法/41

2.3 Flutter控件介绍/42

2.3.1 无状态控件(StatelessWidget)/42

2.3.2 有状态控件(StatefulWidget)/43

2.3.3 Flutter常用控件/45

2.3.4 Flutter页面/50

2.3.5 路由跳转/53

2.4 Flutter常见开发技巧/55

2.4.1 常见的问题处理/55

2.4.2 Widget Key/58

2.4.3 获取状态栏高度和字体缩放/61

2.4.4 状态栏颜色和图标颜色/62

2.4.5 控件圆角裁剪/62

2.4.6 懒加载/64

2.4.7 ChangeNotifier/65



第3章 Flutter的灵魂:Widget/68

3.1 配置文件Widget/69

3.2 大脑仓库Element/71

3.2.1 Element的大脑中枢/72

3.2.2 Element的仓库存储/73

3.2.3 Element的分类/75

3.2.4 Element桥接连通/76

3.3 绘制实例RenderObject/77

3.3.1 RenderObject的子类/77

3.3.2 RenderPadding/80

3.3.3 RenderObject的绘制/83

3.4 渲染图层Layer/86



第4章 Flutter Widget分类对比/90

4.1 Widget的状态分类/91

4.2 Element分类/98

4.3 RenderObject分类/101

4.3.1 RenderBox/102

4.3.2 RenderSliver/104

4.3.3 ViewPort/107

4.4 单元素与多元素分类/122

4.4.1 自定义MultiChildRenderObjectWidget/123

4.4.2 CustomMultiChildLayout/130

4.5 InheritedWidget共享状态/133

4.6 ErrorWidget异常处理/136



第5章 Flutter Framework/138

5.1 线程模型/139

5.2 动画实现/145

5.2.1 路由动画/149

5.2.2 Hero动画/150

5.2.3 Flare动画/153

5.3 手势与触摸/157

5.3.1 事件流程/158

5.3.2 hitTest/159

5.3.3 dispatchEvent/160

5.3.4 事件竞争/161

5.3.5 PointerDownEvent/161

5.3.6 开始竞争/163

5.3.7 滑动事件/165

5.4 滑动Physic/166

5.4.1 ScrollConfiguration/167

5.4.2 ScrollPhysics的工作原理/169

5.4.3 applyPhysicsToUserOffset/171

5.4.4 applyBoundaryConditions/172

5.4.5 createBallisticSimulation/172

5.4.6 Simulation/174

5.5 图片加载/175

5.6 网络请求/188



第6章 Flutter状态管理/190

6.1 Flutter中的状态管理/191

6.2 Stream/193

6.2.1 Stream的简单使用/193

6.2.2 Stream的工作流程\t194

6.2.3 Stream中的同步和异步/197

6.2.4 Stream中的广播和非广播/198

6.2.5 Stream的变换/199

6.2.6 StreamBuilder/199

6.2.7 RxDart/200

6.3 BLoC/201

6.4 scoped_model/204

6.5 flutter_redux/206

6.6 Provider/212

6.7 总结对比/218



第7章 混合开发\t220

7.1 Flutter混合开发/221

7.2 Flutter工程集成原生插件/225

7.2.1 MethodChannel/227

7.2.2 PlatformView/231

7.2.3 新版Android Plugin/242

7.3 原生工程集成Flutter项目/244

7.4 FlutterBoost/249



第8章 Flutter开发实战/253

8.1 Flutter开发中的入口/254

8.1.1 程序入口/254

8.1.2 应用入口/254

8.1.3 页面入口/256

8.2 基础控件/258

8.2.1 TabWidget/258

8.2.2 AppBar/265

8.2.3 下拉刷新和底部加载更多/268

8.2.4 输入框/274

8.2.5 矢量图库/281

8.2.6 自定义绘制/282

8.2.7 Align和Positioned/285

8.2.8 控件小技巧/288

8.3 路由跳转/291

8.4 状态管理/293

8.4.1 BLoC另类的实现/293

8.4.2 redux的拦截处理/296

8.4.3 scoped_model的局部共享数据/299

8.5 网络请求/302

8.5.1 序列化/307

8.5.2 built_value序列化/309

8.6 多语言与主题/310

8.6.1 主题/312

8.6.2 多语言/313

8.7 多环境配置/317

8.8 完整项目实战/320



第9章 调试打包/322

9.1 JIT与AOT/323

9.2 Android打包/324

9.3 iOS打包/326

9.4 Web和PC打包/328

9.5 性能调试/328

9.6 开发工具/332

9.6.1 DartPad/332

9.6.2 Supernova/332

9.6.3 Hot UI/334

9.6.4 Layout Explorer/335



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4