3本向治洪作品全3册 WEEX跨平台开发实战+React Native移动开发实战百度网盘pdf下载
免费下载
书籍下载
内容介绍
9787000049737
9787121368950+9787115498762+9787115470966
√ 基于Vue.js的高性能、轻量级跨平台开发框架;
√ 由开源,并捐赠给Apache基金会进行孵化的项目;
√ 全面讲解WEEX框架的各个知识点,并辅以大量案例进行说明,使读者轻松掌握WEEX知识,并应用于实际工作;
√ 本书为读者建立了共读群,方便与作者直接进行交流;
√ 本书适合所有对移动跨平台开发感兴趣及正在致力于移动跨平台开发工作的读者阅读。
近年来,伴随着大前端和移动跨平台技术的兴起,移动应用的开发手段越来越多,常见的移动跨平台技术有React Native、WEEX和Flutter等。WEEX是由研发的一套移动跨平台技术框架,目的是解决移动应用开发过程中频繁发版和多端研发的问题。
《WEEX跨平台开发实战》是一本介绍WEEX跨平台应用开发的书籍,涵盖了WEEX开发的方方面面,主要由基础知识、应用开发和项目实战三部分组成。一部分重点介绍WEEX开发的基础知识,后两部分则重点介绍WEEX开发的进阶知识和项目实战。
《WEEX跨平台开发实战》是一本WEEX入门与实战类书籍,适合有一定前端开发基础或者移动端开发基础的读者阅读。因此,无论你是前端开发者,还是移动端开发者,都可以通过对本书的学习来掌握移动跨平台应用开发的技能。
向治洪,《React Native移动开发实战》和《Kotlin入门与实战》作者,具有多年的移动客户端和前端软件开发经验,热爱大前端技术。同时,作为国内的互联网基础应用建设专家、开源技术贡献者和敏捷开发实践者,在软件开发领域,特别是大前端领域有自己独到的见解。
目录
1章 WEEX简介 1
1.1 WEEX简介 1
1.1.1 原生平台与Web平台的差异 1
1.1.2 设计理念 2
1.1.3 WEEX工作原理 3
1.2 移动跨平台技术剖析 4
1.2.1 React Native 5
1.2.2 Flutter 6
1.2.3 PWA 8
1.2.4 对比与分析 8
1.3 本章小结 9
2章 WEEX快速入门 10
2.1 安装与配置WEEX 10
2.1.1 安装依赖 10
2.1.2 创建项目 12
2.1.3 开发与运行项目 13
2.1.4 集成到iOS 16
2.1.5 集成到Android 20
2.1.6 WEEX语法插件 22
2.2 在WEEX中使用Vue.js 25
2.2.1 与Web平台的异同 25
2.2.2 单文件组件 26
2.2.3 WEEX支持的Vue.js功能 27
2.3 WEEX调试 29
2.3.1 weex-toolkit简介 29
2.3.2 weex-devtool远程调试 32
2.3.3 集成weex-devtool到iOS 35
2.3.4 集成weex-devtool到Android 37
2.4 本章小结 42
3章 WEEX基础知识 43
3.1 基本概念 43
3.1.1 组件 43
3.1.2 模块 44
3.1.3 适配器 45
3.2 样式 46
3.2.1 盒模型 46
3.2.2 弹性布局 49
3.2.3 定位属性 57
3.2.4 2D转换 59
3.2.5 过渡 60
3.2.6 伪类 62
3.2.7 线性渐变 63
3.2.8 文本样式 66
3.3 事件 66
3.3.1 通用事件 66
3.3.2 事件冒泡 69
3.3.3 手势 70
3.4 扩展 71
3.4.1 HTML5扩展 71
3.4.2 Android扩展 73
3.4.3 iOS扩展 76
3.4.4 iOS扩展兼容Swift 79
3.5 本章小结 81
4章 组件与模块 82
4.1 内置组件 82
4.1.1
组件 82
4.1.2 组件 84
4.1.3 组件 85
4.1.4 组件 86
4.1.5 组件 87
4.1.6 组件 91
4.1.7
4.1.8 组件 97
4.2 内置模块 100
4.2.1 DOM模块 100
4.2.2 steam模块 102
4.2.3 modal模块 103
4.2.4 animation模块 105
4.2.5 navigator模块 107
4.2.6 storage模块 108
4.3 Weex Ui详解 110
4.3.1 Weex Ui简介 110
4.3.2 组件 111
4.3.3 组件 113
4.3.4 组件 117
4.3.5 组件 119
4.3.6 组件 121
4.4 本章小结 123
5章 Rax框架详解 124
5.1 Rax简介 124
5.2 Rax快速入门 125
5.2.1 搭建环境 125
5.2.2 基本概念 127
5.2.3 FlexBox与样式 128
5.2.4 事件处理 129
5.2.5 网络请求 131
5.3 Rax组件 133
5.3.1 组件 133
5.3.2 组件 134
5.3.3 组件 136
5.3.4 组件 139
5.3.5 组件 143
5.3.6 组件 146
5.3.7 组件 148
5.4 本章小结 150
6章 Vue.js框架详解 151
6.1 Vue.js简介 151
6.2 Vue.js快速入门 152
6.2.1 搭建环境 152
6.2.2 Vue.js项目的目录结构 154
6.2.3 Vue.js实例 155
6.2.4 模板 156
6.2.5 数据 157
6.2.6 方法 158
6.2.7 生命周期 159
6.3 基础特性 162
6.3.1 数据绑定 162
6.3.2 模板渲染 163
6.3.3 事件处理 166
6.4 指令 169
6.4.1 v-bind指令 169
6.4.2 v-model指令 170
6.4.3 v-on指令 172
6.4.4 v-cloak指令 174
6.4.5 v-once指令 174
6.4.6 自定义指令 174
6.5 过滤器 178
6.5.1 过滤器注册 178
6.5.2 自定义过滤器 178
6.5.3 过滤器串联 179
6.6 Vue.js组件 180
6.6.1 组件基础 180
6.6.2 组件扩展 181
6.6.3 组件注册 181
6.6.4 组件选项 183
6.6.5 组件通信 185
6.6.6 动态组件 187
6.6.7 缓存组件 188
6.6.8 异步组件 189
6.7 vue -router 191
6.7.1 安装与配置 191
6.7.2 基本用法 192
6.7.3 路由匹配 193
6.7.4 嵌套路由 194
6.7.5 命名路由 196
6.7.6 路由对象 197
6.7.7 路由属性与方法 197
6.7.8 路由传参 199
6.8 本章小结 200
7章 BindingX框架 201
7.1 BindingX简介 201
7.1.1 基本概念 201
7.1.2 背景 202
7.2 BindingX框架快速上手 203
7.2.1 快速入门 203
7.2.2 手势 204
7.2.3 动画 208
7.2.4 滚动 211
7.2.5 陀螺仪 213
7.3 API 215
7.3.1 事件类型 215
7.3.2 表达式 217
7.3.3 目标属性 217
7.3.4 插值器 218
7.3.5 颜色函数 218
7.4 本章小结 219
8章 WEEX Eros App开发实战 220
8.1 WEEX Eros简介 220
8.2 快速入门 220
8.2.1 搭建环境 221
8.2.2 创建工程 221
8.2.3 运行项目 222
8.2.4 Eros示例 225
8.2.5 工程配置 227
8.2.6 开发调试 231
8.2.7 增量发布 232
8.3 组件 232
8.3.1 globalEvent 232
8.3.2 Axios 233
8.3.3 Router 236
8.3.4 storage 239
8.3.5 event 242
8.3.6 image 244
8.3.7 notice 245
8.3.8 自定义组件 247
8.4 模块 248
8.4.1 模块概念 248
8.4.2 bmEvents 249
8.4.3 bmWebSocket 250
8.4.4 bmBundleUpdate 253
8.5 开发配置 253
8.5.1 Android原生配置 254
8.5.2 Android打包配置 255
8.5.3 iOS原生配置 257
8.5.4 iOS打包配置 258
8.6 插件 260
8.6.1 Android插件化 260
8.6.2 iOS插件化 261
8.6.3 基础插件 265
8.6.4 微信插件 266
8.6.5 高德插件 269
8.7 热更新 272
8.7.1 热更新原理 272
8.7.2 热更新配置 273
8.7.3 热更新实战 275
8.8 本章小结 278
9章 移动电商应用开发实战 279
9.1 项目概述 279
9.2 搭建项目 279
9.2.1 新建项目 279
9.2.2 编写主框架 280
蓝墨水图书专营店
React Native移动开发实战
本书全面详尽地介绍了React Native框架的方方面面,内容涵盖React Native基础知识、环境搭建与调试、开发基础、常用组件、常用API、组件封装、网络与通信、混合开发、热更新与打包部署,以及两个实际案例的完整开发教程。这些丰富的内容不仅能让读者了解这款框架中涉及的各类概念,还能指导读者开发实践。
本书语言简洁,内容丰富,适合有一定Android、iOS原生开发基础和CSS基础的移动开发工程师学习。
目录
第 1章 React Native入门
1.1 React Native基本知识 1
1.1.1 React简介 1
1.1.2 React Native简介 4
1.1.3 React Native工作原理 5
1.2 React Native与其他跨平台技术的
对比优势 6
1.2.1 Web流 7
1.2.2 代码转换流 7
1.2.3 编译流 8
1.2.4 虚拟机流 10
1.3 小结 11
第 2章 React Native环境搭建与调试
2.1 React Native环境搭建 12
2.1.1 Mac环境下搭建React Native 12
2.1.2 React Native开发IDE 15
2.1.3 创建React Native项目 16
2.1.4 运行React Native项目 17
2.1.5 iOS环境 18
2.1.6 Android环境 19
2.1.7 Windows环境下搭建React Native 22
2.2 React Native 项目结构剖析 22
2.2.1 React Native文件结构 22
2.2.2 iOS文件结构及代码分析 23
2.2.3 Android文件结构及代码分析 24
2.3 React Native开发IDE介绍 26
2.3.1 Atom+Nuclide 26
2.3.2 WebStrom 29
2.4 React Native调试技巧 30
2.4.1 调试技巧 30
2.4.2 React Native调试 33
2.5 React Native代码测试 36
2.5.1 使用Flow进行类型检查 36
2.5.2 使用Jest测试 37
2.5.3 集成测试 37
2.6 小结 38
第3章 React Native开发基础
3.1 FlexBox布局 39
3.1.1 FlexBox简介 39
3.1.2 FlexBox布局模型 40
3.1.3 FlexBox布局属性 41
3.1.4 FlexBox伸缩项目属性 45
3.1.5 FlexBox在React Native中的应用 47
3.1.6 FlexBox综合实例 48
3.2 ES6语法基础 50
3.2.1 组件的导入与导出 51
3.2.2 类 52
3.2.3 状态变量 53
3.2.4 回调函数 54
3.2.5 参数 55
3.2.6 箭头操作符 57
3.2.7 Symbol 57
3.2.8 解构 58
3.3 React JSX 60
3.3.1 JSX入门 60
3.3.2 JSX语法 61
3.4 样式 64
3.4.1 申明与操作样式 64
3.4.2 样式分类 64
3.4.3 样式使用 66
3.4.4 样式传递 67
3.5 手势与触摸事件 68
3.5.1 触摸事件 68
3.5.2 手势响应 70
3.5.3 辅助功能 74
3.6 小结 77
第4章 常用组件介绍
4.1 HTML元素与原生组件 78
4.1.1 文本组件 79
4.1.2 图片组件 80
4.1.3 TextInput组件 82
4.1.4 ScrollView组件 87
4.2 结构化组件 92
4.2.1 View组件 92
4.2.2 ListView组件 94
4.2.3 Navigator组件 101
4.2.4 WebView组件 106
4.3 平台特定组件 109
4.3.1 TabBarIOS和TabBarIOS.Item
组件 109
4.3.2 ToolbarAndroid组件 113
4.3.3 SegmentedControlIOS组件 115
4.3.4 ViewPagerAndroid组件 117
4.4 Touchable系列组件 119
4.4.1 TouchableWithoutFeedback 120
4.4.2 TouchableHighlight 120
4.4.3 TouchableOpacity 122
4.4.4 TouchableNativeFeedback 122
4.5 小结 123
第5章 常用API介绍
5.1 AppRegistry 124
5.2 StyleSheet 126
5.3 AppState 128
5.4 AsyncStorage 129
5.5 PixelRatio 132
5.6 Animated 133
5.7 Geolocation 142
5.8 NetInfo 144
5.8.1 获取网络状态 144
5.8.2 网络状态 145
5.8.3 判断网络是否连接 146
5.9 小结 146
第6章 组件封装
6.1 组件的生命周期 147
6.2 第三方库 150
6.2.1 react-navigation 150
6.2.2 react-native-tab-navigator 153
6.2.3 react-native-scrollable-tab-view 157
6.2.4 react-native-image-picker 161
6.2.5 Mobx 166
6.2.6 react-native-art 172
6.3 自定义组件 177
6.3.1 组件的导出导入 177
6.3.2 TabbarView封装 178
6.3.3 九宫格布局封装 181
6.3.4 下拉刷新组件封装 185
6.4 小结 192
第7章 网络与通信
7.1 通信机制 193
7.1.1 React Native与Android通信 194
7.1.2 React Native与iOS通信 208
7.2 Promise 机制 210
7.2.1 Promise 简介 210
7.2.2 Promises基本用法 213
7.2.3 在React Native中使用AJAX技术 214
7.3 网络请求 216
7.3.1 XMLHttpRequest请求 216
7.3.2 fetch请求 218
7.4 小结 223
第8章 混合开发高 级篇
8.1 React Native调用iOS原生组件 224
8.1.1 React Native链接原生库 225
8.1.2 React Native调用Objective-C创建的
原生组件 227
8.2 React Native调用Android原生组件 233
8.2.1 编写原生UI组件 233
8.2.2 编写端实现 236
8.3 小结 238
第9章 热更新与打包部署
9.1 iOS应用打包 239
9.1.1 iOS应用配置 240
9.1.2 打包离线Bundle 242
9.1.3 设置发布Scheme 243
9.1.4 发布应用 243
9.2 Android应用打包 244
9.2.1 打包离线Bundle 244
9.2.2 生成签名密钥 245
9.2.3 生成签名apk 246
9.3 热更新 248
9.3.1 热更新原理 249
9.3.2 热更新配置 249
9.3.3 登录与创建应用 252
9.3.4 添加热更新功能 253
9.3.5 发布热更新版本 256
9.4 小结 257
第 10章 基于LBS的天气预报应用开发
10.1 需求分析与确定 258
10.1.1 需求分析 258
10.1.2 需求确定 260
10.1.3 整体功能分析 260
10.1.4 技术与架构分析 261
10.2 项目设计 261
10.3 程序入口与工具模块 263
10.3.1 程序入口 263
10.3.2 数据模型定义与数据解析 266
10.3.3 数据存储 271
10.3.4 工具类 273
10.4 模块开发 275
10.4.1 组件封装 276
10.4.2 天气预报页面开发 276
10.4.3 Navigation导航 285
10.5 运行结果 286
第 11章 O2O移动团购应用
11.1 需求分析 288
11.1.1 需求分析 288
11.1.2 功能分析 289
11.2 应用设计 291
11.2.1 模块划分 291
11.2.3 添加第三方库 292
11.3 项目搭建与工具模块开发 293
11.3.1 程序入口 293
11.3.2 搭建主框架 294
11.3.3 导航栏封装 298
11.3.4 WebView封装 303
11.3.5 字体样式工具类 306
11.4 功能开发 307
11.4.1 分类导航入口开发 307
11.4.2 专题活动开发 309
11.4.3 商品列表开发 311
11.4.4 详情页面开发 313
11.4.5 Modal分享弹窗开发 318
11.5 完成开发 322
11.5.1 添加闪屏页 322
11.5.2 修改应用图标和名称 324
11.6 小结 325
Kotlin入门与实战
《Kotlin入门与实战》从Kotlin的发展史讲起,将理论知识和项目实例相结合,全面介绍Kotlin的基础与应用。通过阅读本书,读者可以迅速掌握Kotlin的基本操作,轻松应对使用Java开发所带来的技术难题。
《Kotlin入门与实战》内容共分为18章,由Kotlin入门与基础、Kotlin语法和Kotlin项目实例3个部分组成。部分(第1~3章)主要介绍了Kotlin的发展、Kotlin开发环境搭建、JVM语系和Kotlin各版本的重要特性。第二部分(第4~16章)详细解析Kotlin的基础语法。第三部分(第17、18章)集中演示了基础知识的实战运用。
《Kotlin入门与实战》适合前端开发人员、Android/iOS开发人员以及Java从业人员阅读。
目录
第 一部分 Kotlin入门与基础
第 1章 Kotlin简介 1
1.1 Kotlin发展史 1
1.2 面向对象编程概述 3
1.2.1 面向过程编程 3
1.2.2 面向对象编程 4
1.3 Java虚拟机 5
1.3.1 JVM语系生态 5
1.3.2 Java虚拟机概述 7
1.3.3 Kotlin应用程序运行过程 7
1.4 为什么使用Kotlin 8
1.5 Kotlin与Java的比较 11
1.6 小结 12
第 2章 Kotlin初体验 13
2.1 Kotlin在线运行 13
2.2 Kotlin 1.1特性 15
2.2.1 全面支持 15
2.2.2 JVM新特性 16
2.2.3 协程 17
2.2.4 标准库 19
2.3 Kotlin 1.2新特性 20
2.3.1 多平台支持 21
2.3.2 多平台环境搭建 21
2.3.3 特定平台声明 24
2.3.4 标准库支持 25
2.3.5 JVM特性 27
2.3.6 特性支持 28
2.4 小结 29
第3章 Kotlin快速入门 30
3.1 在Mac上搭建Kotlin开发环境 30
3.1.1 安装与配置JDK环境 30
3.1.2 安装与配置IDE 33
3.2 Kotlin开发IDE介绍 36
3.2.1 IntelliJ IDEA开发环境 36
3.2.2 Android Studio集成开发环境 38
3.3 Kotlin的编译与运行 42
3.3.1 命令行方式编译运行Kotlin 42
3.3.2 运行Kotlin REPL 44
3.3.3 在浏览器中运行Kotlin 45
3.3.4 在Node.js中运行Kotlin 47
3.4 Kotlin构建方式 48
3.4.1 使用Gradle方式构建Kotlin 48
3.4.2 使用Maven方式构建Kotlin 50
3.4.3 使用Ant方式构建Kotlin 51
3.4.4 Kotlin与OSGi 52
3.4.5 Kotlin与Kapt 53
3.5 编译器插件 55
3.5.1 全开放编译插件 55
3.5.2 无参编译器插件 56
3.6 小结 58
第二部分 Kotlin语法
第4章 Kotlin语法基础 59
4.1 Kotlin编程风格 59
4.2 变量与属性 61
4.2.1 变量声明 61
4.2.2 getter和setter 63
4.2.3 访问权限 65
4.3 基本数据类型 66
4.3.1 数值类型 66
4.3.2 字符类型 68
4.3.3 布尔类型 69
4.3.4 数组类型 69
4.3.5 字符串 70
4.4 包声明与使用 72
4.5 流程控制语句 75
4.5.1 if条件语句 75
4.5.2 when语句 76
4.5.3 for循环 78
4.5.4 while循环 79
4.5.5 返回与跳转 79
4.6 Kotlin运算符 80
4.6.1 赋值运算符 80
4.6.2 算数运算符 81
4.6.3 关系运算符 81
4.6.4 逻辑运算符 82
4.6.5 区间运算符 82
4.6.6 运算符优先级 83
4.7 运算符重载 84
4.7.1 一元运算符 85
4.7.2 二元运算符 86
4.7.3 位运算符 88
4.8 Kotlin操作符 88
4.8.1 冒号操作符 88
4.8.2 @操作符 89
4.8.3 $操作符 90
4.8.4 安全转换操作符 90
4.8.5 类型判断操作符 90
4.9 Kotlin动态类型 91
4.10 Kotlin空安全 92
4.10.1 可空类型与不可空类型 92
4.10.2 判空操作符 93
4.10.3 Elvis操作符 94
4.10.4 强校验操作符 94
4.10.5 安全的类型转换 95
4.10.6 可空类型集合 95
4.11 异常处理 95
4.11.1 异常类 95
4.11.2 自定义异常 96
4.11.3 try表达式 97
4.11.4 throw表达式 97
4.11.5 受检异常 97
4.12 小结 98
第5章 类与接口 99
5.1 类 99
5.1.1 类的声明 99
5.1.2 构造函数 101
5.1.3 类的实例 102
5.2 继承 103
5.3 抽象类 106
5.4 接口 108
5.5 小结 110
第6章 扩展函数与属性 111
6.1 枚举 111
6.1.1 基本用法 111
6.1.2 枚举类扩展 112
6.2 扩展 114
6.2.1 扩展的动机 114
6.2.2 扩展原生函数 114
6.2.3 静态解析 115
6.2.4 扩展属性 116
6.2.5 扩展伴生对象 117
6.2.6 扩展的作用域 117
6.2.7 类中声明扩展 118
6.3 this表达式 120
6.4 小结 121
第7章 数据类与密封类 122
7.1 数据类 122
7.1.1 对象复制 123
7.1.2 序列化 124
7.1.3 成员解构 125
7.2 密封类 127
7.3 小结 128
第8章 集合与泛型 129
8.1 集合 129
8.1.1 集 129
8.1.2 列表 130
8.1.3 映射 132
8.2 泛型 133
8.2.1 泛型基础 133
8.2.2 型变 134
8.2.3 声明处型变 135
8.2.4 类型投影 136
8.2.5 星号投影 138
8.2.6 泛型函数 138
8.2.7 泛型约束 139
8.3 小结 139
第9章 对象与委托 140
9.1 对象 140
9.1.1 对象表达式 140
9.1.2 对象声明 142
9.1.3 伴生对象 143
9.2 委托 144
9.2.1 类委托 144
9.2.2 委托属性 145
9.3 标准委托 146
9.3.1 属性 146
9.3.2 可观察属性 147
9.3.3 Map委托 148
9.3.4 Not Null 149
9.3.5 局部委托属性 150
9.3.6 提供委托 151
9.4 小结 152
第 10章 反射与注解 153
10.1 反射 153
10.1.1 类引用 154
10.1.2 类成员引用 154
10.1.3 函数引用 155
10.1.4 属性引用 156
10.1.5 构造函数引用 157
10.1.6 KClass反射 158
10.1.7 对象序列化 161
10.2 注解 162
10.2.1 注解声明 162
10.2.2 注解使用 163
10.2.3 注解类的构造函数 165
10.2.4 注解使用场景目标 166
10.2.5 与Java注解互调 167
10.2.6 注解分类 168
10.2.7 注解的生命周期 169
10.3 小结 169
第 11章 函数与Lambda表达式 170
11.1 函数 170
11.1.1 函数基本用法 170
11.1.2 中缀表示法 171
11.1.3 函数参数 171
11.1.4 函数作用域 173
11.1.5 函数返回值 174
11.1.6 尾递归函数 175
11.2 高阶函数 175
11.2.1 高阶函数基本用法 175
11.2.2 标准高阶函数 177
11.3 内联函数 179
11.3.1 内联Lambda表达式 179
11.3.2 内联函数声明 180
11.3.3 非局部返回 181
11.3.4 实例化类型参数 182
11.3.5 内联属性 183
11.4 Lambda表达式与匿名函数 183
11.4.1 Lambda表达式语法 184
11.4.2 函数类型 185
11.4.3 匿名函数 185
11.4.4 闭包 186
11.4.5 函数显式声明 186
11.5 小结 187
第 12章 协程 188
12.1 协程简介 188
12.1.1 协程与线程 188
12.1.2 使用协程的好处 189
12.2 协程开发环境 190
12.2.1 Gradle构建方式 190
12.2.2 Maven构建方式 191
12.3 协程基础 192
12.3.1 launch函数 192
12.3.2 共享线程池 193
12.3.3 阻塞与挂起 193
12.3.4 runBlocking函数 194
12.3.5 协程取消 195
12.3.6 协程超时 195
12.3.7 标准API 196
12.4 挂起函数 197
12.4.1 默认顺序执行 198
12.4.2 异步并发执行 198
12.4.3 异步样式函数 200
12.5 协程上下文与调度器 201
12.5.1 协程调度与线程 201
12.5.2 非限制与限制协程 202
12.5.3 协程与线程调试 203
12.5.4 协程中的子协程 203
12.6 通道 204
12.6.1 通道基础 204
12.6.2 通道的关闭与迭代 205
12.6.3 通道生产者 206
12.7 管道 206
12.7.1 管道生产与消费 206
12.7.2 管道与质数 207
12.7.3 多接收者协程 208
12.7.4 通道缓存 209
12.8 小结 210
第 13章 I/O操作与多线程 211
13.1 Kotlin流层次 211
13.1.1 字节输入流 212
13.1.2 字节输出流 213
13.1.3 字符输入流 214
13.1.4 字符输出流 215
13.1.5 字符流与字节流转换 216
13.2 文件I/O操作 216
13.2.1 文件读取 217
13.2.2 文件写入 217
13.2.3 文件遍历 218
13.3 网络I/O操作 219
13.4 多线程 219
13.4.1 线程创建 220
13.4.2 线程同步 220
13.5 小结 221
第 14章 Kotlin DSL 222
14.1 DSL简介 222
14.1.1 DSL的设计与实现 222
14.1.2 DSL分类 223
14.2 DSL语义模型 223
14.2.1 依赖网络 224
14.2.2 产生式规则 224
14.2.3 状态机 224
14.3 Kotlin的DSL特性 225
14.4 使用kotlinx.html创建DSL 226
14.4.1 Maven构建方式 227
14.4.2 Gradle构建方式 228
14.4.3 kotlinx.html实例 229
14.5 Android Gradle指南 233
14.5.1 链式命令 233
14.5.2 委托 234
14.6 使用Kotlin与Anko进行Android开发 235
14.6.1 Anko简介 235
14.6.2 Anko核心组件与工具 236
14.6.3 Anko使用实例 238
14.7 小结 242
第 15章 Kotlin互操作 243
15.1 Kotlin与Java互操作 243
15.1.1 在Kotlin中调用Java 243
15.1.2 在Java中调用Kotlin 251
15.1.3 JSR-305支持 257
15.2 Kotlin与互操作 261
15.2.1 在Kotlin中调用 261
15.2.2 在中调用Kotlin 264
15.2.3 模块 266
15.2.4 反射 269
15.2.5 DCE 270
15.3 小结 271
第 16章 Kotlin Native开发 272
16.1 Kotlin Native 272
16.1.1 Kotlin Native简介 272
16.1.2 Kotlin Native编译器 273
16.1.3 编译器konan 274
16.2 Kotlin Native实例 275
16.2.1 构建Kotlin Native项目 275
16.2.2 添加konan插件配置 276
16.2.3 编写源代码 277
16.2.4 添加konanInterop与konanArtifacts配置 278
16.2.5 编译与执行 279
16.2.6 用命令行方式编译Kotlin Native 280
16.3 使用Kotlin Native开发iOS应用 281
16.3.1 创建Kotlin Native项目 281
16.3.2 Kotlin Native测试 284
16.4 小结 286
第三部分 Kotlin项目实例
第 17章 使用Kotlin与Spring Boot开发服务端 287
17.1 Spring Boot环境搭建 287
17.1.1 Spring Boot简介 287
17.1.2 创建Spring Boot应用程序 288
17.1.3 启动Spring Boot应用程序 292
17.1.4 应用测试 293
17.1.5 properties配置文件 296
17.2 Spring Boot之Thymeleaf模板 298
17.3 使用Swagger构建RESTful API 301
17.4 Spring Boot通过MyBatis整合MySQL数据库 304
17.5 Spring Boot整合Redis数据库 308
17.5.1 Redis简介 308
17.5.2 Spring Boot整合Redis 310
17.6 Spring Boot整合Elasticsearch 313
17.6.1 Elasticsearch简介 313
17.6.2 Spring Boot整合Elasticsearch 315
17.7 Spring Boot集成RabbitMQ 319
17.7.1 RabbitMQ简介 319
17.7.2 Spring Boot集成RabbitMQ 321
17.8 Spring Boot热部署与日志管理 323
17.9 Spring Framework 5.0对Kotlin的支持 326
17.9.1 函数式Bean注册方式 326
17.9.2 使用Kotlin调用Spring Web的功能性API 326
17.9.3 RestTemplate与函数式API扩展 327
17.9.4 Reactor的Kotlin扩展 327
17.9.5 基于模板的Kotlin脚本 327
17.10 小结 328
第 18章 使用Kotlin开发Android视频应用 329
18.1 项目概述 329
18.2 浅谈Android开发架构模式 329
18.2.1 MVC 331
18.2.2 MVP 331
18.2.3 MVVM 332
18.3 项目准备 333
18.3.1 新建Android项目 333
18.3.2 添加项目库依赖 334
18.3.3 编写主页面 335
18.3.4 Android 6.0权限适配 338
18.3.5 GSYVideoPlayer播放器简介 340
18.4 项目开发 341
18.4.1 基础类封装 341
18.4.2 Retrofit封装 344
18.4.3 自定义状态控制控件 345
18.4.4 首页模块开发 348
18.4.5 视频详情页面开发 352
18.4.6 搜索功能的实现 355
18.5 小结 357
^_^:ce19115b8920e45b491e20b5cee794dd