商品详情
书名:有趣的Flutter:从0到*构建跨平台App
定*:99.8
ISBN:9787**5576507
作者:任宇杰等
版次:第1版
出版时间:2022-0*
内容提要:
本书通过*个实际的Flutter App,为大家介绍Flutter相关的知识。书中*先介绍了Flutter的环境配置、各种IDE的工具配置以及怎样运行*个最简单的Flutter 程序。然后介绍了Dart语言的*些基本概念。接着利用Flutter基本的容器组件、图片组件以及布局组件,教读者*建*个简单的待办事项应用的原型界面,并介绍Flutter UI的布局思路以及原理。最后,介绍如何通过更加复杂的组件的*同组合,让待办事项应用识别复杂的手势以及在*妙的动画和页面之间完成路由跳转。
作者简介:
任宇杰 移动*,在利用 Flutter 构建跨端容器方面有比较深入的研究。 *志宇 移动*,具有多年跨端容器开发经验。 魏*梁 移动*,在 Flutter 底层以及利用Flutter 进行自绘引擎建设上有比较深入的研究。 臧成威 移动*,经历了从 iOS 5 *今的各个时代,对客户端研发模式、多语言范式有着较深的理解。他是 Flutter 的*批尝鲜者,对 Flutter 底层应用和自绘有着深入的研究。
目录:
第 **分 Flutter 的基础知识
第 *章 Flutter 概述 2
*.* Flutter 的横空出世 2
*.*.* Flutter 的前身——Sky 2
*.*.2 Flutter 版本的历史 2
*.2 Flutter 的技术亮点 4
*.2.* 跨平台的*美设计 4
*.2.2 跨平台的*生产力 6
*.2.3 跨平台的*效表现 7
*.2.4 可扩展的开放平台 7
*.3 小结 8
第 2章 Dart 语言概述 9
2.* 基本数据类型 9
2.*.* 数字 9
2.*.2 字符串 *0
2.*.3 布尔 *0
2.*.4 列表 *0
2.*.5 集合 **
2.*.6 映射 **
2.2 函数 *2
2.2.* 声明 *2
2.2.2 参数 *2
2.2.3 闭* *3
2.2.4 main 函数 *4
2.2.5 匿名函数 *4
2.3 流程控制 *4
2.3.* 利用 if 来判断 *5
2.3.2 利用 for/while 来循环 *5
2.3.3 利用 switch 来选择 *6
2.4 异常处理 *6
2.4.* 抛出异常 *6
2.4.2 捕获异常 *7
2.4.3 使用 finally *证代码*定被执行 *7
2.5 类 *8
2.5.* 类的成员变量 *8
2.5.2 类的构造方法 *9
2.5.3 使用 getter 和 setter 20
2.5.4 继承 20
2.5.5 抽象机制与抽象类 2*
2.5.6 隐式接口 2*
2.5.7 继承之外的另*种选择:mixin 22
2.6 泛型 23
2.6.* 泛型与类型* 23
2.6.2 在定义中使用泛型 24
2.6.3 在函数中使用泛型 24
2.6.4 限定泛型的类型 25
2.7 异步 25
2.7.* 什么是异步 25
2.7.2 Future 对象与 async/await 关键字 25
2.7.3 使用 async for 处理 Stream 对象 26
2.8 引入外*代码 27
2.8.* 利用 import 关键字引入其他框架中的代码 27
2.8.2 利用 as 关键字*止外*框架冲突 27
2.9 小结 28
第3章 环境搭建 29
3.* 在 Windows 系统搭建环境 29
3.*.* 下载开发工具 Android Studio 29
3.*.2 搭建 Android 开发环境 3*
3.*.3 安装 Flutter SDK 34
3.2 在 Mac 系统搭建环境 35
3.2.* 下载开发工具 Android Studio 35
3.2.2 搭建 Android 开发环境 36
3.2.3 搭建 iOS 开发环境 37
3.2.4 安装 Flutter SDK 39
3.3 小结 39
第4章 着手做第 *个 Flutter 程序 40
4.* 第 *个 Flutter 项目 40
4.2 Flutter 项目的文件结构 42
4.3 小结 43
第5章 调试工具 44
5.* 如何使用断点 44
5.*.* 普通断点与条件断点 44
5.*.2 step in 和 step over 46
5.2 HotReload 和 HotRestart 46
5.2.* 使用 HotReload 加快 UI 开发 47
5.2.2 理解 HotRestart 47
5.3 使用 Android Studio 中的 DevTools 47
5.3.* 使用 Flutter Inspector 查看 UI 结构 48
5.3.2 使用 Flutter Outline 查看代码结构 50
5.4 小结 50
第6章 Widget 概述 5*
6.* Widget 的概述 5*
6.*.* 文本展示:Text 组件 52
6.*.2 文本输入:TextField 组件 57
6.*.3 图片展示:Image 组件 58
6.*.4 处理*:Button 组件 60
6.2 利用 Widget 实现布局 62
6.2.* 布局容器:Container 62
6.2.2 弹性盒子布局:Flex、Row、Column 和 Expanded 64
6.2.3 流式布局:Wrap 和 Flow 72
6.2.4 层叠布局:Stack 和 Position 76
6.3 滚动布局 78
6.3.* 单列内容滚动:ListView 78
6.3.2 展示多列内容:GridView 83
6.4 Material 与 Cupertino 89
6.4.* 通用样式 Widget *览 89
6.4.2 Material 的*有样式 Widget *览 9*
6.4.3 Cupertino 的*有样式 Widget *览 93
6.5 小结 94
第二*分 动手做*个待办事项应用
第7章 我们要做*个什么样的应用 96
7.* 页面*览 96
7.2 整体技术点*览 *00
第8章 第 *个页面——“登录”页面 *02
8.* 搭建 UI 框架 *03
8.*.* *建登录页面文件 *03
8.*.2 搭建整体结构 *04
8.*.3 布局文本框组件 *06
8.*.4 继续完善细节 *09
8.2 填充组件 **3
8.2.* 填充图片组件 **3
8.2.2 填充邮箱和密码输入框 **7
8.2.3 登录按钮与注册提示按钮 **7
8.3 为页面增加本地逻辑 *23
8.3.* 处理键盘遮挡问题 *23
8.3.2 处理焦点 *3*
8.3.3 为文本输入框增加校验逻辑 *36
8.4 小结 *38
第9章 跳转到第二个页面 *39
9.* 简单的页面跳转 *39
9.*.* Navigator 初探:简单的路由跳转 *40
9.*.2 Navigator 再探:命名路由 *43
9.*.3 Navigator *探:路由传参 *44
9.2 为页面跳转添加自定义的过渡效果 *46
9.2.* 实现渐变的页面过渡 *46
9.2.2 了解页面过渡的原理 *47
9.3 完善我们的“注册”页面 *50
9.3.* 处理 “注册”页面中的用户头像 *5*
9.3.2 处理“登录”页面与“注册”页面之间的跳转逻辑 *55
9.4 小结 *56
第 *0章 待办事项应用的灵魂——“列表”页面 *57
*0.* 构建带有 BottomNavigationBar 的页面 *57
*0.*.* *建 BottomNavigationBar *58
*0.*.2 使用 StatefulWidget 完成页面转换 *63
*0.*.3 用正确的方式构建 body *65
*0.2 使用 ListView 构建页面 *69
*0.2.* 准备数据 *69
*0.2.2 用 ListView 展示待办事项 *73
*0.3 为 ListView 增加简单的事件交互 *78
*0.3.* 为待办事项添加事件回调 *78
*0.3.2 添加事件回调的具体逻辑 *80
*0.3.3 完善列表的排序功能 *83
*0.4 小结 *86
第 **章 添加、编辑、查看 TODO——待办事项编辑页 *87
**.* 构建简单的表单页面 *87
**.*.* 搭建页面框架 *87
**.*.2 封装带有标题的 LabelGroup 组件 *89
**.*.3 构建待办事项的标题和描述文本框 *9*
**.2 构建较为复杂的日期选择器组件和时间选择器 *95
**.2.* 了解 DatePicker 和 TimePicker *96
**.2.2 封装日期选择器和时间选择器 *98
**.2.3 构建日期选择器和时间选择器 200
**.3 构建*先级展示框 204
**.3.* 实现*先级展示框 204
**.3.2 实现*先级弹出菜单 206
**.4 完善表单细节内容 209
**.4.* 完善表单中的细节内容 209
**.4.2 将新*建的待办事项添加到列表中 2*0
**.5 小结 2*3
第 *2章 让我们的应用更加* 2*4
*2.* 了解 Flutter 中的动画 2*4
*2.*.* Animation 类 2*4
*2.*.2 AnimationController 类 2*6
*2.*.3 CurvedAnimation 类 2*7
*2.*.4 Tween 类 2*8
*2.2 动手为我们的待办事项应用增加动画 2*9
*2.2.* 为“登录”页面增加动画 2*9
*2.2.2 使用 AnimatedWidget 封装动画 22*
*2.2.3 为登录 Logo 增加 Hero 动画 224
*2.2.4 为“列表”页面增加动画 23*
*2.3 利用 PlatformChannel 实现定位功能 234
*2.3.* 了解 PlatformChannel 的基本模式 234
*2.3.2 使用 PlatformChannel 写 Dart 端代码 235
*2.3.3 使用 PlatformChannel 编写 Android 端代码 239
*2.3.4 使用 PlatformChannel 编写 iOS 端的代码 240
*2.4 利用 PlatformView 实现地址详情功能 24*
*2.4.* 了解 PlatformView 的基本模式 24*
*2.4.2 在 Dart 端使用 PlatformView 242
*2.4.3 在 Android 端注册 PlatformView 245
*2.4.4 在 iOS 端注册 PlatformView 246
*2.5 使用封装好的 PlatformView 构建隐私策略页面 248
*2.5.* 引入 webview_flutter 249
*2.5.2 使用 webview_flutter 249
*2.6 小结 25*
第 *3章 为我们的待办事项应用增加完整的处理逻辑 252
*3.* 完成多页面之间的数据共享 252
*3.*.* 利用公共父页面共享数据 252
*3.*.2 同步数据变化 254
*3.2 为“登录”页面和“注册”页面增加网络请求 257
*3.2.* HTTP 的基础知识 258
*3.2.2 利用我们提供的服务器完成网络请求 259
*3.2.3 使用 http 模块发送网络请求 260
*3.3 将数据缓存在本地 266
*3.3.* *存登录状态 266
*3.3.2 *存列表信息 269
*3.4 将本地数据上传到网络 274
*3.4.* 将数据上传到服务器 274
*3.4.2 从服务器获取数据 277
*3.5 小结 28*
第 *4章 是时候发布啦 282
*4.* 发布应用前需要了解的*些基础知识 282
*4.2 发布 Android 应用 283
*4.2.* 在各个平台注册*账号 283
*4.2.2 发布前检查 283
*4.2.3 修改 Icon 284
*4.2.4 配置应用发布签名 286
*4.3 发布 iOS 应用 290
*4.3.* 加入苹果公司的*计划 290
*4.3.2 发布前检查 290
*4.3.3 更改 Icon 和启动图 29*
*4.3.4 *建应用的归档 293
*4.3.5 将应用发布到 App Store 295
*4.4 小结 295
第三*分 Flutter 的扩展功能
第 *5章 深入理解状态管理 298
*5.* 状态管理的理论知识 298
*5.*.* 什么是状态管理 298
*5.*.2 Flutter 中的状态管理 300
*5.2 状态管理的代码实现 30*
*5.2.* 了解如何使用 InheritedWidget 30*
*5.2.2 InheritedWidget 的原理 303
*5.2.3 使用 Provider *完成状态管理 306
*5.3 小结 308
第 *6章 你*能*的*秀工具 309
*6.* 代码静态分析 309
*6.*.* 了解 IDE 中的 Dart Analysis 309
*6.*.2 了解 Dart Analysis 的配置规则 3*0
*6.2 代码格式化 3*2
*6.3 Dart DevTools 3*4
*6.3.* 在 IDE 中打开 Dart DevTools 3*4
*6.3.2 使用 Timeline 查看应用的性能损耗 3*6
*6.3.3 使用 Memory 查看应用的内存占用情况 3*7
*6.4 小结 3*7
第 *7章 在 Flutter 中如何更好地与后台交互 3*8
*7.* 数据处理概览 3*8
*7.*.* 将 JSON 数据解析为 Map 数据 3*8
*7.*.2 手动*建模型类处理 JSON 数据 3*9
*7.2 使用工具生成代码 3*9
*7.2.* 使用 json_serializable 生成代码 3*9
*7.2.2 了解 json_serializable 的更多功能 32*
*7.3 小结 324
第 *8章 编写测试代码 325
*8.* 准备工作 325
*8.*.* 添加依赖 325
*8.*.2 *建测试文件 326
*8.2 单元测试 326
*8.2.* 编写测试代码 326
*8.2.2 使用 Mockito 模拟测试环境 327
*8.2.3 运行单元测试 329
*8.3 Widget 测试 330
*8.3.* 编写测试代码 330
*8.3.2 运行 Widget 测试 332
*8.4 集成测试 332
*8.4.* 添加集成测试的依赖 333
*8.4.2 *建集成测试文件 333
*8.4.3 启动被集成应用 334
*8.4.4 编写集成测试代码 334
*8.4.5 记录性能数据 335
*8.4.6 运行集成测试 336
*8.5 小结 336
第 *9章 性能*化 337
*9.* 性能*化建议 337
*9.*.* 控制 build 方法耗时 337
*9.*.2 控制*效耗时 338
*9.*.3 长列表*化 338
*9.*.4 避*跳帧 338
*9.2 性能分析 339
*9.2.* 通过 profile 模式做性能分析 339
*9.2.2 发现问题 340
*9.2.3 GPU 耗时分析 342
*9.2.4 UI 耗时分析 343
*9.2.5 Widget 重建分析 343
*9.2.6 建立指标 344
*9.3 小结 344
第 20章 Flutter 的历程与未来 345
20.* 回顾 Flutter 的历程 345
20.2 展望 Flutter 的未来 346
20.3 Flutter for Web 347
20.3.* 简述 347
20.3.2 构建环境 348
20.3.3 使用 Web 运行待办事项应用 348
20.3.4 初窥 flutter-web 349
20.4 Flutter For Desktop 35*
20.5 小结 352
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...