欢迎光临
免费的PDF电子书下载网站

Flutter入门与实践 PDF下载

编辑推荐

本书将引领读者探讨Flutter框架并构建精彩的移动应用程序,其中涉及Dart语言的详细内容,以及编写高级应用程序所需的全部Flutter块,从而构建一个功能齐全的应用程序。通过清晰的代码示例,我们将学习如何开始一个小型的Flutter项目、添加微件(widget)、应用样式和主题、与远程服务(如Firebase)连接、获取用户输入内容、添加动画效果以提升用户体验,等等。除此之外,读者还将学习如何应用高级特性、地图集成,与包含本地编程语言的特定平台代码协同工作,并利用个性化的动画效果生成精美的UI。简而言之,本书将通过Flutter框架向读者展示移动开发的未来趋势。

内容简介

本书首先介绍Flutter框架和Dart的基础知识,读者将学习如何设置开发环境来开始您的Flutter项目,指导读者设计应用程序的用户界面和用户输入功能。随着学习进度的深入,读者将探索navigator小部件来管理您的应用程序路由,并了解如何添加屏幕之间的转换,将着手开发自己的插件,并了解如何构造良好的插件代码。本书将帮助您显示来自Flutter应用程序的地图,添加标记和交互,并使用谷歌Places API。不仅可以通过添加测试来创建一个没有bug的应用程序,而且还可以将其部署到苹果的应用程序商店和谷歌Play上。

作者简介

本书作者为Alessandro Biessek,但官方不再提供作者详细信息。该书对应网址为https://www.packtpub.com/mobile/flutter-for-beginners。

Flutter入门与实践 PDF下载

目录

第1部分  Dart语言简介

第1章  Dart语言概述 3

1.1  Dart语言 3

1.1.1  Dart语言的发展史 4

1.1.2  Dart语言的工作方式 4

1.1.3  Dart语言的基本语法和工具 5

1.2  Flutter与Dart 8

1.2.1  提升生产力 8

1.2.2  易于学习 9

1.2.3  成熟度 11

1.3  Dart语言的结构 12

1.3.1  Dart运算符 13

1.3.2  数据类型和变量 16

1.3.3  类型推断—动态机制 19

1.3.4  控制流和循环 20

1.3.5  函数 21

1.3.6  数据结构、集合和泛型 24

1.3.7  泛型 24

1.3.8  泛型的使用原因和时机 24

1.3.9  泛型和Dart字面值 25

1.4  Dart中的面向对象编程 26

1.4.1  Dart面向对象特性 26

1.4.2  封装 27

1.4.3  继承 28

1.4.4  抽象 28

1.4.5  多态 28

1.5  本章小结 28

1.6  进一步阅读 29

第2章  Dart中级编程 31

2.1  Dart类和构造方法 31

2.1.1  枚举类型 32

2.1.2  级联符号 33

2.1.3  构造方法 34

2.1.4  字段访问器—get和set 36

2.1.5  静态字段和方法 37

2.1.6  类继承机制 39

2.2  抽象类、接口和混入 40

2.2.1  抽象类 41

2.2.2  接口 42

2.2.3  混入—向类中添加行为 43

2.2.4  可调用的类、顶级函数和变量 45

2.3  理解Dart库和包 47

2.3.1  导入机制和库的使用 47

2.3.2  创建Dart库 51

2.3.3  Dart包 58

2.3.4  包结构 59

2.3.5  Stagehand—Dart项目生成器 61

2.3.6  pubspec文件 62

2.3.7  包依赖关系—pub 64

2.4  基于Future和Isolate的异步编程 68

2.4.1  Dart Future 68

2.4.2  Dart Isolate 72

2.5  基于Dart的单元测试 73

2.5.1  Dart test包 74

2.5.2  单元测试 74

2.6  本章小结 76

第3章  Flutter简介 79

3.1  移动应用程序开发框架间的比较 79

3.1.1  Flutter解决的问题 80

3.1.2  现有框架间的差异 80

3.2  Flutter编译(Dart) 85

3.2.1  开发编译 86

3.2.2  发布编译 86

3.2.3  所支持的平台 86

3.3  Flutter渲染机制 86

3.3.1  Web技术 87

3.3.2  框架和OEM微件 88

3.3.3  自身的渲染机制 88

3.4  微件简介 89

3.4.1  可组合性 89

3.4.2  不可变性 90

3.4.3  一切均是微件 90

3.5  Hello Flutter 92

3.5.1  pubspec文件 94

3.5.2  运行生成后的项目 96

3.6  本章小结 99

第2部分  Flutter界面— 一切均为微件

第4章  微件—在Flutter构建布局 103

4.1  无状态/有状态微件 103

4.1.1  无状态微件 103

4.1.2  有状态微件 104

4.1.3  代码中的无状态微件和有状态微件 105

4.1.4  继承的微件 109

4.1.5  微件中的key属性 110

4.2  内建微件 111

4.2.1  基本微件 111

4.2.2  Text微件 111

4.2.3  Image微件 112

4.2.4  材料设计和iOS Cupertino微件 113

4.3  内建布局微件 116

4.3.1  容器 116

4.3.2  样式和定位 117

4.3.3  其他微件(手势、动画和转换) 117

4.4  利用微件创建UI(Friend Favors管理器应用程序) 117

4.4.1  应用程序屏幕 118

4.4.2  应用程序代码 118

4.4.3  应用程序主屏幕 119

4.4.4  请求任务屏幕 127

4.5  创建自定义微件 131

4.6  本章小结 132

第5章  处理用户手势和输入 133

5.1  处理用户手势 133

5.1.1  指针 133

5.1.2  手势 134

5.1.3  Material Design微件中的手势 138

5.2  输入微件 139

5.2.1  FormField和TextField 139

5.2.2  Form微件 141

5.3  验证输入(Form) 143

5.4  自定义输入和FormField 144

5.4.1  创建自定义输入 144

5.4.2  自定义输入微件示例 144

5.5  整合工作 148

5.5.1  任务屏幕 149

5.5.2  任务请求屏幕 154

5.6  本章小结 157

第6章  主题和样式 159

6.1  主题微件 159

6.1.1  Theme微件 159

6.1.2  主题的应用 162

6.1.3  Platform类 164

6.2  Material Design准则 165

6.2.1  MaterialApp微件 166

6.2.2  Scaffold微件 167

6.2.3  自定义主题 168

6.3  iOS Cupertino 171

6.3.1  CupertinoApp 171

6.3.2  Cupertino应用 172

6.4  使用自定义字体 173

6.4.1  将字体导入Flutter项目中 173

6.4.2  在应用程序中重载默认的字体 175

6.5  基于LayoutBuilder和MediaQuery的动态样式 175

6.5.1  LayoutBuilder 176

6.5.2  Medi Query 178

6.5.3  其他响应类 181

6.6  本章小结 182

第7章  路由机制—屏幕间的导航 183

7.1  Navigator微件 183

7.1.1  Navigator 183

7.1.2  Overlay 184

7.1.3  路由 184

7.1.4  MaterialPageRoute和CupertinoPageRoute 185

7.1.5  整合操作 185

7.1.6  WidgetsApp方式 189

7.2  命名路由 190

7.2.1  移至命名路由 190

7.2.2  从Route中检索结果 192

7.3  屏幕过渡 194

7.3.1  PageRouteBuilder 194

7.3.2  自定义过渡转换操作 195

7.4  Hero动画 196

7.4.1  Hero微件 196

7.4.2  实现Hero转换 197

7.5  本章小结 204

第3部分  开发全功能的应用程序

第8章  Firebase插件 207

8.1  Firebase概述 207

8.1.1  设置Firebase 208

8.1.2  将Flutter应用程序连接至Firebase 210

8.2  Firebase身份验证 214

8.2.1  在Firebase中启用身份验证服务 215

8.2.2  身份验证屏幕 217

8.2.3  利用Firebase进行登录 218

8.3  基于Cloud Firestore的NoSQL数据库 222

8.3.1  启用Firebase上的Cloud Firestore 223

8.3.2  Cloud Firestore和Flutter 224

8.3.3  从Firestore中加载帮助任务 225

8.3.4  更新Firebase中的帮助任务 228

8.3.5  在Firebase上保存一项帮助任务 228

8.4  基于Firebase Storage的Cloud Storage 230

8.4.1  Firebase Storage简介 231

8.4.2  添加Flutter存储依赖关系 231

8.4.3  向Firebase上传文件 232

8.5  Firebase AdMob和广告 235

8.5.1  AdMob账户 235

8.5.2  创建一个AdMob账户 235

8.5.3  Flutter中的AdMob 238

8.5.4  在Flutter中显示广告 240

8.6  基于Firebase ML Kit的机器学习 243

8.6.1  向Flutter中添加ML Kit 243

8.6.2  在Flutter中使用标记检测器 243

8.7  本章小结 246

第9章  构建自己的Flutter插件 247

9.1  创建包/插件项目 247

9.1.1  Dart包和Flutter包 247

9.1.2  启动一个Dart包项目 248

9.1.3  Flutter插件包 249

9.2  插件项目结构 250

9.2.1  MethodChannel类 251

9.2.2  实现Android插件 252

9.2.3  实现iOS插件 253

9.2.4  Dart API 254

9.2.5  插件包示例 254

9.2.6  使用插件 255

9.3  向包中添加文档 256

9.3.1  文档文件 256

9.3.2  库文档 257

9.3.3  生成文档 257

9.4  发布包 258

9.5  插件开发中的一些建议 258

9.6  本章小结 259

第10章  从Flutter应用程序访问设备功能 261

10.1  从应用程序启动一个URL 261

10.1.1  显示链接 262

10.1.2  打开一个链接 263

10.2  管理应用程序权限 265

10.2.1  管理Flutter上的权限 266

10.2.2  使用permission_handler插件 266

10.3  导入联系人 267

10.3.1  利用contact_picker导入联系人 267

10.3.2  基于permission_handler的联系人权限 270

10.4  集成相机设备 271

10.4.1  利用image_picker拍摄照片 272

10.4.2  基于permission_handler的相机权限 273

10.5  本章小结 275

第11章  平台视图和地图集成 277

11.1  显示一幅地图 277

11.1.1  平台视图 277

11.1.2  创建平台视图微件 279

11.1.3  google_maps_flutter插件 284

11.1.4  利用google_maps_flutter显示一幅地图 286

11.2  向地图中添加标记 291

11.2.1  Marker类 291

11.2.2  向GoogleMap微件中添加标记 291

11.3  添加地图交互行为 293

11.3.1  动态添加标记 294

11.3.2  GoogleMapController 295

11.3.3  获取GoogleMapController 295

11.3.4  地图相机与位置间的动画效果 295

11.4  使用Google Places API 296

11.4.1  启用Google Places API 296

11.4.2  google_maps_webservice插件 297

11.4.3  利用google_maps_webservice插件获取地址 297

11.5  本章小结 300

第4部分  复杂应用程序的高级资源

第12章  测试、调试和开发 303

12.1  Flutter测试—单元和微件测试 303

12.1.1  微件测试 303

12.1.2  flutter_test包 304

12.1.3  testWidgets()函数 304

12.1.4  微件测试示例 304

12.2  调试Flutter应用程序 306

12.2.1  Observatory工具 306

12.2.2  附加的调试特性 308

12.2.3  DevTools 309

12.3  分析Flutter应用程序 310

12.3.1  Observatory分析器 310

12.3.2  profile模式 311

12.4  Flutter微件树 313

12.5  应用程序开发的准备阶段 314

12.5.1  release模式 315

12.5.2  发布Android应用程序 315

12.5.3  发布iOS应用程序 320

12.6  本章小结 322

第13章  改进用户体验 323

13.1  Flutter中的可访问性以及翻译功能 323

13.1.1  Flutter的访问支持 323

13.1.2  Flutter国际化 324

13.1.3  向Flutter应用程序中添加本地化功能 325

13.2  基于平台通道的本地和Flutter间的通信 330

13.2.1  平台通道 331

13.2.2  消息编码解码 333

13.3  创建后台进程 333

13.3.1  Flutter中的compute()函数 334

13.3.2  compute()函数示例 335

13.3.3  后台进程 336

13.3.4  初始化计算 337

13.4  添加Android代码并在后台运行Dart代码 339

13.4.1  HandsOnBackgroundProcessPlugin类 340

13.4.2  BackgroundProcessService类 341

13.5  添加iOS代码并于后台运行Dart代码 345

13.6  本章小结 350

第14章  微件图形控制 351

14.1  利用Transform类转换微件 351

14.1.1  Transform微件 351

14.1.2  Matrix4类 352

14.2  转换类型 353

14.2.1  旋转转换 353

14.2.2  缩放转换 354

14.2.3  平移转换 355

14.2.4  组合转换 356

14.3  转换微件 357

14.3.1  旋转微件 357

14.3.2  缩放微件 358

14.3.3  平移微件 359

14.3.4  使用多重转换 359

14.4  使用自定义画笔和画布 360

14.4.1  Canvas类 360

14.4.2  CustomPaint微件 362

14.4.3  CustomPainter对象 363

14.5  示例 364

14.5.1  定义微件 364

14.5.2  定义CustomPainter 365

14.6  射线图的变化版本 368

14.6.1  定义微件 369

14.6.2  定义CustomPainter 370

14.7  本章小结 373

第15章  插件的动画效果 375

15.1  动画简介 375

15.1.1  Animation类 375

15.1.2  AnimationController类 376

15.1.3  TickerProvider和Ticker 377

15.1.4  CurvedAnimation类 377

15.1.5  Tween类 378

15.2  使用动画 378

15.2.1  旋转动画 378

15.2.2  缩放动画 382

15.2.3  平移动画 383

15.2.4  多重转换和自定义Tween 385

15.2.5  自定义Tween类 387

15.3  使用AnimatedBuilder 390

15.3.1  AnimatedBuilder类 390

15.3.2  再访动画 390

15.4  使用AnimatedWidget 393

15.4.1  AnimatedWidget类 394

15.4.2  利用AnimatedWidget重新实现动画 394

15.5  本章小结 395

Flutter入门与实践 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:Flutter入门与实践