
前言
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 均可。
联系作者
Flutter 开发领域有许多深奥的知识,尽管我在写作过程中力求严谨,但书中仍可能存在一些疏漏,敬请各位读者指正,我会及时调整、修改。
可通过电子邮箱852041173@qq.com 与我交流。我会将反馈信息整理在博客中,大家可通过https://fantasy.blog.csdn.net 访问、查看。另外,也欢迎各位读者关注我的微信公众号tandongjay,我会定期分享一些技术文章。
致谢
感谢我的父母、妻子在我写作过程中给予的支持和鼓励。
感谢我的老师让我对计算机产生了浓厚的兴趣,培养了我的相关技术思维。
感谢我的公司为我提供了实际的项目研发和技术攻关机会,我从中总结了很多经验,攻克了很多技术难题。
感谢电子工业出版社的孙奇俏老师在本书出版过程中给予我的大力支持与帮助,她非常专业、耐心。
谭东
2020 年6 月
读者服务

微信扫码回复:38713
获取本书配套代码资源
加入本书读者交流群,与本书作者互动
获取博文视点学院20 元付费内容抵扣券
获取更多技术专家分享的视频与学习资源