[Flutter 从0到1构建大前端应用 何瑞君 Flutter入门到进阶实战教程 Dart编程语言Flutter插件开发谷歌UI框架Android和iOS开发书籍]

Вес товара: ~0.7 кг. Указан усредненный вес, который может отличаться от фактического. Не включен в цену, оплачивается при получении.
Описание товара
- Информация о товаре
- Фотографии

![[内容简介.jpg]](https://img.alicdn.com/imgextra/i1/2599440650/O1CN01WxBBqs1Gfjw56P84o_!!2599440650.jpg)
[本书从实战出发,介绍微服务架构所带来的测试方面的挑战,以及如何利用新的技术来应对这些挑战。通过本书,读者可以学会如何编写微服务架构下的单元测试、组件测试、集成测试以及契约测试。在此过程中还会用到Arquillian、ShrinkWrap、Pact、Selenium、Docker、Hoverfly 等多个帮助测试的工具和框架。书中涵盖大量的代码和样例,可以帮助读者快速上手,并在自己的实际工作中应用这些技术。本书适合有一定Java 基础的开发和测试人员,对使用其他编程语言的开发者也会有一定的帮助。]

![[目录.jpg]](https://img.alicdn.com/imgextra/i3/2599440650/O1CN01N591ro1GfjwD89RNX_!!2599440650.jpg)
[1章 Flutter简介 1]
[1.1 Flutter的优势 1]
[1.2 对比其他技术 2]
[1.3 Flutter架构 3]
1.3.1 Flutter Framework 3
1.3.2 Flutter Engine 4
[1.4 开发环境搭建 4]
[1.4.1 Mac上的环境搭建 4]
[1.4.2 在Mac上获取SDK并设置环境变量 5]
[1.4.3 安装Xcode与运行模拟器 6]
[1.4.4 安装Android Studio 7]
[1.4.5 在Android Studio上安装Flutter开发插件 8]
[1.4.6 安装VSCode与Flutter开发插件 9]
[1.4.7 IDE的选择 11]
[1.4.8 使用Flutter诊断工具检查Flutter开发环境 11]
[1.4.9 创建Demo工程并体验热重载 12]
[1.5 Flutter升级 14]
[本章小结 15]
[2章 Dart语言入门 16]
[2.1 应用场景 16]
[2.1.1 SDK安装和升级 17]
[2.1.2 编写一个HelloWorld并运行 17]
[2.2 变量与常量 18]
[2.2.1 变量 18]
[2.2.2 常量 18]
[2.2.3 内置类型 19]
[2.2.4 数值型 19]
[2.2.5 数值型操作 20]
[2.2.6 字符串 21]
[2.2.7 字符串操作 21]
[2.2.8 布尔型 23]
[2.2.9 List与数组 23]
2.2.10 Map 24
[2.2.11 dynamic和Object 25]
[2.3 算符 26]
[2.4 异常捕获 27]
[2.5 函数Function 28]
[2.5.1 main函数 28]
[2.5.2 可选参数 28]
[2.5.3 必传参数 29]
[2.5.4 可选的位置参数 29]
[2.5.5 默认参数 29]
[2.5.6 函数作为参数传递 30]
[2.5.7 函数作为变量 30]
[2.6 异步编程 30]
[2.6.1 Future是什么 31]
[2.6.2 async和await 31]
[2.6.3 继承、接口实现和混合 33]
[2.6.4 泛型 37]
[本章小结 39]
[3章 一切皆组件 40]
[3.1 基础组件(Basic widgets) 42]
3.1.1 Text 43
3.1.2 Icon 43
3.1.3 Image 45
3.1.4 Button 45
3.1.5 FlutterLogo 47
[3.2 单一子元素组件(Single-child) 48]
3.2.1 Container 48
[3.2.2 Container的约束 49]
3.2.3 SingleChildScrollView 52
3.2.4 FittedBox 53
3.2.5 FractionallySizedBox 54
3.2.6 ConstrainedBox 55
3.2.7 Baseline 56
[3.2.8 IntrinsicWidth和IntrinsicHeight 58]
[3.3 多子元素组件(Multi-child) 58]
3.3.1 Scaffold 58
3.3.2 AppBar 59
[3.3.3 Row和Column 61]
3.3.4 ListView 64
3.3.5 GridView 69
3.3.6 CustomScrollView 70
3.3.7 Flex 73
3.3.8 Wrap 75
[3.4 状态管理 77]
[3.4.1 Widget树 78]
3.4.2 Context 79
3.4.3 StatelessWidget 80
3.4.4 StatefulWidget 80
[3.4.5 StatefulWidget的组成 81]
3.4.6 State 82
[3.4.7 State生命周期 82]
[3.4.8 Widget的身份标识:key 88]
3.4.9 InheritedWidget 89
[3.5 包管理 93]
[3.6 常用代码段效果 94]
[3.6.1 案例一:侧滑效果 95]
[3.6.2 案例二:登录界面 96]
[3.6.3 案例三:轮播图效果 96]
[3.6.4 案例四:图片浏览器的相册效果 97]
[3.6.5 案例五:全局主题设置 97]
[本章小结 98]
[4章 事件处理 99]
[4.1 原始指针事件 99]
[4.1.1 基本用法 99]
[4.1.2 忽略事件 102]
4.2 GestureDetector 105
[4.2.1 基本用法 105]
[4.2.2 常用事件 106]
[4.2.3 拖曳和缩放效果 109]
[4.2.4 事件竞争与手势冲突 112]
[4.2.5 手势识别器 114]
[4.3 事件原理与分发机制 117]
[4.4 事件通知 122]
[本章小结 125]
[5章 动画 126]
[5.1 动画原理及概述 126]
5.1.1 Animation 127
5.1.2 Animatable 127
5.1.3 AnimationController 128
5.1.4 Tween 130
5.1.5 Tween.animate 133
5.1.6 Curve 133
[5.2 动画的封装与简化 136]
5.2.1 AnimatedWidget 136
5.2.2 AnimatedBuilder 137
[5.3 Hero动画 141]
[5.3.1 基本用法 141]
[5.3.2 实现原理 143]
[5.4 交错动画 145]
[5.5 动画示例 151]
[5.5.1 自定义加载动画 151]
[5.5.2 实现动画效果 153]
[5.5.3 Dialog加载框 157]
[5.5.4 测试加载框效果 159]
[本章小结 161]
[6章 使用网络技术与异步编程 162]
[6.1 网络协议简介 162]
[6.1.1 HTTP协议简介 163]
[6.1.2 HTTP 2.0能给我们带来什么 164]
6.1.3 HTTPS 166
[6.2 网络编程 167]
6.2.1 HttpClient 167
[6.2.2 http库 170]
[6.3 JSON解析 171]
[6.3.1 JSON转成Dart对象 172]
[6.3.2 一个完整的例子 173]
[6.3.3 根据JSON用工具生成实体类 175]
[6.4 dio库 176]
[6.4.1 基本用法 177]
[6.4.2 dio单例 177]
[6.4.3 dio拦截器 178]
[6.4.4 dio拦截器链 180]
[6.4.5 dio适配器 181]
[6.4.6 dio库总结 183]
[6.5 异步编程 184]
6.5.1 isolate 184
6.5.2 event loop 184
[6.5.3 线程模型与isolate 188]
[6.5.4 创建单独的isolate 190]
[6.5.5 Stream事件流 192]
[本章小结 195]
[7章 路由 196]
[7.1 路由简介 196]
[7.1.1 基本用法 197]
[7.1.2 静态路由 197]
[7.1.3 动态路由 200]
[7.1.4 参数回传 203]
[7.2 路由栈 206]
[7.2.1 路由栈详解 207]
[7.2.2 pushReplacementNamed方法 207]
[7.2.3 popAndPushNamed方法 208]
[7.2.4 pushNamedAndRemoveUntil方法 209]
[7.2.5 popUntil方法 210]
[7.3 自定义路由 210]
[本章小结 214]
[8章 持久化 215]
[8.1 shared_preferences本地存储 215]
[8.1.1 shared_preferences的常用操作 216]
[8.1.2 shared_preferences举例 216]
[8.2 SQLite数据库 219]
[8.2.1 sqflite依赖库简介 220]
[8.2.2 封装SQL Helpers 223]
[8.2.3 sqflite实现员工打卡示例 225]
[8.3 文件形式存储 232]
[8.3.1 path_provider简介 233]
[8.3.2 一个简单的日记本示例 233]
[本章小结 236]
[9章 插件与混合工程 237]
9.1 package 237
[9.1.1 添加package的几种方式 238]
[9.1.2 更新package 239]
[9.1.3 创建自己的package 240]
[9.1.4 发布package 240]
[9.2 理解Platform Channel 241]
[9.2.1 消息传递与编解码器 242]
[9.2.2 Platform数据类型支持 243]
[9.2.3 MethodChannel简介 243]
[9.2.4 SharedPreferences插件源码解析 245]
[9.3 混合开发 247]
[9.3.1 创建Flutter模块 248]
[9.3.2 关联原生工程 248]
[9.3.3 编写混合工程代码 249]
[9.3.4 热重载混合端代码 251]
[9.3.5 aar模块化打包 252]
[9.4 FlutterBoost混合方案 253]
[9.4.1 框架的由来 253]
[9.4.2 使用FlutterBoost改进 254]
[9.4.3 FlutterBoost源码分析 255]
[本章小结 263]
[10章 项目实战 264]
[10.1 实战一:实现一个招聘类App 264]
[10.1.1 项目需求与技术选型 264]
[10.1.2 服务端设计 265]
[10.1.3 Flutter基础架构 270]
[10.1.4 启动页面 271]
[10.1.5 使用dio实现网络请求 273]
[10.1.6 公司列表与详情实现 275]
[10.1.7 用WebSocket实现聊天模块 281]
[10.2 实战二:实现异常上报系统 286]
[10.2.1 实现原理 286]
[10.2.2 FlutterError.onError和Zone 287]
[10.2.3 异常上报Flutter的实现 288]
[10.2.4 异常上报Android端的实现 290]
[10.2.5 服务端接收异常上报 293]
[10.3 实战项目源码 299]
[10.4 性能分析与辅助工具 300]
[本章小结 304]


