| 作者 |
| 郭树煜 |
| 丛书名 |
| 出版社 |
| 电子工业出版社 |
| 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 |