Flutter入门与实践
¥
43.38
3.4折
¥
129
九五品
仅1件
作者[美]亚历山德罗·比萨克李强
出版社清华大学出版社
ISBN9787302557050
出版时间2020-06
版次1
装帧平装
开本16开
纸张胶版纸
定价129元
上书时间2024-05-20
商品详情
- 品相描述:九五品
- 商品描述
-
基本信息
书名:Flutter入门与实践
定价:129.00元
作者:[美]亚历山德罗·比萨克李强
出版社:清华大学出版社
出版日期:2020-06-01
ISBN:9787302557050
字数:
页码:
版次:
装帧:平装
开本:16开
商品重量:
编辑推荐
本书将读者探讨Flutter框架并构建精彩的移动应用程序,其中涉及Dart语言的详细内容,以及编写高级应用程序所需的全部Flutter块,从而构建一个功能齐全的应用程序。通过清晰的代码示例,我们将学习如何开始一个小型的Flutter项目、添加微件(widget)、应用样式和主题、与远程服务(如Firebase)连接、获取用户输入内容、添加动画效果以提升用户体验,等等。除此之外,读者还将学习如何应用高级特性、地图集成,与包含本地编程语言的特定平台代码协同工作,并利用个性化的动画效果生成精美的UI。简而言之,本书将通过Flutter框架向读者展示移动开发的未来趋势。
内容提要
本书首先介绍Flutter框架和Dart的基础知识,读者将学习如何设置开发环境来开始您的Flutter项目,指导读者设计应用程序的用户界面和用户输入功能。随着学习进度的深入,读者将探索navigator小部件来管理您的应用程序路由,并了解如何添加屏幕之间的转换,将着手开发自己的插件,并了解如何构造良好的插件代码。本书将帮助您显示来自Flutter应用程序的地图,添加标记和交互,并使用谷歌Places API。不仅可以通过添加测试来创建一个没有bug的应用程序,而且还可以将其部署到苹果的应用程序商店和谷歌Play上。
目录
部分 Dart语言简介章 Dart语言概述 31.1 Dart语言 31.1.1 Dart语言的发展史 41.1.2 Dart语言的工作方式 41.1.3 Dart语言的基本语法和工具 51.2 Flutter与Dart 81.2.1 提升生产力 81.2.2 易于学习 91.2.3 成熟度 111.3 Dart语言的结构 121.3.1 Dart运算符 131.3.2 数据类型和变量 161.3.3 类型推断—动态机制 191.3.4 控制流和循环 201.3.5 函数 211.3.6 数据结构、集合和泛型 241.3.7 泛型 241.3.8 泛型的使用原因和时机 241.3.9 泛型和Dart字面值 251.4 Dart中的面向对象编程 261.4.1 Dart面向对象特性 261.4.2 封装 271.4.3 继承 281.4.4 抽象 281.4.5 多态 281.5 本章小结 281.6 进一步阅读 29第2章 Dart中级编程 312.1 Dart类和构造方法 312.1.1 枚举类型 322.1.2 级联符号 332.1.3 构造方法 342.1.4 字段访问器—get和set 362.1.5 静态字段和方法 372.1.6 类继承机制 392.2 抽象类、接口和混入 402.2.1 抽象类 412.2.2 接口 422.2.3 混入—向类中添加行为 432.2.4 可调用的类、函数和变量 452.3 理解Dart库和包 472.3.1 导入机制和库的使用 472.3.2 创建Dart库 512.3.3 Dart包 582.3.4 包结构 592.3.5 Stagehand—Dart项目生成器 612.3.6 pubspec文件 622.3.7 包依赖关系—pub 642.4 基于Future和Isolate的异步编程 682.4.1 Dart Future 682.4.2 Dart Isolate 722.5 基于Dart的单元测试 732.5.1 Dart test包 742.5.2 单元测试 742.6 本章小结 76第3章 Flutter简介 793.1 移动应用程序开发框架间的比较 793.1.1 Flutter解决的问题 803.1.2 现有框架间的差异 803.2 Flutter编译(Dart) 853.2.1 开发编译 863.2.2 发布编译 863.2.3 所支持的平台 863.3 Flutter渲染机制 863.3.1 Web技术 873.3.2 框架和OEM微件 883.3.3 自身的渲染机制 883.4 微件简介 893.4.1 可组合性 893.4.2 不可变性 903.4.3 一切均是微件 903.5 Hello Flutter 923.5.1 pubspec文件 943.5.2 运行生成后的项目 963.6 本章小结 99第2部分 Flutter界面— 一切均为微件第4章 微件—在Flutter构建布局 1034.1 无状态/有状态微件 1034.1.1 无状态微件 1034.1.2 有状态微件 1044.1.3 代码中的无状态微件和有状态微件 1054.1.4 继承的微件 1094.1.5 微件中的key属性 1104.2 内建微件 1114.2.1 基本微件 1114.2.2 Text微件 1114.2.3 Image微件 1124.2.4 材料设计和iOS Cupertino微件 1134.3 内建布局微件 1164.3.1 容器 1164.3.2 样式和定位 1174.3.3 其他微件(手势、动画和转换) 1174.4 利用微件创建UI(Friend Favors管理器应用程序) 1174.4.1 应用程序屏幕 1184.4.2 应用程序代码 1184.4.3 应用程序主屏幕 1194.4.4 请求任务屏幕 1274.5 创建自定义微件 1314.6 本章小结 132第5章 处理用户手势和输入 1335.1 处理用户手势 1335.1.1 指针 1335.1.2 手势 1345.1.3 Material Design微件中的手势 1385.2 输入微件 1395.2.1 FormField和TextField 1395.2.2 Form微件 1415.3 验证输入(Form) 1435.4 自定义输入和FormField 1445.4.1 创建自定义输入 1445.4.2 自定义输入微件示例 1445.5 整合工作 1485.5.1 任务屏幕 1495.5.2 任务请求屏幕 1545.6 本章小结 157第6章 主题和样式 1596.1 主题微件 1596.1.1 Theme微件 1596.1.2 主题的应用 1626.1.3 Platform类 1646.2 Material Design准则 1656.2.1 MaterialApp微件 1666.2.2 Scaffold微件 1676.2.3 自定义主题 1686.3 iOS Cupertino 1716.3.1 CupertinoApp 1716.3.2 Cupertino应用 1726.4 使用自定义字体 1736.4.1 将字体导入Flutter项目中 1736.4.2 在应用程序中重载默认的字体 1756.5 基于LayoutBuilder和MediaQuery的动态样式 1756.5.1 LayoutBuilder 1766.5.2 Medi Query 1786.5.3 其他响应类 1816.6 本章小结 182第7章 路由机制—屏幕间的导航 1837.1 Navigator微件 1837.1.1 Navigator 1837.1.2 Overlay 1847.1.3 路由 1847.1.4 MaterialPageRoute和CupertinoPageRoute 1857.1.5 整合操作 1857.1.6 WidgetsApp方式 1897.2 命名路由 1907.2.1 移至命名路由 1907.2.2 从Route中检索结果 1927.3 屏幕过渡 1947.3.1 PageRouteBuilder 1947.3.2 自定义过渡转换操作 1957.4 Hero动画 1967.4.1 Hero微件 1967.4.2 实现Hero转换 1977.5 本章小结 204第3部分 开发全功能的应用程序第8章 Firebase插件 2078.1 Firebase概述 2078.1.1 设置Firebase 2088.1.2 将Flutter应用程序连接至Firebase 2108.2 Firebase身份验证 2148.2.1 在Firebase中启用身份验证服务 2158.2.2 身份验证屏幕 2178.2.3 利用Firebase进行登录 2188.3 基于Cloud Firestore的NoSQL数据库 2228.3.1 启用Firebase上的Cloud Firestore 2238.3.2 Cloud Firestore和Flutter 2248.3.3 从Firestore中加载帮助任务 2258.3.4 更新Firebase中的帮助任务 2288.3.5 在Firebase上保存一项帮助任务 2288.4 基于Firebase Storage的Cloud Storage 2308.4.1 Firebase Storage简介 2318.4.2 添加Flutter存储依赖关系 2318.4.3 向Firebase上传文件 2328.5 Firebase AdMob和广告 2358.5.1 AdMob账户 2358.5.2 创建一个AdMob账户 2358.5.3 Flutter中的AdMob 2388.5.4 在Flutter中显示广告 2408.6 基于Firebase ML Kit的机器学习 2438.6.1 向Flutter中添加ML Kit 2438.6.2 在Flutter中使用标记检测器 2438.7 本章小结 246第9章 构建自己的Flutter插件 2479.1 创建包/插件项目 2479.1.1 Dart包和Flutter包 2479.1.2 启动一个Dart包项目 2489.1.3 Flutter插件包 2499.2 插件项目结构 2509.2.1 MethodChannel类 2519.2.2 实现Android插件 2529.2.3 实现iOS插件 2539.2.4 Dart API 2549.2.5 插件包示例 2549.2.6 使用插件 2559.3 向包中添加文档 2569.3.1 文档文件 2569.3.2 库文档 2579.3.3 生成文档 2579.4 发布包 2589.5 插件开发中的一些建议 2589.6 本章小结 2590章 从Flutter应用程序访问设备功能 26110.1 从应用程序启动一个URL 26110.1.1 显示链接 26210.1.2 打开一个链接 26310.2 管理应用程序权限 26510.2.1 管理Flutter上的权限 26610.2.2 使用permission_handler插件 26610.3 导入联系人 26710.3.1 利用contact_picker导入联系人 26710.3.2 基于permission_handler的联系人权限 27010.4 集成相机设备 27110.4.1 利用image_picker拍摄照片 27210.4.2 基于permission_handler的相机权限 27310.5 本章小结 2751章 平台视图和地图集成 27711.1 显示一幅地图 27711.1.1 平台视图 27711.1.2 创建平台视图微件 27911.1.3 google_maps_flutter插件 28411.1.4 利用google_maps_flutter显示一幅地图 28611.2 向地图中添加标记 29111.2.1 Marker类 29111.2.2 向GoogleMap微件中添加标记 29111.3 添加地图交互行为 29311.3.1 动态添加标记 29411.3.2 GoogleMapController 29511.3.3 获取GoogleMapController 29511.3.4 地图相机与位置间的动画效果 29511.4 使用Google Places API 29611.4.1 启用Google Places API 29611.4.2 google_maps_webservice插件 29711.4.3 利用google_maps_webservice插件获取地址 29711.5 本章小结 300第4部分 复杂应用程序的高级资源2章 测试、调试和开发 30312.1 Flutter测试—单元和微件测试 30312.1.1 微件测试 30312.1.2 flutter_test包 30412.1.3 testWidgets()函数 30412.1.4 微件测试示例 30412.2 调试Flutter应用程序 30612.2.1 Observatory工具 30612.2.2 附加的调试特性 30812.2.3 DevTools 30912.3 分析Flutter应用程序 31012.3.1 Observatory分析器 31012.3.2 profile模式 31112.4 Flutter微件树 31312.5 应用程序开发的准备阶段 31412.5.1 release模式 31512.5.2 发布Android应用程序 31512.5.3 发布iOS应用程序 32012.6 本章小结 3223章 改进用户体验 32313.1 Flutter中的可访问性以及翻译功能 32313.1.1 Flutter的访问支持 32313.1.2 Flutter国际化 32413.1.3 向Flutter应用程序中添加本地化功能 32513.2 基于平台通道的本地和Flutter间的通信 33013.2.1 平台通道 33113.2.2 消息编码解码 33313.3 创建后台进程 33313.3.1 Flutter中的compute()函数 33413.3.2 compute()函数示例 33513.3.3 后台进程 33613.3.4 初始化计算 33713.4 添加Android代码并在后台运行Dart代码 33913.4.1 HandsOnBackgroundProcessPlugin类 34013.4.2 BackgroundProcessService类 34113.5 添加iOS代码并于后台运行Dart代码 34513.6 本章小结 3504章 微件图形控制 35114.1 利用Transform类转换微件 35114.1.1 Transform微件 35114.1.2 Matrix4类 35214.2 转换类型 35314.2.1 旋转转换 35314.2.2 缩放转换 35414.2.3 平移转换 35514.2.4 组合转换 35614.3 转换微件 35714.3.1 旋转微件 35714.3.2 缩放微件 35814.3.3 平移微件 35914.3.4 使用多重转换 35914.4 使用自定义画笔和画布 36014.4.1 Canvas类 36014.4.2 CustomPaint微件 36214.4.3 CustomPainter对象 36314.5 示例 36414.5.1 定义微件 36414.5.2 定义CustomPainter 36514.6 射线图的变化版本 36814.6.1 定义微件 36914.6.2 定义CustomPainter 37014.7 本章小结 3735章 插件的动画效果 37515.1 动画简介 37515.1.1 Animation类 37515.1.2 AnimationController类 37615.1.3 TickerProvider和Ticker 37715.1.4 CurvedAnimation类 37715.1.5 Tween类 37815.2 使用动画 37815.2.1 旋转动画 37815.2.2 缩放动画 38215.2.3 平移动画 38315.2.4 多重转换和自定义Tween 38515.2.5 自定义Tween类 38715.3 使用AnimatedBuilder 39015.3.1 AnimatedBuilder类 39015.3.2 再访动画 39015.4 使用AnimatedWidget 39315.4.1 AnimatedWidget类 39415.4.2 利用AnimatedWidget重新实现动画 39415.5 本章小结 395
作者介绍
本书作者为Alessandro Biessek,但官方不再提供作者详细信息。该书对应网址为https://www.packtpub.com/mobile/flutter-for-beginners。
序言
— 没有更多了 —
以下为对购买帮助不大的评价