1.一线大厂 BAT 移动发者经验总结; 2.教你从零始构建一个完整的待办事项 App,Android和iOS都适用; 3.阿里宗心、字节跳动袁辉辉、CFUG核心成员王鑫磊倾力推荐。
售 价:¥
纸质售价:¥49.90购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
前言
读者对象
内容概览
代码示例的获取和使用
联系我们
第一部分 Flutter 的基础知识
第 1 章 Flutter 概述
1.1 Flutter 的横空出世
1.1.1 Flutter 的前身——Sky
1.1.2 Flutter 版本的历史
1.2 Flutter 的技术亮点
1.2.1 跨平台的精美设计
1.2.2 跨平台的高生产力
1.2.3 跨平台的高效表现
1.2.4 可扩展的开放平台
1.3 小结
第 2 章 Dart 语言概述
2.1 基本数据类型
2.1.1 数字
2.1.2 字符串
2.1.3 布尔
2.1.4 列表
2.1.5 集合
2.1.6 映射
2.2 函数
2.2.1 声明
2.2.2 参数
2.2.3 闭包
2.2.4 main 函数
2.2.5 匿名函数
2.3 流程控制
2.3.1 利用 if 来判断
2.3.2 利用 for/while 来循环
2.3.3 利用 switch 来选择
2.4 异常处理
2.4.1 抛出异常
2.4.2 捕获异常
2.4.3 使用 finally 保证代码一定被执行
2.5 类
2.5.1 类的成员变量
2.5.2 类的构造方法
2.5.3 使用 getter 和 setter
2.5.4 继承
2.5.5 抽象机制与抽象类
2.5.6 隐式接口
2.5.7 继承之外的另一种选择:mixin
2.6 泛型
2.6.1 泛型与类型安全
2.6.2 在定义中使用泛型
2.6.3 在函数中使用泛型
2.6.4 限定泛型的类型
2.7 异步
2.7.1 什么是异步
2.7.2 Future 对象与 async/await 关键字
2.7.3 使用 async for 处理 Stream 对象
2.8 引入外部代码
2.8.1 利用 import 关键字引入其他框架中的代码
2.8.2 利用 as 关键字防止外部框架冲突
2.9 小结
第 3 章 环境搭建
3.1 在 Windows 系统搭建环境
3.1.1 下载开发工具 Android Studio
3.1.2 搭建 Android 开发环境
3.1.3 安装 Flutter SDK
3.2 在 Mac 系统搭建环境
3.2.1 下载开发工具 Android Studio
3.2.2 搭建 Android 开发环境
3.2.3 搭建 iOS 开发环境
3.2.4 安装 Flutter SDK
3.3 小结
第 4 章 着手做第一个 Flutter 程序
4.1 第一个 Flutter 项目
4.2 Flutter 项目的文件结构
4.3 小结
第 5 章 调试工具
5.1 如何使用断点
5.1.1 普通断点与条件断点
5.1.2 step in 和 step over
5.2 HotReload 和 HotRestart
5.2.1 使用 HotReload 加快 UI 开发
5.2.2 理解 HotRestart
5.3 使用 Android Studio 中的 DevTools
5.3.1 使用 Flutter Inspector 查看 UI 结构
5.3.2 使用 Flutter Outline 查看代码结构
5.4 小结
第 6 章 Widget 概述
6.1 Widget 的概述
6.1.1 文本展示:Text 组件
6.1.2 文本输入:TextField 组件
6.1.3 图片展示:Image 组件
6.1.4 处理点击:Button 组件
6.2 利用 Widget 实现布局
6.2.1 布局容器:Container
6.2.2 弹性盒子布局:Flex、Row、Column 和 Expanded
6.2.3 流式布局:Wrap 和 Flow
6.2.4 层叠布局:Stack 和 Position
6.3 滚动布局
6.3.1 单列内容滚动:ListView
6.3.2 展示多列内容:GridView
6.4 Material 与 Cupertino
6.4.1 通用样式 Widget 一览
6.4.2 Material 的独有样式 Widget 一览
6.4.3 Cupertino 的独有样式 Widget 一览
6.5 小结
第二部分 动手做一个待办事项应用
第 7 章 我们要做一个什么样的应用
7.1 页面一览
7.2 整体技术点一览
第 8 章 第一个页面——“登录”页面
8.1 搭建 UI 框架
8.1.1 创建登录页面文件
8.1.2 搭建整体结构
8.1.3 布局文本框组件
8.1.4 继续完善细节
8.2 填充组件
8.2.1 填充图片组件
8.2.2 填充邮箱和密码输入框
8.2.3 登录按钮与注册提示按钮
8.3 为页面增加本地逻辑
8.3.1 处理键盘遮挡问题
8.3.2 处理焦点
8.3.3 为文本输入框增加校验逻辑
8.4 小结
第 9 章 跳转到第二个页面
9.1 简单的页面跳转
9.1.1 Navigator 初探:简单的路由跳转
9.1.2 Navigator 再探:命名路由
9.1.3 Navigator 终探:路由传参
9.2 为页面跳转添加自定义的过渡效果
9.2.1 实现渐变的页面过渡
9.2.2 了解页面过渡的原理
9.3 完善我们的“注册”页面
9.3.1 处理“注册”页面中的用户头像
9.3.2 处理“登录”页面与“注册”页面之间的跳转逻辑
9.4 小结
第 10 章 待办事项应用的灵魂——“列表”页面
10.1 构建带有 BottomNavigationBar 的页面
10.1.1 创建 BottomNavigationBar
10.1.2 使用 StatefulWidget 完成页面转换
10.1.3 用正确的方式构建 body
10.2 使用 ListView 构建页面
10.2.1 准备数据
10.2.2 用 ListView 展示待办事项
10.3 为 ListView 增加简单的事件交互
10.3.1 为待办事项添加事件回调
10.3.2 添加事件回调的具体逻辑
10.3.3 完善列表的排序功能
10.4 小结
第 11 章 添加、编辑、查看 TODO——待办事项编辑页
11.1 构建简单的表单页面
11.1.1 搭建页面框架
11.1.2 封装带有标题的 LabelGroup 组件
11.1.3 构建待办事项的标题和描述文本框
11.2 构建较为复杂的日期选择器组件和时间选择器
11.2.1 了解 DatePicker 和 TimePicker
11.2.2 封装日期选择器和时间选择器
11.2.3 构建日期选择器和时间选择器
11.3 构建优先级展示框
11.3.1 实现优先级展示框
11.3.2 实现优先级弹出菜单
11.4 完善表单细节内容
11.4.1 完善表单中的细节内容
11.4.2 将新创建的待办事项添加到列表中
11.5 小结
第 12 章 让我们的应用更加完美
12.1 了解 Flutter 中的动画
12.1.1 Animation 类
12.1.2 AnimationController 类
12.1.3 CurvedAnimation 类
12.1.4 Tween 类
12.2 动手为我们的待办事项应用增加动画
12.2.1 为“登录”页面增加动画
12.2.2 使用 AnimatedWidget 封装动画
12.2.3 为登录 Logo 增加 Hero 动画
12.2.4 为“列表”页面增加动画
12.3 利用 PlatformChannel 实现定位功能
12.3.1 了解 PlatformChannel 的基本模式
12.3.2 使用 PlatformChannel 写 Dart 端代码
12.3.3 使用 PlatformChannel 编写 Android 端代码
12.3.4 使用 PlatformChannel 编写 iOS 端的代码
12.4 利用 PlatformView 实现地址详情功能
12.4.1 了解 PlatformView 的基本模式
12.4.2 在 Dart 端使用 PlatformView
12.4.3 在 Android 端注册 PlatformView
12.4.4 在 iOS 端注册 PlatformView
12.5 使用封装好的 PlatformView 构建隐私策略页面
12.5.1 引入 webview_flutter
12.5.2 使用 webview_flutter
12.6 小结
第 13 章 为我们的待办事项应用增加完整的处理逻辑
13.1 完成多页面之间的数据共享
13.1.1 利用公共父页面共享数据
13.1.2 同步数据变化
13.2 为“登录”页面和“注册”页面增加网络请求
13.2.1 HTTP 的基础知识
13.2.2 利用我们提供的服务器完成网络请求
13.2.3 使用 http 模块发送网络请求
13.3 将数据缓存在本地
13.3.1 保存登录状态
13.3.2 保存列表信息
13.4 将本地数据上传到网络
13.4.1 将数据上传到服务器
13.4.2 从服务器获取数据
13.5 小结
第 14 章 是时候发布啦
14.1 发布应用前需要了解的一些基础知识
14.2 发布 Android 应用
14.2.1 在各个平台注册开发者账号
14.2.2 发布前检查
14.2.3 修改 Icon
14.2.4 配置应用发布签名
14.3 发布 iOS 应用
14.3.1 加入苹果公司的开发者计划
14.3.2 发布前检查
14.3.3 更改 Icon 和启动图
14.3.4 创建应用的归档
14.3.5 将应用发布到 App Store
14.4 小结
第三部分 Flutter 的扩展功能
第 15 章 深入理解状态管理
15.1 状态管理的理论知识
15.1.1 什么是状态管理
15.1.2 Flutter 中的状态管理
15.2 状态管理的代码实现
15.2.1 了解如何使用 InheritedWidget
15.2.2 InheritedWidget 的原理
15.2.3 使用 Provider 包完成状态管理
15.3 小结
第 16 章 你不能错过的优秀工具
16.1 代码静态分析
16.1.1 了解 IDE 中的 Dart Analysis
16.1.2 了解 Dart Analysis 的配置规则
16.2 代码格式化
16.3 Dart DevTools
16.3.1 在 IDE 中打开 Dart DevTools
16.3.2 使用 Timeline 查看应用的性能损耗
16.3.3 使用 Memory 查看应用的内存占用情况
16.4 小结
第 17 章 在 Flutter 中如何更好地与后台交互
17.1 数据处理概览
17.1.1 将 JSON 数据解析为 Map 数据
17.1.2 手动创建模型类处理 JSON 数据
17.2 使用工具生成代码
17.2.1 使用 json_serializable 生成代码
17.2.2 了解 json_serializable 的更多功能
17.3 小结
第 18 章 编写测试代码
18.1 准备工作
18.1.1 添加依赖
18.1.2 创建测试文件
18.2 单元测试
18.2.1 编写测试代码
18.2.2 使用 Mockito 模拟测试环境
18.2.3 运行单元测试
18.3 Widget 测试
18.3.1 编写测试代码
18.3.2 运行 Widget 测试
18.4 集成测试
18.4.1 添加集成测试的依赖
18.4.2 创建集成测试文件
18.4.3 启动被集成应用
18.4.4 编写集成测试代码
18.4.5 记录性能数据
18.4.6 运行集成测试
18.5 小结
第 19 章 性能优化
19.1 性能优化建议
19.1.1 控制 build 方法耗时
19.1.2 控制特效耗时
19.1.3 长列表优化
19.1.4 避免跳帧
19.2 性能分析
19.2.1 通过 profile 模式做性能分析
19.2.2 发现问题
19.2.3 GPU 耗时分析
19.2.4 UI 耗时分析
19.2.5 Widget 重建分析
19.2.6 建立指标
19.3 小结
第 20 章 Flutter 的历程与未来
20.1 回顾 Flutter 的历程
20.2 展望 Flutter 的未来
20.3 Flutter for Web
20.3.1 简述
20.3.2 构建环境
20.3.3 使用 Web 运行待办事项应用
20.3.4 初窥 flutter-web
20.4 Flutter For Desktop
20.5 小结
作者简介
看完了
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜