本书内容涵盖了100多个短小精悍的实例,以帮助读者学习Flutter,这些实例包含Flutter最为重要的特性,进而开发真实的应用程序。在每个实例中,介绍并使用一些有用的工具,包括微件、状态管理、异步编程、连接Web服务、数据持久化、动画生成、Firebase应用、机器学习,以及工作于不同平台(包括桌面平台和Web平台)的响应式应用程序。
Flutter是谷歌发布的开发人员友好的开源工具集,我们可在Android和iOS设备上构建应用程序。在编写本书时,谷歌已经发布了Flutter 2.2。此外,我们还可针对Web和桌面平台使用相同的代码库。
本书包含15章且每章涵盖了独立的内容,分别强调和使用Flutter的各种特性。另外,读者也可略过所熟悉的章节。
Flutter采用Dart作为编程语言,第2章介绍Dart语言、语法、模式,以使读者了解Flutter中的Dart基础知识。
后续章节介绍一些高级案例,并通过代码获取Flutter工具的实际操作经验。
适用读者
本书希望读者具备面向对象编程语言背景,包括变量、函数、类和对象等概念。
本书不要求读者拥有Dart语言方面的知识,第2章会对此加以介绍。
如果读者了解和使用过Java、C#、Swift、Kotlin和JavaScript语言,那么就会发现Dart学习起来十分容易。
本书内容
第1章主要讨论如何试着开发环境。
第2章介绍Dart语言、语法和模式。
第3章利用Flutter构建简单的用户界面。
第4章展示如何构建由多个微件构成的复杂屏幕。
第5章通过多个实例向应用程序中添加交互行为,包括与按钮交互、从TextField中读取文本、修改屏幕和显示警告信息。
第6章介绍Flutter中的状态,除了显示微件的屏幕,本章还介绍如何构建保存和管理数据的屏幕。
第7章包含多个实例,其中一个有用的特性是任务的异步执行。
第8章通过相关工具连接Web服务并将数据持久化至机器中。
第9章讨论如何处理流。流可认为是创建响应式应用程序的最佳工具。
第10章考查如何选择、使用、构建和发布Flutter包。
第11章通过特定的工具在应用程序中实现动画效果。
第12章展示如何使用功能强大的后端且无须编写任何代码。
第13章讨论如何利用Firebase向应用程序中添加机器学习这一特性。
第14章探讨将应用程序发布至Google Play Store和Apple App Store所需的各项步骤。
第15章考查如何使用相同的代码库针对Web和桌面平台构建应用程序。
技术需求
在阅读本书时,建议读者至少拥有一种面向对象编程语言的经验。
在考查相关代码时,需要使用连接至Web的Windows PC、Mac、Linux或Chrome OS操作环境,且至少包含8GB RAM以及最新软件的安装权限。
由于存在可运行于机器上的仿真器/模拟器,因此Android或iOS并非必需。
第1章详细解释具体的安装步骤,其中包括如表P-1所示的内容。
表P-1
本书涉及的软件和硬件 操作系统需求
Visual Studio Code、Android Studio或IntelliJ Idea Windows、macOS或Linux
Flutter SDK Windows、macOS或Linux
模拟器/仿真器、iOS设备或Android设备 Windows、macOS或Linux(macOS仅用于iOS)
需要说明的是,当开发iOS应用程序时,读者需要配置一台Mac机器。
下载本书资源
读者可访问GitHub下载本书的代码文件,对应网址为https://github.com/PacktPublishing/ Flutter-Cookbook,且代码实现了同步更新。
此外,读者还可访问https://github.com/PacktPublishing/查看本书的代码包。
同时,我们还提供了本书屏幕截屏/图表的彩色图像的PDF文件,读者可访问https:// static.packt-cdn.com/downloads/9781838823382_ColorImages. pdf予以下载。
图标表示警告或重要的注意事项。
图标表示提示信息和操作技巧。
读者反馈和客户支持
欢迎读者对本书提出建议或意见并予以反馈。
对此,读者可向customercare@packtpub.com发送邮件,并以书名作为邮件标题。
勘误表
尽管我们希望将此书做到尽善尽美,但其中疏漏在所难免。如果读者发现谬误之处,无论是文字错误抑或是代码错误,还望不吝赐教。对此,读者可访问http://www.packtpub.com/ submit-errata,选取对应书籍,单击Errata Submission超链接,输入并提交相关问题的详细内容。
版权须知
一直以来,互联网上的版权问题从未间断,Packt出版社对此类问题异常重视。若读者在互联网上发现任意形式的本书副本,请告知我们网络地址或网站名称,我们将对此予以处理。关于盗版问题,读者可发送邮件至copyright@packtpub.com。
若读者针对某项技术具有专家级的见解,抑或计划撰写书籍或完善某部著作的出版工作,则可访问authors.packtpub.com。
问题解答
若读者对本书有任何疑问,均可发送邮件至questions@packtpub.com,我们将竭诚为您服务。