Flutter开发之旅从南到北 Flutter技术入门与实战web前端开发设计教程书籍Dart语言实战移动开发终端
运费: | ¥ 0.00-20.00 |
商品详情
书名:Flutter 开发之旅从南到北
定价:79.0
ISBN:9787115546371
作者:杨加康
版次:第1版
出版时间:2020-11
内容提要:
本书主要讲述Flutter框架的核心技术。本书共12章,首先介绍了Flutter技术的基础知识、Dart的基础知识以及Flutter中的基础组件等,然后讲述了Flutter中的布局管理、动画管理、手势事件管理、路由管理以及状态管理等核心技术点,*后讨论了Flutter中的网络通信和应用测试并给出了一个完整的案例。本书有助于读者深入理解Flutter 技术的完整知识体系。 本书适合Web前端开发人员、Android开发人员、iOS开发人员、Flutter初学者以及对移动开发感兴趣的人员阅读,也可供相关专业人士参考。
作者简介:
杨加康,移动开发工程师,目前就职于小米,在Android开发与前端开发方面具有丰富的理论基础与实践经验,精通Android系统的体系结构和应用层的开发。他从2018年开始投身Flutter领域,是国内较早使用Flutter与Dart的开发人员。在个人博客与相关技术社区发表过多篇高质量文章并获得较高的关注量,翻译过《物联网项目实战:基于Android Things系统》。个人的微信公众号是“MeandNi”(其中不定期分享Android、Flutter、Java等方面的文章/视频)。
目录:
*1章 认识Flutter 1
1.1 移动开发简史 1
1.2 Flutter的架构 3
1.3 Flutter家族 4
1.3.1 Dart 5
1.3.2 Material Design 6
1.3.3 Fuchsia 7
1.3.4 Flutter Web 7
1.4 *一个应用—计数器 8
1.4.1 创建*一个应用 8
1.4.2 Flutter项目的结构 9
1.4.3 计数器应用的实现 10
1.5 原理浅析—3棵重要的树 14
1.6 组件渲染过程简述 16
1.7 小结与心得 18
*2章 Dart入门 19
2.1 “Hello, Dart”程序 19
2.2 重要概念 21
2.2.1 变量和常量 21
2.2.2 数据类型 23
2.2.3 运算符 28
2.2.4 流程控制 30
2.2.5 函数 34
2.2.6 注释 37
2.3 面向对象编程 38
2.3.1 类 38
2.3.2 类方法 39
2.3.3 静态变量与方法 40
2.3.4 继承 41
2.3.5 抽象类 43
2.3.6 构造函数 43
2.3.7 枚举类 47
2.4 小结与心得 48
第3章 一切皆为组件 49
3.1 有状态组件与无状态组件以及
相关函数 49
3.1.1 有状态组件和无状态组件 49
3.1.2 setState()函数 52
3.1.3 initState()函数 53
3.1.4 dispose()函数 53
3.1.5 build()函数 54
3.2 内置的无状态组件 54
3.2.1 Text组件 55
3.2.2 Image组件 58
3.2.3 Icon组件 59
3.2.4 Button组件 60
3.3 内置的有状态组件 62
3.3.1 TextField组件 62
3.3.2 Form组件 66
3.3.3 Switch组件、Checkbox组件和
Radio组件 69
3.4 常用容器组件 73
3.4.1 Container组件 74
3.4.2 Padding组件和Align组件 76
3.5 可滚动组件 77
3.5.1 ListView组件 78
3.5.2 GridView组件 80
3.6 结构化组件 82
3.6.1 Scaffold组件 82
3.6.2 AppBar组件与Drawer组件 86
3.7 根组件—WidgetsApp 93
3.8 元素树 94
3.8.1 不变的组件 94
3.8.2 可变的元素 96
3.8.3 组件的Key对象 97
3.9 小结与心得 101
第4章 布局管理 102
4.1 布局约束 102
4.1.1 盒子协议 103
4.1.2 滑动协议 104
4.2 RenderObject树 105
4.3 布局约束实践 106
4.3.1 单个子组件的布局 106
4.3.2 多个子组件的布局 107
4.3.3 可滚动的布局 112
4.4 内置布局组件 120
4.4.1 线性布局组件 120
4.4.2 Stack布局组件 124
4.4.3 Expanded布局组件 126
4.4.4 Table布局组件 127
4.5 小结与心得 129
第5章 Dart进阶 130
5.1 混入 130
5.2 异步编程 133
5.2.1 事件循环 134
5.2.2 微任务队列 135
5.2.3 事件队列 135
5.2.4 异步函数 138
5.3 泛型 140
5.3.1 限制类型 140
5.3.2 泛型方法 141
5.4 小结与心得 141
第6章 动画管理 142
6.1 动画的4个要素 142
6.1.1 插值器 142
6.1.2 曲线模型 143
6.1.3 TickerProvider 144
6.1.4 Animation类 144
6.2 动画组件 149
6.2.1 内置动画组件 149
6.2.2 AnimatedWidget 151
6.2.3 AnimatedBuilder 153
6.3 隐式动画组件 154
6.3.1 AnimatedContainer组件 155
6.3.2 AnimatedOpacity组件 157
6.3.3 自定义隐式动画组件 158
6.3.4 TweenAnimationBuilder 160
6.4 小结与心得 161
第7章 手势事件管理与画布 163
7.1 手势事件 163
7.1.1 手势探测器 163
7.1.2 拖曳手势 165
7.1.3 缩放手势 169
7.2 手势探测器 170
7.2.1 手势消歧 171
7.2.2 使用手势识别器 172
7.3 指针事件 174
7.4 自定义画布 176
7.4.1 CustomPaint和CustomPainter 176
7.4.2 Canvas对象 178
7.4.3 Path对象 179
7.5 实战:结合画布与手势实现交互式
画布 180
7.6 实战:画布与动画的结合 183
7.7 小结与心得 186
第8章 路由管理 187
8.1 路由 188
8.1.1 组件路由 188
8.1.2 命名路由 190
8.1.3 弹出路由 193
8.2 路由栈 194
8.2.1 栈顶替换 194
8.2.2 栈顶清除 195
8.2.3 嵌套路由 197
8.3 路由动画 201
8.4 路由数据 203
8.4.1 数据传递 203
8.4.2 数据返回 205
8.5 路由监听器 206
8.6 弹窗路由 208
8.7 小结与心得 211
第9章 状态管理 212
9.1 初探状态 212
9.2 统一管理—InheritedWidget 214
9.2.1 数据仓库 215
9.2.2 子组件注册 218
9.2.3 状态更新 220
9.2.4 ScopeModel 221
9.3 局部更新—BLoC 223
9.3.1 流 223
9.3.2 实现BLoC 225
9.3.3 提供BLoC实例 229
9.4 化繁为简—provider库 232
9.5 小结与心得 235
*10章 数据存储与通信 236
10.1 数据持久化 236
10.1.1 读写文件 237
10.1.2 存储键值对 241
10.1.3 数据库 242
10.2 网络通信 249
10.2.1 http库 250
10.2.2 JSON 252
10.3 小结与心得 258
*11章 应用测试 259
11.1 单元测试 259
11.2 模拟请求 262
11.3 组件测试 264
11.3.1 查找组件 266
11.3.2 模拟用户与组件的交互 267
11.4 驱动测试 270
11.4.1 列表滚动 274
11.4.2 性能跟踪 274
11.5 小结与心得 277
*12章 完整案例 278
12.1 应用数据 279
12.2 主题样式 280
12.3 路由管理 284
12.4 状态管理方案 285
12.5 登录页面 289
12.6 商城首页 294
12.6.1 商城首页的幕布组件 298
12.6.2 商城首页的菜单组件 305
12.6.3 商城首页的商品展示 307
12.6.4 商城首页的购物车 309
12.7 搜索页面 316
12.8 结束语 321
附录A 搭建Flutter开发环境 322
附录B 安装Dart SDK 332
附录C Pub包管理器 335
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...