书籍详情
Flutter入门经典
作者:马可·纳波利 著
出版社:清华大学出版社
出版时间:2020-12-01
ISBN:9787302569541
定价:¥118.00
购买这本书可以去
内容简介
主要内容 ● 阐释Flutter的细节,包括开发者可用的所有框架、Widget和工具。 ● 即使你是没有经验的开发新手,也可跨越式前进,在移动软件领域大显身手。 ● 分享Flutter提供的各种快捷的现代方法,使用热重载、富有表现力的灵活UI、快速流畅的动画进行开发。 ● 揭示加快开发应用的诀窍:将用于跨平台应用的所有代码保持在单个代码库中。 ● 本书示例丰富,呈现解决常见问题的多种妙招。
作者简介
Marco L. Napoli是Pixolini有限公司的CEO,也是一位经验丰富的移动端、Web和桌面端应用开发者。他在可视化开发优雅美观且易于使用的系统方面已得到了业内的广泛认可。早在2008年他就编写了自己的s个原生iOS应用。www.pixolini.com上展示了其工作成果和已发布的应用。Marco儿时就迷恋上了计算机。他的父亲注意到了这一点并给他买了一台PC(个人计算机),从那时起他就开始开发软件了。他曾就读于迈阿密大学攻读建筑学学位,但当时他就已经开始经营自己的商业业务了,并在四年后他认定建筑学并不适合自己。他为各种各样的行业开发过系统,其中包括银行业、医疗保健行业、房地产行业、教育行业、货运业、娱乐业等。不久之后,一家业内领先的银行业软件公司收购了他的MLN Enterprises公司。MLN Enterprises公司的主要产品是抵押贷款银行业务软件、运算处理业务软件以及市场营销软件。接下来,他开启了咨询顾问的生涯,并在不久后创建了IdeaBlocks有限公司。该公司的主营业务是软件开发咨询,曾经为一个销售酒店服务软件的客户开发了移动端、桌面端和Web平台,主要产品包括酒店营销软件、餐饮软件、网络空间软件、客户服务软件以及维护软件;这些产品通过云服务器使用Microsoft SQL Server和应用于敏感数据的加密处理进行数据同步。其客户端的用户包括凯悦嘉轩&嘉寓酒店、希尔顿酒店、假日酒店、希尔顿欢朋酒店、万豪酒店、贝斯特韦斯特酒店、丽笙酒店、喜来登酒店、豪生酒店、希尔顿合博套房酒店等。在该公司的合同都完成后,他就关闭了IdeaBlocks。 如今,他将重心放在Pixolini的运营上。Pixolini开发了用于iOS、macOS、Android、Windows以及Web的移动端、桌面端和Web应用。他同时也在Udemy在线教育网站上授课,主要讲解如何使用他开发的一款Web应用来分析房地产投资。他已经开发并在各大应用商店中发布了十几款应用。 “离开了意大利的特浓咖啡卡布奇诺,我就无法写代码了,并且我热爱中国武术。”Marco和妻子Carla共同养育了三个出色的孩子。
目录
目 录
第 I 部分 Flutter编程基础
第1章 Flutter入门 3
1.1 Flutter简介 4
1.2 理解Widget生命周期事件 5
1.2.1 StatelessWidget生命周期 5
1.2.2 StatefulWidget生命周期 6
1.3 理解Widget树和Element树 8
1.3.1 StatelessWidget和Element树 9
1.3.2 StatefulWidget和Element树 10
1.4 安装Flutter SDK 13
1.4.1 在macOS上进行安装 13
1.4.2 在Windows上进行安装 15
1.4.3 在Linux上进行安装 17
1.5 配置Android Studio编辑器 19
1.6 本章小结 20
1.7 本章知识点回顾 20
第2章 创建一个Hello World应用 23
2.1 设置项目 23
2.2 使用热重载 27
2.3 使用主题将应用样式化 30
2.3.1 使用全局应用主题 30
2.3.2 将主题用于应用的局部 32
2.4 理解StatelessWidget和StatefulWidget 34
2.5 使用外部包 36
2.5.1 搜索包 36
2.5.2 使用包 37
2.6 本章小结 38
2.7 本章知识点回顾 38
第3章 学习Dart基础知识 39
3.1 为何使用Dart? 39
3.2 代码注释 40
3.3 运行main()入口点 41
3.4 变量引用 41
3.5 变量声明 42
3.5.1 数字 43
3.5.2 String 43
3.5.3 Boolean 43
3.5.4 List 44
3.5.5 Map 44
3.5.6 Runes 45
3.6 使用运算符 45
3.7 使用流程语句 47
3.7.1 if和else 47
3.7.2 三元运算符 48
3.7.3 for循环 48
3.7.4 while和do-while 49
3.7.5 while和break 50
3.7.6 continue 50
3.7.7 switch和case 51
3.8 使用函数 52
3.9 导入包 53
3.10 使用类 54
3.10.1 类继承 57
3.10.2 类混合 57
3.11 实现异步编程 58
3.12 本章小结 59
3.13 本章知识点回顾 60
第4章 创建一个初学者项目模板 61
4.1 创建和组织文件夹与文件 61
4.2 结构化Widget 64
4.3 本章小结 69
4.4 本章知识点回顾 70
第5章 理解Widget树 71
5.1 Widget介绍 71
5.2 构建完整的Widget树 73
5.3 构建浅层Widget树 80
5.3.1 使用常量进行重构 80
5.3.2 使用方法进行重构 81
5.3.3 使用Widget类进行重构 87
5.4 本章小结 95
5.5 本章知识点回顾 95
第 II 部分 充当媒介的Flutter:具象化一个应用
第6章 使用常用Widget 99
6.1 使用基础Widget 99
6.1.1 SafeArea 103
6.1.2 Container 104
6.1.3 Text 108
6.1.4 RichText 109
6.1.5 Column 111
6.1.6 Row 112
6.1.7 Button 117
6.2 使用图片和图标 129
6.2.1 AssetBundle 129
6.2.2 Image 129
6.2.3 Icon 131
6.3 使用装饰 134
6.4 使用Form Widget验证文本框 139
6.5 检查设备方向 143
6.6 本章小结 150
6.7 本章知识点回顾 150
第7章 为应用添加动画效果 151
7.1 使用AnimatedContainer 151
7.2 使用AnimatedCrossFade 155
7.3 使用AnimatedOpacity 160
7.4 使用AnimationController 164
7.5 本章小结 175
7.6 本章知识点回顾 176
第8章 创建应用的导航 177
8.1 使用Navigator 178
8.2 使用Hero(飞行)动画 189
8.3 使用BottomNavigationBar 194
8.4 使用BottomAppBar 201
8.5 使用TabBar和TabBarView 205
8.6 使用Drawer和ListView 211
8.7 本章小结 221
8.8 本章知识点回顾 222
第9章 创建滚动列表和效果 223
9.1 使用Card 223
9.2 使用ListView和ListTile 225
9.3 使用GridView 232
9.3.1 使用GridView.count 234
9.3.2 使用GridView.extent 235
9.3.3 使用GridView.builder 236
9.4 使用Stack 240
9.5 使用Sliver(薄片)自定义CustomScrollView 247
9.6 本章小结 256
9.7 本章知识点回顾 256
第10章 构建布局 257
10.1 布局的概要视图 257
10.1.1 天气区域布局 259
10.1.2 标签布局 259
10.1.3 页脚图片布局 260
10.1.4 最终布局 260
10.2 创建布局 261
10.3 本章小结 269
10.4 本章知识点回顾 269
第11章 应用交互性 271
11.1 设置GestureDetector:基本处理 271
11.2 实现Draggable和DragTarget Widget 278
11.3 使用GestureDetector检测移动和缩放 282
11.4 使用InkWell和InkResponse手势 293
11.5 使用Dismissible Widget 299
11.6 本章小结 306
11.7 本章知识点回顾 307
第12章 编写平台原生代码 309
12.1 理解平台通道 309
12.2 实现客户端平台通道应用 310
12.3 实现iOS主机端平台通道 315
12.4 实现Android主机端平台通道 319
12.5 本章小结 323
12.6 本章知识点回顾 324
第 III 部分 创建可用于生产环境的应用
第13章 使用本地持久化保存数据 327
13.1 理解JSON格式 328
13.2 使用数据库类来写入、读取和序列化JSON 330
13.3 格式化日期 331
13.4 对日期列表进行排序 332
13.5 使用FutureBuilder检索数据 333
13.6 构建日记应用 335
13.6.1 添加日记数据库类 339
13.6.2 添加日记条目页 345
13.6.3 完成日记主页面 362
13.7 本章小结 377
13.8 本章知识点回顾 378
第14章 添加Firebase和Firestore后端 381
14.1 Firebase和Cloud Firestore是什么? 382
14.1.1 对Cloud Firestore进行结构化和数据建模 383
14.1.2 查看Firebase身份验证能力 385
14.1.3 查看Cloud Firestore安全规则 387
14.2 配置Firebase项目 388
14.3 添加一个Cloud Firestore数据库并实现安全规则 395
14.4 构建客户端日记应用 398
14.4.1 将身份验证和Cloud Firestore包添加到客户端应用 399
14.4.2 为客户端应用添加基础布局 405
14.4.3 为客户端应用添加类 409
14.5 本章小结 412
14.6 本章知识点回顾 413
第15章 为Firestore客户端应用添加状态管理 415
15.1 实现状态管理 416
15.1.1 实现一个抽象类 417
15.1.2 实现InheritedWidget 419
15.1.3 实现模型类 420
15.1.4 实现服务类 421
15.1.5 实现BLoC模式 422
15.1.6 实现StreamController、Stream、Sink和StreamBuilder 423
15.2 构建状态管理 425
15.2.1 添加Journal模型类 427
15.2.2 添加服务类 428
15.2.3 添加Validators类 435
15.2.4 添加BLoC模式 436
15.3 本章小结 455
15.4 本章知识点回顾 455
第16章 为Firestore客户端应用页面添加BLoC 457
16.1 添加登录页 458
16.2 修改主页面 464
16.3 修改主页 468
16.4 添加编辑日记页面 476
16.5 本章小结 489
16.6 本章知识点回顾 490
第 I 部分 Flutter编程基础
第1章 Flutter入门 3
1.1 Flutter简介 4
1.2 理解Widget生命周期事件 5
1.2.1 StatelessWidget生命周期 5
1.2.2 StatefulWidget生命周期 6
1.3 理解Widget树和Element树 8
1.3.1 StatelessWidget和Element树 9
1.3.2 StatefulWidget和Element树 10
1.4 安装Flutter SDK 13
1.4.1 在macOS上进行安装 13
1.4.2 在Windows上进行安装 15
1.4.3 在Linux上进行安装 17
1.5 配置Android Studio编辑器 19
1.6 本章小结 20
1.7 本章知识点回顾 20
第2章 创建一个Hello World应用 23
2.1 设置项目 23
2.2 使用热重载 27
2.3 使用主题将应用样式化 30
2.3.1 使用全局应用主题 30
2.3.2 将主题用于应用的局部 32
2.4 理解StatelessWidget和StatefulWidget 34
2.5 使用外部包 36
2.5.1 搜索包 36
2.5.2 使用包 37
2.6 本章小结 38
2.7 本章知识点回顾 38
第3章 学习Dart基础知识 39
3.1 为何使用Dart? 39
3.2 代码注释 40
3.3 运行main()入口点 41
3.4 变量引用 41
3.5 变量声明 42
3.5.1 数字 43
3.5.2 String 43
3.5.3 Boolean 43
3.5.4 List 44
3.5.5 Map 44
3.5.6 Runes 45
3.6 使用运算符 45
3.7 使用流程语句 47
3.7.1 if和else 47
3.7.2 三元运算符 48
3.7.3 for循环 48
3.7.4 while和do-while 49
3.7.5 while和break 50
3.7.6 continue 50
3.7.7 switch和case 51
3.8 使用函数 52
3.9 导入包 53
3.10 使用类 54
3.10.1 类继承 57
3.10.2 类混合 57
3.11 实现异步编程 58
3.12 本章小结 59
3.13 本章知识点回顾 60
第4章 创建一个初学者项目模板 61
4.1 创建和组织文件夹与文件 61
4.2 结构化Widget 64
4.3 本章小结 69
4.4 本章知识点回顾 70
第5章 理解Widget树 71
5.1 Widget介绍 71
5.2 构建完整的Widget树 73
5.3 构建浅层Widget树 80
5.3.1 使用常量进行重构 80
5.3.2 使用方法进行重构 81
5.3.3 使用Widget类进行重构 87
5.4 本章小结 95
5.5 本章知识点回顾 95
第 II 部分 充当媒介的Flutter:具象化一个应用
第6章 使用常用Widget 99
6.1 使用基础Widget 99
6.1.1 SafeArea 103
6.1.2 Container 104
6.1.3 Text 108
6.1.4 RichText 109
6.1.5 Column 111
6.1.6 Row 112
6.1.7 Button 117
6.2 使用图片和图标 129
6.2.1 AssetBundle 129
6.2.2 Image 129
6.2.3 Icon 131
6.3 使用装饰 134
6.4 使用Form Widget验证文本框 139
6.5 检查设备方向 143
6.6 本章小结 150
6.7 本章知识点回顾 150
第7章 为应用添加动画效果 151
7.1 使用AnimatedContainer 151
7.2 使用AnimatedCrossFade 155
7.3 使用AnimatedOpacity 160
7.4 使用AnimationController 164
7.5 本章小结 175
7.6 本章知识点回顾 176
第8章 创建应用的导航 177
8.1 使用Navigator 178
8.2 使用Hero(飞行)动画 189
8.3 使用BottomNavigationBar 194
8.4 使用BottomAppBar 201
8.5 使用TabBar和TabBarView 205
8.6 使用Drawer和ListView 211
8.7 本章小结 221
8.8 本章知识点回顾 222
第9章 创建滚动列表和效果 223
9.1 使用Card 223
9.2 使用ListView和ListTile 225
9.3 使用GridView 232
9.3.1 使用GridView.count 234
9.3.2 使用GridView.extent 235
9.3.3 使用GridView.builder 236
9.4 使用Stack 240
9.5 使用Sliver(薄片)自定义CustomScrollView 247
9.6 本章小结 256
9.7 本章知识点回顾 256
第10章 构建布局 257
10.1 布局的概要视图 257
10.1.1 天气区域布局 259
10.1.2 标签布局 259
10.1.3 页脚图片布局 260
10.1.4 最终布局 260
10.2 创建布局 261
10.3 本章小结 269
10.4 本章知识点回顾 269
第11章 应用交互性 271
11.1 设置GestureDetector:基本处理 271
11.2 实现Draggable和DragTarget Widget 278
11.3 使用GestureDetector检测移动和缩放 282
11.4 使用InkWell和InkResponse手势 293
11.5 使用Dismissible Widget 299
11.6 本章小结 306
11.7 本章知识点回顾 307
第12章 编写平台原生代码 309
12.1 理解平台通道 309
12.2 实现客户端平台通道应用 310
12.3 实现iOS主机端平台通道 315
12.4 实现Android主机端平台通道 319
12.5 本章小结 323
12.6 本章知识点回顾 324
第 III 部分 创建可用于生产环境的应用
第13章 使用本地持久化保存数据 327
13.1 理解JSON格式 328
13.2 使用数据库类来写入、读取和序列化JSON 330
13.3 格式化日期 331
13.4 对日期列表进行排序 332
13.5 使用FutureBuilder检索数据 333
13.6 构建日记应用 335
13.6.1 添加日记数据库类 339
13.6.2 添加日记条目页 345
13.6.3 完成日记主页面 362
13.7 本章小结 377
13.8 本章知识点回顾 378
第14章 添加Firebase和Firestore后端 381
14.1 Firebase和Cloud Firestore是什么? 382
14.1.1 对Cloud Firestore进行结构化和数据建模 383
14.1.2 查看Firebase身份验证能力 385
14.1.3 查看Cloud Firestore安全规则 387
14.2 配置Firebase项目 388
14.3 添加一个Cloud Firestore数据库并实现安全规则 395
14.4 构建客户端日记应用 398
14.4.1 将身份验证和Cloud Firestore包添加到客户端应用 399
14.4.2 为客户端应用添加基础布局 405
14.4.3 为客户端应用添加类 409
14.5 本章小结 412
14.6 本章知识点回顾 413
第15章 为Firestore客户端应用添加状态管理 415
15.1 实现状态管理 416
15.1.1 实现一个抽象类 417
15.1.2 实现InheritedWidget 419
15.1.3 实现模型类 420
15.1.4 实现服务类 421
15.1.5 实现BLoC模式 422
15.1.6 实现StreamController、Stream、Sink和StreamBuilder 423
15.2 构建状态管理 425
15.2.1 添加Journal模型类 427
15.2.2 添加服务类 428
15.2.3 添加Validators类 435
15.2.4 添加BLoC模式 436
15.3 本章小结 455
15.4 本章知识点回顾 455
第16章 为Firestore客户端应用页面添加BLoC 457
16.1 添加登录页 458
16.2 修改主页面 464
16.3 修改主页 468
16.4 添加编辑日记页面 476
16.5 本章小结 489
16.6 本章知识点回顾 490
猜您喜欢