描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302657774丛书名: 计算机科学与技术丛书
本书是一本全面介绍Flutter跨平台框架的书籍,主要分为入门,进阶和实战三部分,细分为13章。入门篇包括背景知识、环境搭建、基础语法、组件和API等;进阶篇包括网络通信、第三方插件、热更新和应用打包发布等;实战篇则是一个综合的开发案例,让读者快速的上手项目开发。每个阶段的知识都是层层深入且环环相扣的,能够帮助读者对Flutter框架的原理与应用有一个全面的认识。
本书适合具有一定Android/iOS原生开发基础的一线APP开发工程师、大中专院校相关专业师生、培训班学员学习,可用于夯实基础,提Flutter开发实战技能。
本书是一本全面介绍Flutter跨平台框架的书籍,主要分为入门,进阶和实战三部分,细分为13章。入门篇包括背景知识、环境搭建、基础语法、组件和API等;进阶篇包括网络通信、第三方插件、热更新和应用打包发布等;实战篇则是一个综合的开发案例,让读者快速的上手项目开发。每个阶段的知识都是层层深入且环环相扣的,能够帮助读者对Flutter框架的原理与应用有一个全面的认识。
本书适合具有一定Android/iOS原生开发基础的一线APP开发工程师、大中专院校相关专业师生、培训班学员学习,可用于夯实基础,提Flutter开发实战技能。
第1章 初识Flutter1
1.1 Flutter简介 1
1.1.1 Flutter诞生历史2
1.1.2 Flutter优势2
1.1.3 Flutter版本3
1.2 Flutter框架 4
1.2.1 Flutter Framework4
1.2.2 Flutter Engine5
1.2.3 Flutter Embedder5
第2章 Flutter快速上手6
2.1 Flutter环境搭建 6
2.1.1 Android环境6
2.1.2 iOS环境8
2.1.3 获取Flutter SDK9
2.2 开发工具 10
2.2.1 VS Code10
2.2.2 Android Studio11
2.3 Flutter项目示例 12
2.3.1 初始化项目13
2.3.2 项目结构14
2.3.3 运行项目14
2.3.4 程序调试15
2.3.5 体验热重载16
2.3.6 包管理17
2.4 习题 19
第3章 Dart语言基础20
3.1 Dart入门 20
3.1.1 安装Dart SDK20
3.1.2 编写Hello World21
3.2 变量与常量 21
3.2.1 变量21
3.2.2 常量22
3.3 内置类型 22
3.3.1 数值类型22
3.3.2 字符串类型23
3.3.3 布尔类型23
3.3.4 数组23
3.3.5 集合24
3.3.6 Map24
3.3.7 Runes25
3.3.8 Symbols25
3.4 函数 25
3.4.1 参数26
3.4.2 main()函数26
3.4.3 匿名函数26
3.4.4 闭包函数27
3.4.5 返回值27
3.5 类 28
3.5.1 类的成员28
3.5.2 构造函数28
3.5.3 接口与抽象类29
3.6 空安全 29
3.6.1 启用空安全29
3.6.2 空和非空30
3.6.3 空断言操作符30
3.6.4 类型提升30
3.6.5 late关键字31
3.7 异步编程 31
3.7.1 同步和异步编程31
3.7.2 Isolate32
3.7.3 Future33
3.7.4 async/await34
3.7.5 Stream35
3.8 异常 37
3.9 习题 38
第4章 Flutter组件40
4.1 计数器应用 40
4.2 组件基础知识 41
4.2.1 Widget简介41
4.2.2 StatelessWidget42
4.2.3 StatefulWidget43
4.2.4 MaterialApp45
4.2.5 State45
4.3 容器组件 47
4.3.1 Container47
4.3.2 Scaffold49
4.3.3 DecoratedBox50
4.4 功能组件 52
4.4.1 Text52
4.4.2 Button53
4.4.3 TextField54
4.4.4 Image56
4.5 布局开发 58
4.5.1 布局模型与约束58
4.5.2 线性布局59
4.5.3 弹性布局60
4.5.4 流式布局61
4.5.5 层叠布局64
4.6 可滚动组件 66
4.6.1 Sliver布局模型66
4.6.2 SingleChildScrollView67
4.6.3 ListView68
4.6.4 滚动监听70
4.6.5 PageView73
4.6.6 CustomScrollView75
4.7 习题 78
第5章 事件处理79
5.1 指针事件 79
5.1.1 基本概念79
5.1.2 Listener组件80
5.1.3 忽略指针事件81
5.2 手势识别 81
5.2.1 基本概念81
5.2.2 常用事件82
5.2.3 手势识别器83
5.3 手势竞争与手势冲突 86
5.3.1 手势竞争86
5.3.2 手势冲突87
5.4 事件总线 89
5.5 习题 92
第6章 动画93
6.1 动画基础 93
6.2 动画API 94
6.2.1 Animation94
6.2.2 AnimationController95
6.2.3 Curve95
6.2.4 Tween96
6.2.5 综合示例97
6.3 Hero动画 99
6.4 交织动画 100
6.5 Rive动画 103
6.6 习题 108
第7章 路由与导航110
7.1 路由基础 110
7.1.1 基本概念110
7.1.2 路由使用111
7.1.3 命名路由112
7.1.4 路由传参113
7.1.5 路由嵌套115
7.2 路由栈管理 116
7.2.1 路由栈简介116
7.2.2 pushReplacement117
7.2.3 pushAndRemove-Until117
7.2.4 popUntil118
7.3 自定义路由 119
7.3.1 自定义路由动画119
7.3.2 Fluro120
7.4 习题 123
第8章 网络编程124
8.1 网络基础 124
8.1.1 HTTP124
8.1.2 HTTPS126
8.1.3 GET与POST127
8.2 网络请求 128
8.2.1 HttpClient128
8.2.2 http129
8.2.3 dio130
8.3 JSON解析 133
8.3.1 手动解析133
8.3.2 自动解析135
8.4 异步编程 137
8.4.1 事件循环137
8.4.2 Isolate139
8.4.3 线程管理143
8.4.4 事件流145
8.4.5 FutrueBuilder146
8.5 习题 148
第9章 数据存储149
9.1 SharedPreterences存储 149
9.1.1 基本操作149
9.1.2 综合示例150
9.2 SQLite存储 152
9.2.1 基本操作152
9.2.2 数据库工具类157
9.2.3 综合示例159
9.3 文件存储 161
9.3.1 基本概念161
9.3.2 文件操作工具类163
9.3.3 综合示例164
9.4 习题 168
第10章 主题与国际化169
10.1 应用主题 169
10.1.1 Theme与ThemeData169
10.1.2 全局主题170
10.1.3 局部主题171
10.1.4 主题换肤172
10.2 多语言支持 174
10.2.1 支持国际化174
10.2.2 自定义Delegate176
10.3 Intl国际化 178
10.3.1 安装Intl插件178
10.3.2 创建语言文件179
10.3.3 实现国际化180
10.4 习题 181
第11章 混合开发182
11.1 混合开发简介 182
11.2 集成Flutter 183
11.2.1 Flutter模块183
11.2.2 原生Android集成Flutter184
11.2.3 原生iOS集成Flutter186
11.2.4 热重载与调试190
11.3 与原生平台通信 191
11.3.1 混合工程通信191
11.3.2 BasicMessage-Channel192
11.3.3 MethodChannel195
11.3.4 EventChannel198
11.4 混合路由栈管理 201
11.4.1 混合路由导航201
11.4.2 原生导航到Flutter202
11.4.3 Flutter导航到原生203
11.5 FlutterBoost 206
11.5.1 FlutterBoost简介206
11.5.2 原生Android集成FlutterBoost206
11.5.3 原生iOS集成FlutterBoost209
11.5.4 路由API211
11.5.5 生命周期函数213
11.6 Flutter插件开发 214
11.6.1 新建插件项目214
11.6.2 示例插件215
11.6.3 插件开发217
11.6.4 运行插件221
11.6.5 发布插件221
11.7 习题 222
第12章 Flutter Web224
12.1 Flutter Web简介 224
12.2 Flutter Web实战 226
12.2.1 项目创建与运行226
12.2.2 调试项目226
12.2.3 打包与部署228
12.3 Flutter Desk实战 230
12.3.1 Flutter Desk简介230
12.3.2 Flutter Desk实战231
12.3.3 Flutter Desk打包232
12.4 Fair动态化 235
12.4.1 Fair简介235
12.4.2 接入Fair236
12.4.3 热更新体验237
12.4.4 热更新平台239
12.4.5 热更新API242
12.4.6 Fair原理244
12.5 习题 246
第13章 书旗小说应用实战247
13.1 项目背景 247
13.2 项目搭建 248
13.2.1 创建项目248
13.2.2 构建主框架249
13.2.3 网络请求251
13.2.4 网页组件251
13.2.5 接入tts253
13.3 书架 254
13.3.1 阅读记录254
13.3.2 我的书架255
13.3.3 书架管理257
13.3.4 确认弹框260
13.3.5 推荐图书列表262
13.4 图书搜索 263
13.5 书城 266
13.5.1 书城分类266
13.5.2 轮播图267
13.5.3 图书分类268
13.6 图书详情 270
13.6.1 图书简介270
13.6.2 图书章节271
13.6.3 书友评论272
13.6.4 发布评论274
13.7 阅读器开发 274
13.7.1 创建操作栏274
13.7.2 阅读器翻页276
13.7.3 下拉菜单276
13.7.4 黑白模式277
13.8 性能分析与优化 279
13.8.1 检测工具279
13.8.2 GPU问题分析281
13.8.3 UI问题分析283
13.8.4 布局优化284
13.8.5 内存优化285
第14章 打包与发布286
14.1 应用配置 286
14.1.1 配置启动页286
14.1.2 更改默认配置288
14.2 Android发布 289
14.2.1 创建签名文件289
14.2.2 制作签名包291
14.3 iOS发布 291
14.3.1 加入苹果开发者计划291
14.3.2 添加证书配置292
14.3.3 注册App ID294
14.3.4 使用Xcode打包294
14.3.5 发布iOS包297
众所周知,传统的原生Android、iOS开发技术虽然比较成熟,但多端重复开发和开发效率低下也是很多企业不愿意接受的,而不断崛起的跨平台技术让企业看到了希望,“一次编写,处处运行”不再是难以企及的目标。
作为Google开源的一套跨平台开发框架,Flutter既支持移动应用开发,又支持Web、桌面和嵌入式平台应用的开发,真正帮助开发者通过一套代码即可高效构建多平台应用。并且,自2018年12月发布Flutter 1.0版本以来,越来越多的公司开始采用Flutter技术进行跨平台移动端应用开发,Flutter也逐渐进入移动应用开发者的视野,越来越多的开发者也逐渐投入Flutter的学习和开发中。
“路漫漫其修远兮,吾将上下而求索”,通过Flutter跨平台技术的学习和本书的写作,我深刻地意识到学无止境的含义。2019年,我出版了第一本Flutter应用开发书籍,正是那时候开始,我一直关注着Flutter技术的发展。多年以来,Flutter进行了多个版本的更新,之前的知识已经过时,升级显得很有必要,于是在2023年我对Flutter知识体系重新进行了梳理并升级,于是有了本书。
本书是一本实战类型的书籍,旨在帮助开发者快速掌握Flutter跨平台开发技术,并将Flutter技术快速地运用到实际项目开发中。同时,本书摒弃了传统软件开发类书籍逐个知识点介绍的编排模式,而采用“案例诠释理论内涵、项目推动实践创新”的编写思路,既讲解项目的实现过程和步骤,又讲解项目实现所需的理论知识和技术,让读者掌握理论知识后会灵活运用,并在新项目开发中拓展创新。相信本书定会对您学习Flutter技术带来帮助和启发。
本书定位为Flutter应用程序开发入门到实战,是一本零基础到项目实战能力提升的技术进阶类图书。基础部分主要介绍的是Flutter框架跨平台开发相关知识,如Flutter框架背景、开发环境搭建、基础组件、布局、跳转和路由、动画、手势识别与事件处理、数据存储与访问、状态管理、HTTP网络请求与服务器端数据的交互等。实战部分则主要介绍的是Flutter工程化开发的相关内容,如混合开发、应用主题、Flutter Web和Desk应用开发、基于Fair的动态化以及Flutter项目实战。
本书以实战为主,理论和实践相结合,通过大量的代码演示和讲解从小项目到一个相对完整的课程项目的实现。期待读者在学习本书之后,能够综合运用各种组件及第三方库,熟练掌握Flutter框架进行软件项目的设计、开发和上线。另外,书中的小说项目案例详细阐述了如何使用Flutter框架进行跨平台移动开发,内容翔实、步骤清晰,为实际软件项目开发工作提供了现实的参考解决方案。
本书特色
(1)侧重基础,循序渐进。
本书涵盖Flutter跨平台开发各方面的基础知识点,并且对知识点和技术要点由浅入深地进行讲解,非常适合初学者。
(2)大量项目实例,内容翔实。
本书在讲解Flutter的各个知识点时,运用了大量的实例并配有运行效果图和源码。读者在自行练习时可以参考源码进行学习。
(3)实例贴近实际开发场景。
本书采用的实例大多贴近实际开发场景,通俗易懂的文字描述也有助于读者理解,项目实战也遵循商业项目的开发流程,最大程度还原商业应用的开发过程。
作者
2024年1月
祁宁 SegmentFault社区CTO
作者这些年分享了很多Flutter跨平台开发方面的优秀文章,本书也是他准备了很久的良心之作。作为跨端开发技术的代表,Flutter不仅性能优异,对开发者也非常友好,如果你想了解、学习这门技术,本书将是你的不二选择。
张垒 阿维塔技术总监
本书全面详细地介绍了Flutter跨平台开发的各个知识结构、生态工具及架构原理方面的内容。作为Flutter官方文档的总结和补充,本书能够给从事前端,特别是Flutter开发的同学带来一定的启发和帮助,是一本不错的提高技能的图书。
张涛 美团外卖技术总监
作为Google推出的跨平台开发技术,Flutter从一诞生就获得了广大企业和开发者的青睐。本书围绕实战这一主题,由浅入深地介绍了Flutter开发的基础知识,并配置了大量的实例,相信阅读完此书后,不管你是移动开发者还是前端开发者都能快速上手Flutter跨平台应用开发。
于佳 阿里巴巴前端架构师
作为国内跨平台开发技术的早起实践者,阿里巴巴已经在各大产品线大量使用Flutter技术。作为一本Flutter跨平台开发的实战教程,本书详尽地介绍了Flutter跨平台开发的方方面面,是前端开发者上手移动开发的实用参考。
吴浩 腾讯QQ前端负责人
作为多年的朋友,作者这些年在跨平台技术方面的成绩是有目共睹的。本书是Flutter实战开发的升级版本,是作者多年Flutter从业经验的一个总结,相信跟随作者的思路,定能给你入手Flutter应用开发带来一些帮助和启发。
张拭心 喜马拉雅FM技术专家、GDE开发专家
这些年,跨平台技术发展得越来越成熟,但是配套的书籍和视频却很匮乏。本书作者深耕一线开发多年,有丰富的实战开发经验。本书写作思路清晰、针对性强、覆盖面广、案例详尽,是前端和移动端开发者提升开发技能、扩展视野的不错选择。
评论
还没有评论。