商品详情
书名:Flutter和Dart经典实例
书号:978-7-5198-8627-1
定价:98元
作者:[英]理查德·罗斯(Richard Rose)
出版时间:2024-03-18
出版社:中国电力出版社
页码: 336 字数(千字):438
开本:16开 版次:1 印次:1
品牌介绍
中国电力出版社成立于 1951 年,作为中国成立最早的中央科技出版社之一,曾隶属于水利电力部、能源部、电力工业部、国家电力公司,现为国家电网公司所属的科技出版社,在电气技术专业出版领域享有极高的声誉。该社作为以图书出版为主体,音像、电子出版物、期刊、网络出版共同发展的大型出版企业,以强大的出版资源和高素质的专业队伍,致力于向读者提供包括电力工程、电气工程、建筑工程、电子技术、信息技术、外语、大中专教材、家教等学科门类齐全的权威出版物,也竭力为广大师生提供精品教材,是教育部和北京市教委规划教材的出版基地之一。
产品特色
内容丰富。从Flutter的源码出发,从组件开发到技术综合应用,多角度介绍Flutter项目开发的方方面面,为开发人员提供一条高效的学习途径。讲解由浅入深。由浅入深剖析Flutter项目开发过程种遇到的问题,涉及源码的获取与构建,功能模块的实现以及Flutter应用的性能探测,监控和调优等。举一反三。系统且深入阐释了Flutter跨平台技术的底层原理,横跨Java、C++、Dart这3种编程语言,覆盖Flutter 1.0 和 2.0 版本。
作者介绍
Richard Rose是一名Google Cloud实验室架构师,专注于平台工程、Kubernetes和无服务器技术。他还是《Hands-On Serverless Computing with Google Cloud》一书的作者。
内容介绍
本书将向你展示:通过使用变量和数据结构编写有效的Dart代码。通过探索小部件和数据处理构建Flutter应用程序。探索云提供商解决方案,并将其与Flutter集成。通过使用Google Cloud无服务器管理API来处理数据。使用Firebase解决方案,如身份验证和Cloud Firestore数据库。构建适用于移动和桌面平台的Web应用程序。
本书适用于广大读者
前言
前言 欢迎阅读本书。首先让我们来了解一下Flutter,这是一种多平台开发框架,正在迅速席卷开发社区。Dart 是Flutter 的基础,提供了一个功能丰富的软件开发工具包(SDK)。与学习多种技术不同,Flutter 让你能够用单一的代码库针对Android、iOS、Linux、Web 和Windows 进行开发。 作为一个经常观看YouTube 的人,我总是对那些示例应用程序深感印象深刻。Flutter 和Dart 不仅让我重新热爱编程,还使我有机会结识一些了不起的Flutter 社区成员。 Flutter 社区非常棒,不断提供高质量的内容。向那些在YouTube 和Google 开发者社区上投入时间和精力帮助人们进入软件行业的人们致敬。 无论你是经验丰富的开发人员,还是刚开始入门的新手,Flutter 都会让开发变得有趣。它学习起来非常快速而且功能强大,可以与Firebase 等强大的基于云的解决方案进行集成。立即开始,让我们构建一个面向下一百万用户的应用程序吧。 谁该阅读本书 无论你是否了解Flutter 和Dart,都可能听到过那令人难以抗拒的呼唤,想要着手构建一些东西。不要让拖延的欲望左右你,现在就开始建设未来。那么,你如何保持动力,并达到能够交付一个应用程序的状态呢?不妨读读这本书。 学习Flutter 和Dart 的美妙之处在于它们拥有非常低的学习门槛。 开发应用程序需要技能和努力,软件工程师因此而获得高薪是有其道理的。 无论你是否有多种语言的经验,或是零经验的软件开发者,Flutter 和Dart 都是创建令人惊艳应用程序的绝佳起点。从第一天开始,你就可以迅速提高工作效率,并以极少的努力制作出美观的应用程序。 构建应用程序涉及许多组件的协同工作,以及与外部服务的集成。学习使用Firebase 套件的基础知识,是迈出云端的第一步。开始构建游戏,然后跟随本书了解Flame 游戏引擎的构建模块。 写这本书的缘由 我第一次接触Flutter 是因为我的妻子开始学习这门语言,她使用了谷歌提供的Flutter 开发课程。令我印象深刻的是应用程序的快速构建速度和精美外观。这种立即提升的生产力让我迅速沉迷于构建简单的多平台应用程序。 在我刚开始学习这项新技术时,有一些事情并不明显,或者很难记住。我希望当时能有这本技术手册陪伴我一起学习课程。现在网络上有更多出色的在线课程可供选择,但一个问题仍然困扰着我:在Flutter 中如何实现某个功能?对于一些读者来说,本书将作为你在创建应用程序的旅程中现有知识的补充。 对于其他人来说,它将成为你作为Flutter 开发者的旅程中的安全保障,指导和支持你前进。 本书概览 对于任何一门语言的初学者来说,开始时常常会面临很多不确定的情况,不知道从何处入手,需要掌握哪些知识。虽然我希望你能从头到尾地阅读本书,但实际上你很可能会直接跳转到Flutter 的章节。为此,本书采用了广泛的分类,以便你能够根据需要深入了解相关主题。以下是本书的大致结构: • 第1 ~ 2 章为你提供了Dart 语言的高级介绍,帮助你掌握变量和控制流等基础知识。 • 第3 ~ 6 章快速深入介绍了Dart 语言的基本要素,帮助你能够熟练运用这门语言。 • 第7 ~ 14 章涵盖了Flutter 语言,并演示了如何在屏幕上渲染小部件的基础知识。如果我猜得没错,这一部分将是你在开发需要创建小部件和管理数据的应用程序时最常参考的内容。 • 第15 ~ 16 章介绍了云端开发,特别是使用Firebase 添加身份验证、数据库和托管功能。 • 第17 章介绍了如何使用Flame 游戏引擎,并为你提供了使用该引擎的基本要点。如果你有一个空闲的周末,你可以使用它来重新创建游戏“Frogger”。 • 附录部分涵盖了你需要了解的设置环境的内容,例如安装Flutter 框架、使用Flutter Doctor 检查工具以及在集成开发环境中的操作方法等。 排版约定 本书使用以下排版约定: 斜体(Italic) 表示新术语、URL、示例电子邮件地址、文件名和扩展名。 等宽字体(Constant Width) 表示程序片段,以及正文中出现的变量、函数名、数据库、数据类型、环境变量、语句和关键字等。 加粗等宽字体(constant width bold) 表示应该由用户输入的命令或其他文本。 等宽斜体(constant width italic) 表示应该由用户输入的值或根据上下文确定的值替换的文本。 O’Reilly 在线学习平台(O’Reilly Online Learning)近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。 公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。 联系我们 任何有关本书的意见或疑问,请按照以下地址联系出版社。 美国: O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 中国: 北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035) 奥莱利技术咨询(北京)有限公司 我们为本书设有一个网页,其中列出勘误表、示例和任何额外信息。你可以访问该网页:https://oreil.ly/fl-dt-ckbk。 对本书的评论或技术性问题,请发电子邮件至:errata@oreilly.com.cn。 如欲了解O’Reilly 图书、培训课程、会议和新闻的更多信息,请访问网站http://www.oreilly.com。 我们的 Facebook:http://facebook.com/oreilly。 我们的Twitter:http://twitter.com/oreillymedia。 我们的YouTube:http://www.youtube.com/oreillymedia。 致谢 这个版本特别献给我可爱的妻子,是她激励我学习Flutter,其目的只是为了让我修复她的应用程序。感谢我的家人,尽管我忙于写这本书,但他们总是抽出时间大声地演奏音乐,或者在我专心工作时突然过来聊天。但说真的,感谢Dawn、Bailey、Elliot、Noah 和Amelia。一年的时间里,撰写这本书已经超越了一个项目,成了一种灵感来源。 特别感谢Dylan Peck、Casey Palowitch、Alessandro Palmieri 和Andrew Brogdon 的支持和给予我将Flutter 带给Google Developer Group 社区的机会。 正是这样的行动产生了差异,从我个人的经历来看,我知道这些活动真的备受赞赏。 我还要感谢技术审阅者Alex Moore、Rob Edwards 和Majid Hajian,他们提供了很多宝贵的见解和反馈意见。写书虽然不容易,但有人愿意抽出他们的闲暇时间并帮助完成这样的工作真的非常有帮助。非常感谢你们每个人所付出的努力和时间。 我要衷心感谢Jeff Bleiel,作为一名出色的编辑,他使这个过程非常愉快,明显比应有的压力要小得多。同时也感谢O’Reilly 的Zan McQuade 和Jonathon Owen。
目录
目录
前言 1
第1 章 学习Dart 变量 7
11 运行Dart 应用程序 8
12 使用整数值 9
13 使用双精度值(Double)的操作 11
14 使用布尔值(Boolean)的操作 11
15 使用字符串(String) 12
16 输出信息到控制台 13
17 添加一个常量变量(编译时) 15
18 添加一个常量变量(运行时) 16
19 使用空变量 16
第2 章 深入理解控制流程 19
21 验证条件是否满足 19
22 在满足条件之前迭代 21
23 迭代一系列项 23
24 基于值执行条件动作 25
25 使用枚举器表示数值 26
26 实现异常处理 28
第3 章 实现函数 31
31 声明函数31
32 向函数添加参数 32
33 使用可选参数 33
34 从函数中返回值 35
35 声明匿名函数 36
36 使用Future 添加函数延迟 38
第4 章 处理列表和映射表 41
41 创建数据列表 42
42 修改列表数据 43
43 使用复杂类型的列表 44
44 处理映射表的键/ 值对 46
45 打印映射表数据结构的内容 48
46 验证映射表中是否存在内容 49
47 打印复杂数据类型 50
第5 章 开始使用面向对象的Dart 53
51 开始使用面向对象的Dart 54
52 创建一个类 55
53 使用构造函数初始化类 56
54 添加类的继承 58
55 添加类接口 61
56 添加Mixin 聚合类 64
第6 章 Dart 测试用例 67
61 将Dart 测试包添加到应用程序中 68
62 创建示例测试应用程序 70
63 在Dart 应用程序中运行单元测试 71
64 分组多个单元测试 74
65 为测试添加模拟数据 77
第7 章 Flutter 框架基础 81
71 模拟应用程序接口 82
72 创建一个基础模板的Flutter 项目 83
73 去除Flutter 调试横幅 85
74 了解小部件 87
75 深入理解小部件树 88
76 提高小部件渲染性能 89
第8 章 添加资源文件 91
81 使用pubspecyaml 文件92
82 添加资源文件夹 94
83 引用图像95
84 添加Google Fonts 包 97
85 导入包 98
第9 章 使用小部件 101
91 在Flutter 中创建无状态小部件 102
92 在Flutter 中创建有状态小部件 103
93 重构Flutter 小部件 107
94 使用Scaffold 类 111
95 添加一个AppBar 标题栏 114
96 使用容器构建 117
97 使用Center 小部件 120
98 使用SizedBox 小部件 122
99 使用Column 小部件 125
910 使用Row 小部件 129
911 使用Expanded 小部件 132
第10 章 开发用户界面 137
101 使用Google Fonts 包 138
102 结合RichText 139
103 识别宿主平台 141
104 使用Placeholder Widget 144
105 使用LayoutBuilder 146
106 使用MediaQuery 访问屏幕尺寸 150
第11 章 组织屏幕数据 155
111 实现垂直ListView 156
112 实现水平ListView 159
113 添加一个SliverAppBar 162
114 添加SliverList 165
115 添加一个项目的GridView 170
116 添加SnackBar(弹出通知) 172
第12 章 Flutter 页面导航 177
121 使用路由添加页面导航(命令式) 178
122 使用路由添加页面导航(声明式) 182
123 实现导航抽屉 186
124 使用选项卡 191
125 添加底部导航栏 195
126 使用Key 传递信息 198
第13 章 处理数据资源 201
131 战略性地访问数据 202
132 重构数据 204
133 从JSON 生成Dart 类 206
134 异步使用本地JSON 数据 209
135 从资产文件夹中使用JSON 数据集 214
136 访问远程JSON 数据 218
第14 章 测试Flutter 用户界面 221
141 Flutter 中的自动化小部件测试 222
142 进行自动化小部件测试 224
143 使用Flutter Driver 进行集成测试 225
144 测试Android/iOS 设备兼容性 227
第15 章 让Firebase、Flutter 一起工作 231
151 在Flutter 中使用Firebase 平台 232
152 设置Firebase 项目 233
153 初始化用于本地开发的Firebase SDK 235
154 配置Firebase 仿真器 238
155 在开发环境中添加flutterfire_cli 240
156 集成Firestore 数据库 243
157 向Firestore 数据库写入数据 246
158 从Cloud Firestore 中读取数据 251
159 将Firebase 身份验证添加到Flutter 256
1510 使用Firebase Hosting 托管Flutter Web 应用程序 262
第16 章 介绍云服务 265
161 开始使用云服务提供商 266
162 使用身份和访问管理 266
163 使用云存储托管对象 268
164 使用Dart 开发后端HTTP 服务器 270
165 构建Dart 容器 271
166 介绍Dart 的Serverless 273
第17 章 开始游戏开发 277
171 将Flame 包添加到Flutter 中 278
172 创建Flame 脚手架 279
173 添加精灵图 281
174 向精灵图添加手动水平移动 283
175 添加精灵图的自动垂直移动 286
176 添加碰撞检测 290
177 添加文本渲染 294
178 添加图形基元 298
179 添加音效 304
附录 设置你的开发环境 313
- 有电书房
- 扫描二维码,访问我们的微信店铺