本书由浅入深,带领读者从0基础入门学习Flutter,到深入掌握Flutter进阶技能。以Github APP为实例,完整讲解如何开发APP。助你迅速成为一个高级的Flutter的开发者。
本书由浅入深地介绍了Flutter技术和开发流程,包含大量示例、图片,并含配套示例源码,可帮助读者循序渐进地掌握Flutter开发技术。
本书分为入门篇、进阶篇、实例篇三篇。
●入门篇:讲解Flutter技术的背景和简介、Flutter各种类型的Widget以及如何构建UI。
使读者掌握如何使用Flutter来构建UI。
●进阶篇:讲解Flutter中的事件机制、动画、自定义组件、文件、插件、国际化以及Flutter的核心原理等。
使读者对Flutter整体构建及原理有一个深入的认识。
●实例篇:以GitHub APP为例,把理论转为实际案例,介绍一个完整的Flutter应用的开发。
使开发者全面了解完整的Flutter APP开发流程。
前 言
【第一篇 入门篇】
●第1章 起步 2
1.1 移动开发技术简介 2
1.2 初识Flutter 10
1.3 搭建Flutter开发环境 14
1.4 Dart语言简介 26
●第2章 第一个Flutter应用 36
2.1 计数器应用示例 36
2.2 路由管理 42
2.3 包管理 51
2.4 资源管理 55
2.5 调试Flutter应用 60
2.6 Flutter异常捕获 67
●第3章 基础组件 73
3.1 Widget简介 73
3.2 状态管理 87
3.3 文本及样式 94
3.4 按钮 99
3.5 图片及ICON 102
3.6 单选开关和复选框 109
3.7 输入框及表单 110
3.8 进度指示器 122
●第4章 布局类组件 127
4.1 布局类组件简介 127
4.2 线性布局(Row和Column) 128
4.3 弹性布局(Flex) 133
4.4 流式布局 136
4.5 层叠布局 139
4.6 对齐与相对定位(Align) 141
●第5章 容器类组件 146
5.1 填充(Padding) 146
5.2 尺寸限制类容器 147
5.3 装饰容器(DecoratedBox) 152
5.4 变换(Transform) 153
5.5 Container 156
5.6 Scaffold、AppBar和底部导航 158
5.7 剪裁(Clip) 166
●第6章 可滚动组件 169
6.1 可滚动组件简介 169
6.2 SingleChildScrollView 171
6.3 ListView 172
6.4 GridView 179
6.5 CustomScrollView 184
6.6 滚动监听及控制 187
●第7章 功能型组件 194
7.1 导航返回拦截(WillPopScope) 194
7.2 数据共享(InheritedWidget) 195
7.3 跨组件状态共享(Provider) 200
7.4 颜色和主题 210
7.5 异步UI更新 215
7.6 对话框详解 219
【第二篇 进阶篇】
●第8章 事件处理与通知 242
8.1 原始指针事件处理 242
8.2 手势识别 245
8.3 事件总线 253
8.4 Notification 255
●第9章 动画 261
9.1 Flutter动画简介 261
9.2 动画基本结构及状态监听 265
9.3 自定义路由切换动画 270
9.4 Hero动画 273
9.5 交织动画 275
9.6 通用切换动画组件 278
9.7 动画过渡组件 286
●第10章 自定义组件 297
10.1 自定义组件方法简介 297
10.2 组合现有组件 298
10.3 组合实例:TurnBox 301
10.4 自绘组件(CustomPaint与Canvas) 305
10.5 自绘实例:圆形背景渐变进度条 309
●第11章 文件操作与网络请求 318
11.1 文件操作 318
11.2 通过HttpClient发起HTTP请求 320
11.3 dio HTTP请求库 327
11.4 示例:HTTP分块下载 329
11.5 使用WebSockets 334
11.6 使用Socket API 338
11.7 JSON转Dart Model类 338
●第12章 包与插件 348
12.1 开发Package 348
12.2 插件开发:平台通道简介 352
12.3 开发Flutter插件 355
12.4 插件开发:Android端API实现 357
12.5 插件开发:iOS端API实现 360
12.6 Texture和PlatformView 364
●第13章 国际化 375
13.1 让APP支持多语言 375
13.2 实现Localizations 379
13.3 使用Intl包 381
13.4 国际化中的常见问题 386
●第14章 Flutter核心原理 388
14.1 Flutter UI系统 388
14.2 Element与BuildContext 390
14.3 RenderObject和RenderBox 395
14.4 Flutter运行机制:从启动到显示 403
14.5 图片加载原理与缓存 410
【第三篇 实例篇】
●第15章 一个完整的Flutter应用 422
15.1 GitHub客户端示例 422
15.2 Flutter APP代码结构 423
15.3 Model类定义 424
15.4 全局变量及共享状态 427
15.5 网络请求封装 430
15.6 APP入口及主页 435
15.7 登录页 446
15.8 多语言和多主题 449
参考文献 452
温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录
●内容丰富,基本覆盖了 Flutter 开发常用的功能,结合实例讲解,通俗易懂,是非常不错的Flutter入门中文教材。另外,作者的开源Flutter库也非常好用,值得推荐。
—— 宋飞 腾讯高级工程师
●本书内容全面,由浅入深地介绍Flutter开发相关技术和实现原理。结合丰富、完整的实例,让你快速上手Flutter开发并用于项目开发当中。
—— 郑睿(网名:宇是我)前网易资深安卓开发工程师
●丰富的经验积累,架构设计与开发浑然一体,各行人读之,皆有裨益。
—— Jason 相持科技研发经理
●本书非常适合初学Flutter的开发者与爱好者,作者多角度说明了Dart语言与Flutter的开发优势,从环境搭建到开发一个完整的应用,无论是开发细节,还是框架布局,本书中都有讲解,是一本优秀的中文Flutter实战指导书。
—— Pidbid 网络读者