猜你喜欢
从零开始学Flutter开发

从零开始学Flutter开发

书籍作者:谭东 ISBN:9787121387135
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:5481
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书针对目前高速发展的Flutter跨平台移动开发技术方案,从零开始深入讲解其中涉及的技术点,内容全面详细。本书共分18章,第1章至第4章主要介绍Flutter入门基础知识,第5章至第7章主要介绍Flutter核心组件和布局相关组件,第8章至第15章主要介绍Flutter进阶知识,第16章至第18章主要介绍Flutter扩展及实战相关内容。本书适合具有一定编程经验的学生、开发者阅读,也适合乐于尝试新技术、渴望不断提升自我的读者参考、学习。

作者简介

谭东,计算机专业硕士,IEEE SPAC 2018最佳论文获得者,CSDN博客专家,《Android开发进阶实战:拓展与提升》作者,国内早期Flutter技术实践者,具有多年编程经验。擅长Java、Node.js、Dart、Flutter、React等多门语言与技术框架,喜欢研究、善于分析总结,编写过多个开源库。

编辑推荐
适读人群 :主要面向有一年及以上编程经验的Flutter学习者,以及想通过技术的更新和学习快速提升扩展自己技能的开发者。

适读人群:具有一定编程经验的学生、开发者,乐于尝试Flutter新技术、渴望不断提升自我的开发者

1.基于Flutter新版本:本书紧紧跟随Google官方对Flutter的更新迭代脚步,以及Flutter的发展趋势组织内容,新颖全面、颇具价值,力求向读者输出更有价值的知识。

2.零基础开发者快速入门:本书所涵盖所有知识点,难易结合,既能帮助零基础读者快速入门,也能为有一定经验的开发者提供进阶之道。

3.案例丰富、实战代码相随:本书讲解知识点时辅以大量实战案例,注释详细,可读性甚高。书中所有案例的完整代码将提供下载地址,让读者获得更好地学习体验。


前言

前言


Flutter是Google推出的新兴跨平台移动开发技术方案,由于其开发效率高,性能优秀,并且有Google的大力支持,因此发展迅速,收获了许多关注。

Flutter不仅前期表现亮眼,其未来规划也值得我们期待。它的目标是实现移动端、Web端、PC端、服务器后端等平台的应用开发,成为真正的高性能、跨平台技术方案。

目前在Google内部,Flutter已被广泛应用于多个产品,比如Google Ads产品的iOS版本和Android版本都使用Flutter开发。全世界也有多家大型公司开始使用Flutter来开发应用,包括Abbey Road Studios、阿里巴巴、Capital One、Groupon、Hamilton、京东、腾讯等。

表现突出的Flutter同样赢得了许多开发者的青睐,很多开发者转型学习Flutter开发。在众多青睐者的努力下,Flutter社区越来越完善。有许多热情的学习者提供了关于Flutter的文档、资源、第三方插件库,Flutter官方也提供了Dart Pub插件库平台来帮助开发者提高开发效率。在GitHub最受欢迎开源软件排行榜中,Flutter排名前20。所以我们有理由相信,Flutter会变得越来越好,它势必成为未来的主流跨平台开发技术方案。

基于此,我想要将自己的实际开发经验和对Flutter开发的心得体会,总结成书,帮助开发者和学习者从零开始,全面、细致地学习Flutter相关技术。这本书从大纲策划,到实际写作,再到后期内容完善,我都十分认真地对待,投入了非常多的心血。本书的内容几乎覆盖了Flutter开发涉及的全部知识点,体现了从零开始学习Flutter开发到进行实战的过程。

衷心希望大家能够认真学习Flutter,因为对于一门新兴的、有前景的技术而言,如果你能成为第一批学习者,那么你将极有可能成为该技术的引领者,实现收获最大化。

很希望通过这本书和大家一起成长、进步,让我们一同期待Flutter更好的未来!


本书内容

本书内容全面,基本涵盖了Flutter开发涉及的所有知识点。全书共分18章,每章的内容简介如下。

第1章 认识Flutter

Flutter是Google公司推出的开源跨平台移动开发技术方案,本章将简单介绍跨平台开发技术,然后围绕Flutter的架构、特点、主流平台和未来展望带领读者全面认识Flutter。

第2章 Dart语言基础

学习一门编程语言,一定要了解它的特性,本章将首先介绍Dart语言的基础知识和特性,然后介绍Dart的数据类型与操作符、流程控制语句、类与方法、异步操作与导入类,为Flutter开发打下坚实的理论基础。

第3章 Flutter开发入门

从本章开始将正式进入Flutter开发环节,本章内容涉及开发环境搭建、项目结构分析、配置文件详解、组件分类,以及创建Flutter应用。

第4章 Flutter开发规范

本章将着重讲解Flutter开发规范,主要内容包括Flutter的项目结构规范、命名规范、代码格式规范、注释规范,以及代码使用规范。

第5章 Flutter常用组件(上)

本章将介绍Flutter中的常用组件。在Flutter中,几乎所有的对象都可以看成组件,组件不单单是UI控件,也具备一些逻辑操作功能。本章将主要介绍文本类组件、图片类组件、导航类组件。

第6章 Flutter常用组件(下)

在上一章内容的基础上,本章将继续介绍Flutter中的表单类组件、列表滚动组件、Dialog组件、表格组件。

第7章 Flutter常用布局组件

在Flutter中,布局也可以看作一个组件。本章将对Flutter常用布局组件中的典型布局组件进行讲解,并结合案例深入实践,内容涉及容器类布局、层叠类布局、线性布局、弹性布局和流式布局等组件。

第8章 Flutter路由与生命周期

在Flutter中,路由负责页面跳转和数据传递,是非常重要的概念。本章将主要讲解Flutter中路由的概念、使用方法,路由跳转的实现,参数传递,按键监听,以及Flutter的生命周期。

第9章 Flutter HTTP网络请求

Flutter中HTTP网络请求的实现方法主要有三种:通过io.dart里的HttpClient实现、通过Dart原生HTTP请求库实现、通过第三方库实现。本章将详细讲解这三种方法的特点和区别,并扩展介绍JSON编解码和WebSocket的使用方法。

第10章 Flutter文件操作与数据库操作

实际开发中离不开文件操作,Flutter也提供了相关的文件操作API,同时支持数据库操作。本章将结合实例介绍Flutter的文件操作、数据库操作,同时介绍Flutter的手势操作。

第11章 Flutter自定义组件与方法封装

在开发过程中,有些需求无法通过现有的Flutter组件实现,这时就要自定义组件。本章将介绍Flutter中自定义组件的几种方式,同时也会讲解Flutter方法的封装。

第12章 Flutter动画的实现

如果想让应用或产品的用户体验变得更好,动画效果是一个很重要的因素。本章将介绍Flutter中动画的基本使用方法和特点,涉及基础动画、Hero动画、交错动画。

第13章 Flutter主题与应用国际化

Flutter中也有“主题”这一概念。国际化可以让应用支持多种语言。本章将主要介绍Flutter中主题的多种实现,以及应用国际化的实现。

第14章 Flutter数据共享与传递

本章将配合实例详细介绍Flutter中数据共享与传递的方法:通过InheritedWidget组件、通过ScopedModel库、通过Redux库、通过EventBus库。同时也会介绍一些与数据交互相关的插件库。

第15章 Flutter与原生API交互及插件库开发

在使用Flutter进行开发的过程中,有时需要编写插件来实现相应的交互功能。本章将介绍Flutter与原生API交互的方法,Flutter插件库开发方法,以及常见插件库的用法,并配合实例详细说明。

第16章 Flutter调试与应用打包发布

在使用不同的开发语言进行开发时,一般都会用到调试功能。Flutter也支持调试和单元测试。本章将介绍在Flutter中进行调试和单元测试的方法,同时介绍Flutter应用打包与发布的流程。

第17章 Flutter拓展:Dart Web

Dart除了可以用于Flutter移动应用开发,还可以用于Web开发。本章将拓展介绍Dart Web相关开发知识,包括Dart Web开发环境搭建、Dart?Web项目的创建与运行等。

第18章 Flutter实战

本章将基于前面章节的内容进行实战:实现一个简易备忘录应用,以及编写一个TV应用。通过这两个示例,读者可以巩固之前学过的知识,高效查缺补漏。


阅读准备

要想运行本书中的示例代码,需要配置和安装如下系统环境和软件。

?操作系统:Windows、macOS、Linux均可。

?Dart环境:建议安装最新稳定版本的Dart SDK。

?Flutter环境:建议安装最新稳定版本的Flutter SDK。

?开发环境:Android Studio或Visual Studio Code均可。


目录

目录

第1章 认识Flutter 1
1.1 跨平台开发技术 1
1.2 一起认识Flutter 3
1.3 Flutter架构与特点 6
1.4 Flutter主流平台 7
1.5 Flutter未来展望 9
第2章 Dart语言基础 12
2.1 认识Dart 12
2.1.1 什么是Dart 12
2.1.2 Dart的特性 13
2.2 Dart的数据类型与操作符 15
2.2.1 Dart中的数据类型 15
2.2.2 Dart中的操作符 22
2.3 Dart的流程控制语句 23
2.4 Dart中的类与方法 26
2.4.1 Dart中的类 27
2.4.2 Dart中的方法 31
2.5 Dart的异步操作与导入类 35
第3章 Flutter开发入门 38
3.1 开发环境搭建 38
3.1.1 Android Studio开发环境的搭建 38
3.1.2 VSCode开发环境的搭建 42
3.1.3 模拟器的新建与调试 43
3.2 项目结构分析 47
3.3 配置文件详解 50
3.4 Flutter组件化 53
3.4.1 架构层级 53
3.4.2 组件分类 55
3.5 创建Flutter应用 57
3.5.1 创建默认应用 57
3.5.2 创建自己的应用 61
第4章 Flutter开发规范 64
4.1 项目结构规范 64
4.2 命名规范 66
4.3 代码格式规范 68
4.4 注释规范 70
4.5 代码使用规范 71
4.5.1 与包导入相关的规范 72
4.5.2 与字符串相关的规范 72
4.5.3 与集合相关的规范 72
4.5.4 与函数相关的规范 74
4.5.5 与异常处理相关的规范 78
4.5.6 与异步任务编程相关的规范 78
4.5.7 与数据转换相关的规范 79
第5章 Flutter常用组件(上) 81
5.1 文本类组件 81
5.1.1 Text组件 81
5.1.2 Button组件 88
5.1.3 TextField组件 93
5.2 图片类组件 98
5.2.1 Image组件 98
5.2.2 Icon组件 108
5.3 导航类组件 111
5.3.1 AppBar组件 111
5.3.2 TabBar组件 116
5.3.3 NavigationBar组件 120
5.3.4 CupertinoTabBar和PageView相关组件 123
第6章 Flutter常用组件(下) 127
6.1 表单类组件 127
6.2 列表滚动组件 133
6.2.1 CustomScrollView组件 133
6.2.2 ListView组件 136
6.2.3 GridView组件 142
6.2.4 ScrollView组件 148
6.2.5 ExpansionPanel组件 150
6.3 Dialog组件 151
6.4 表格组件 155
6.4.1 Table组件 155
6.4.2 DataTable组件 159
6.4.3 PaginatedDataTable组件 162
第7章 Flutter常用布局组件 168
7.1 容器类布局组件 168
7.1.1 Scaffold布局组件 168
7.1.2 Container布局组件 172
7.1.3 Center布局组件 174
7.2 层叠类布局组件 177
7.3 线性布局组件 181
7.3.1 Row布局组件 181
7.3.2 Column布局组件 185
7.4 弹性布局组件 187
7.5 流式布局组件 190
7.5.1 Flow布局组件 190
7.5.2 Wrap布局组件 194
第8章 Flutter路由与生命周期 197
8.1 路由简介 197
8.2 路由跳转 199
8.3 参数传递 203
8.4 生命周期 206
8.5 按键监听 211
第9章 Flutter HTTP网络请求 215
9.1 HTTP网络请求简介 215
9.2 实现方式 217
9.2.1 通过io.dart里的HttpClient实现 217
9.2.2 通过Dart原生HTTP请求库实现 219
9.2.3 通过第三方库实现 225
9.3 Flutter JSON编解码 230
9.3.1 JSON编解码用法详解 230
9.3.2 JSON编解码优化 231
9.3.3 JSON自动序列化解码 232
9.4 Flutter WebSocket的使用 234
9.4.1 WebSocket简介 234
9.4.2 WebSocket基本用法 235
9.4.3 通过第三方插件库进行WebSocket通信 236
第10章 Flutter文件操作与数据库操作 238
10.1 文件操作 238
10.2 手势操作 243
10.3 数据库操作 248
第11章 Flutter自定义组件与方法封装 254
11.1 自定义组件 254
11.1.1 通过继承组件实现自定义 254
11.1.2 通过组合组件实现自定义 257
11.1.3 通过CustomPaint绘制组件 261
11.2 方法封装 265
第12章 Flutter动画的实现 267
12.1 动画简介 267
12.2 基础动画 273
12.3 Hero动画 276
12.4 交错动画 281
第13章 Flutter主题与应用国际化 286
13.1 主题的实现 286
13.1.1 创建全局主题 286
13.1.2 设置局部主题 290
13.1.3 扩展和修改全局主题 291
13.2 应用国际化 292
13.2.1 应用国际化简介 292
13.2.2 使用插件库实现应用国际化 298
第14章 Flutter数据共享与传递 305
14.1 InheritedWidget组件 305
14.2 ScopedModel库 307
14.3 Redux库 311
14.4 EventBus库 315
第15章 Flutter与原生API交互及插件库开发 321
15.1 Flutter与原生API交互 321
15.1.1 交互简介 321
15.1.2 调用原生API 323
15.1.3 原生API调用Flutter API 330
15.1.4 Flutter组件与原生控件混合使用 333
15.1.5 Flutter页面跳转到原生页面 335
15.1.6 原生页面跳转到Flutter页面 336
15.2 Flutter插件库开发 342
15.2.1 Dart Pub的使用 343
15.2.2 Flutter Package开发 344
15.2.3 Flutter Plugin开发 349
第16章 Flutter调试与应用打包发布 351
16.1 调试与单元测试 351
16.1.1 调试 351
16.1.2 单元测试 364
16.1.3 辅助工具的使用 365
16.2 Flutter Android应用打包发布 369
16.3 Flutter iOS应用打包发布 374
第17章 Flutter拓展:Dart Web 379
17.1 Dart Web简介 379
17.2 Dart Web环境搭建 379
17.2.1 下载Dart SDK 380
17.2.2 下载开发工具 382
17.3 创建一个Dart Web项目 383
17.4 编写第一个Dart Server 387
第18章 Flutter实战 393
18.1 编写一个备忘录应用 393
18.1.1 知识整理 393
18.1.2 应用编写 394
18.2 编写一个TV应用 407
18.2.1 按键监听 407
18.2.2 焦点处理 409
18.2.3 焦点框效果处理 409

短评

挺不错的,给个好评吧

2020-09-14 21:50:40

跟着学习,纸质版看着效率高

2020-10-10 23:11:39

学习学习学习学习学习学习

2020-09-18 22:44:58

书内容详细全面,实例丰富,初学者系统学习入门!

2020-09-04 09:06:44

男子在哪在哪你在哪少男少女你说你在哪你说你在在哪在哪你说说你在哪在哪上呢

2020-09-02 15:54:31

产品特色