新書推薦:
《
易经今解:释疑·解惑·见微
》
售價:HK$
88.5
《
东欧史(全二册)-“中间地带”的困境
》
售價:HK$
221.8
《
虚拟资本:金融怎样挪用我们的未来
》
售價:HK$
77.3
《
刻意练习不生气
》
售價:HK$
39.2
《
大宋理财:青苗法与王安石的金融帝国(全彩插图本)
》
售價:HK$
109.8
《
安全感是内心长出的盔甲
》
售價:HK$
67.0
《
快人一步:系统性能提高之道
》
售價:HK$
110.9
《
我们为什么会做梦:让梦不再神秘的新科学
》
售價:HK$
77.3
|
編輯推薦: |
1.作为当前*热门的跨平台开发框架之一,Flutter的优势在于非常高的开发效率和跨平台的一致性。
2.本书从Flutter开发的各个方面入手,不仅讲解了Flutter的基本使用方法,还分析了Flutter的设计思想和核心理念。
3.本书涵盖Flutter框架的方方面面,从入门的基础知识、前端开发的利器到前端开发实战。
4.本书能够帮助更多的开发者实现从初级到高级的进阶,建立起完整的Flutter知识体系,对于初次接触Flutter的开发者是很好的入门指南。
5.提供配套源代码。
本书从Flutter开发的各个方面入手,不仅讲解了Flutter的基本使用方法,还分析了Flutter的设计思想和核心理念。通过阅读本书,开发者不但能知其然,还知能其所以然,从而建立起完整的Flutter知识体系。本书可以帮助更多的开发者实现从初级到高级的进阶,希望读者都能从本书中受益。
|
內容簡介: |
本书主要讲述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
|
|