首页 > 图书中心 >图书详情
Flutter项目开发实例精解
作者:[美]西蒙·亚历山德里亚 著 李垚 译
定价:129元
印次:1-1
ISBN:9787302677239
出版日期:2025.01.01
印刷日期:2024.12.26
"《Flutter项目开发实例精解》详细阐述了多个Flutter项目开发的基本解决方案,主要包括使用有状态微件、监听数据流、2D动画和手势、从Web中获取数据、使用Sq(F)Lite并在本地数据库中存储数据、将Firebase集成至Flutter应用程序中、集成地图并使用设备相机、利用Flare创建动画、使用BLoC模式和Sembast、构建Flutter Web应用程序等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。"
more >前 言 在任何一种语言或框架中,学习程序设计的最快方法是动手编程,这也是本书的目标,即通过实际操作帮助读者学习Flutter。 Flutter是一个与开发者友好的开源工具包,由Google创建,用户可以使用它为Android和iOS移动设备创建应用程序,现在也可以用它开发Web和桌面应用程序。 本书包含11个项目,涉及使用Flutter开发真实应用程序的主要概念。在每个项目中,我们将学习和使用一些Flutter特性,即微件、状态管理、异步编程、使用Web服务、持久化数据、动画,以及使用Firebase创建全栈应用程序,甚至开发可与不同形式因素(包括Web)协同工作的响应式应用程序。 其间,每个项目都从头开始构建应用程序。如果读者对前几章介绍的概念胸有成竹,则可选择跟随本书的流程或跳过任何项目。 Flutter使用Dart作为编程语言。在第1章中,读者将看到有关Dart的介绍,并提供必要的知识以帮助读者提高学习效率,然后创建第一个Flutter应用程序。 在后续章节中,我们将在基础示例之上介绍Flutter项目,读者将有机会使用代码并获得构建应用程序的实践经验。在阅读本书的过程中,读者将看到前面章节中介绍的一些概念在后面的项目中以不同的方式再次使用,从而对相关主题有更深入的了解。 适用读者 本书是为开发人员编写的,读者应熟悉任何一种面向对象编程语言:如果您了解变量、函数、类和对象的概念,那么本书就是为您量身定制的。 Dart是Flutter中使用的编程语言。如果读者之前并不了解Dart,那么也不必过于担心。具有Java、C#、Kotlin、Swift或JavaScript等语言的基础知识足以使读者能够理解本书中的项目。Dart对于开发人员来说是一种非常直观的语言,具有平滑的学习曲线。 本书并非是一本Dart教程,但在整本书中,特别是第1章,读者将获得全部所需的入门知识。 总而言之,如果读者对任何面向对象的编程语言有一定的了解,并且打算使用Flutter构建移动或Web应用程序,那么本书就是为你准备的。 本书内容 第1章是一个介绍性章节,读者将在其中构建Hello Flutter应用程序,这是一个显示虚拟旅行社演示屏幕的应用程序。该项目专注于如何利用Dart和Flutter创建一个非常基本的应用程序,并介绍后续章节所需的基础知识。 第2章考察如何构建一个Measures Conversion App,这一章的目标是将状态(State)引入Flutter应用程序,进而使其具有交互性。在项目中,我们将使用TextField、DropDownButton和setState()方法更新有状态微件的状态。 第3章将展示一种更高级的状态处理方法,即监听数据流。在项目中,我们将创建一个计时器,该计时器包含一个基于流的动画。本章将介绍Flutter中的异步编程和几个核心概念,如导航、使用库和存储数据。 第4章将讨论如何生成一个简单的二维动画游戏。其中,球体在屏幕间移动,玩家需要防止球体“落入”屏幕之外。这一章的主要话题涉及动画的使用、利用GestureDetector检测手势,以及生成随机数字。 第5章将讨论如何创建一个应用程序显示从Web服务获取的电影列表,其中包括使用ListView、解析JSON数据、通过HTTP协议连接远程服务,以及构建GET请求并在API上执行搜索。其间,Dart中的异步编程贯穿了整个章节。 第6章将展示如何创建一个购物列表。该项目的主要概念包括在Flutter中使用SQLite,创建模型类,执行创建、读取、更新和删除(CRUD)操作,以及使用单例模式。 第7章将介绍如何创建一个全栈应用程序,并利用Firebase设计前端UI和后端。 第8章将构建一个应用程序,使用户可在地图上标记地点,并在其上添加某些数据和一幅图像。另外,还可使用相机创建图像。该项目涵盖移动编程的两个重要特性,即地理位置和设备相机的使用。 第9章将通过Flare(一个在线工具,可简化动画的生成,并将其直接纳入Flutter)在Flutter中构建一个骰子游戏。 第10章将展示如何利用BLoC(业务逻辑组件)模式管理应用程序状态。此外,本章还将考察如何使用简单的嵌入式应用程序存储数据库在设备中存储数据。 第11章将介绍如何构建一个运行在浏览器上的Flutter应用程序,以及如何创建响应式用户界面。 充分利用本书 建议读者至少有一种使用面向对象编程语言的经验。 建议对代码进行不断的尝试,并询问自己是否可以使用不同的方法实现一个项目。这将使概念更清晰,更容易在未来的项目中实现重用。在每个项目结束时回答问题也会帮助读者对本章中构建的应用程序有不同的看法。 本书使用Flutter 1.12.13版本和Dart 2.7.2版本。因此,读者需要一台Windows PC、Mac、Linux或Chrome OS机器连接到网络,并具有安装新软件的权限。建议使用Android或iOS设备(但不是必需的),因为存在相应的模拟器/仿真器可以在机器上运行。另外,本书中使用的所有软件都是开源或免费的。 如果读者喜欢本书或者想分享你的想法,可以在相关平台上发表评论。这将有助于我们把这本书做得更好,对此我们深表感谢。 下载示例代码文件 读者可访问www.packt.com并通过账户下载本书的示例代码文件。除此之外,还可以访问www.packtpub.com/support,注册后,我们将把相关文件以电子邮件的方式直接发送与你。 下载代码文件需要执行下列步骤。 (1)访问www.packt.com,登录或注册。 (2)选择Support选项卡。 (3)单击Code Downloads。 (4)在Search框中输入书籍的名称并遵循后续指令。 在文件下载完毕后,确保利用下列软件的最新版本解压或提取文件夹。 ? WinRAR/7-Zip(Windows环境下)。 ? Zipeg/iZip/UnRarX(Mac环境下)。 ? 7-Zip/PeaZip(Linux环境下)。 此外,本书的代码包还托管于GitHub,对应网址为https://github.com/PacktPublishing/ Flutter-Projects。若代码更新,现有GitHub储存库中的内容也会随之更新。 读者还可访问https://github.com/PacktPublishing/查看其他图书的代码包和视频。 本书约定 代码如下。 void main() { var name = "Dart"; print("Hello $name!"); } 对于想要强调或突出的代码,将以粗体形式进行显示。 return Stack( children: <Widget>[ Positioned( child: Ball(), top: posY, left: posX, ), 任何命令行的输入或输出都采用如下的粗体代码形式。 cd hello_world flutter run 本书还使用了以下两个图标。 表示警告或重要的注意事项。 表示提示信息或操作技巧。 读者反馈和客户支持 欢迎读者对本书提出建议或意见。 对此,读者可向customercare@packtpub.com发送邮件,并以书名作为邮件标题。 勘误表 尽管我们希望做到尽善尽美,但疏漏依然在所难免。如果读者发现欠妥之处,无论是文字错误抑或是代码错误,还望不吝赐教。对此,读者可访问http://www.packtpub.com/ submit-errata,选取对应书籍,输入并提交相关问题的详细描述。 版权须知 一直以来,互联网上的版权问题从未间断,Packt出版社对此类问题非常重视。若读者在互联网上发现本书任意形式的副本,请告知网络地址或网站名称,我们将对此予以处理。关于盗版问题,读者可发送邮件至copyright@packtpub.com。 若读者针对某项技术具有专家级的见解,抑或计划撰写书籍或完善某部著作的出版工作,则可访问authors.packtpub.com。 问题解答 读者对本书有任何疑问,均可发送邮件至questions@packtpub.com,我们将竭诚为您服务。
more >