描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111571797
详解React Native应用从创建、开发到发布的全过程,展示各组件和API的用法
实战为王,通过典型项目案例,让读者快速掌握React Native应用开发
书中所有内容都配合详细的实例和源代码进行讲解
全面涵盖React Native组件、API、布局、第三方组件及原生接口开发等内容
详解React Native的开发工具、命令行工具及各种调试工具的使用
详细讲解一个电商App项目案例的开发过程,提高读者的实战开发水平
涉及软件开发流程、应用架构设计、代码重构,以及原生平台与跨平台开发等
本书以实战开发为主旨,以React Native应用开发为主线,以iOS和Android双平台开发为副线,通过完整的电商类App项目案例,详细地介绍了React Native应用开发所涉及的知识,让读者全面、深入、透彻地理解React Native的主流开发方法,从而提升实战开发水平和项目开发能力。
本书共12章,分为4篇,涵盖的主要内容有搭建开发环境、Nuclide、各种命令行工具(Git、Node.js)、布局与调试、组件、API、第三方组件、基于Node.js的服务器、fetch API、AsyncStorage/SQLite/Realm数据库存储、原生平台接口开发、redux开发框架、应用打包与发布、热更新与CodePush等。
本书适合iOS和Android原生平台应用开发者,以及有兴趣加入移动平台开发的JavaScript开发者阅读。当然,本书也适合相关院校和社会培训学校作为移动开发的教材使用。
一分钟了解本书内容
React Native的优势
搭建React Native开发环境
React Native开发基础知识
React Native的组件
原生平台的适配和调试
React Native的服务器端处理
常用React Native API
React Native与原生平台混合编程
电商App的复盘
App的发布
App的热部署
ES6语法
第1篇 React Native入门和基础
第1章 为什么要学习React Native 2
1.1 看透React Native 2
1.1.1 React Native与React.js 2
1.1.2 React Native的跨平台 3
1.1.3 解剖React Native应用的结构 4
1.2 React Native的特点 5
1.2.1 其一:Learn Once, Write Anywhere 5
1.2.2 其二:简单易学的开发语言 6
1.2.3 其三:接近原生应用的性能和体验 7
1.2.4 其四:完善的生态系统 7
1.3 搭建React Native开发环境 9
1.3.1 安装原生开发工具——Android 9
1.3.2 安装原生开发工具——iOS 11
1.3.3 安装Node.js 12
1.3.4 安装React Native 13
1.3.5 安装其他辅助工具 14
1.4 个React Native应用 16
1.4.1 初始化项目 16
1.4.2 运行项目 17
1.4.3 调试项目 18
1.5 小试牛刀——更改React Native项目源码 18
1.6 小结 20
第2章 全局解析React Native开发的基础技术 21
2.1 开发具备的基础知识说明 21
2.2 Git版本控制工具 22
2.2.1 安装Git 22
2.2.2 Git常用命令 22
2.3 React Native的JSX解决方案 24
2.4 React Native的Flexbox布局 25
2.4.1 flexDirection设置组件的排列 26
2.4.2 flexWrap设置是否换行 28
2.4.3 justifyContent设置横向排列位置 30
2.4.4 alignItems设置纵向排列位置 31
2.4.5 alignSelf设置特定组件的排列 33
2.4.6 flex设置组件所占空间 34
2.5 如何调试React Native项目 35
2.6 实战——设计一个电商App 37
2.6.1 电商App的模块划分 37
2.6.2 设计首页布局 41
2.6.3 实现搜索栏 44
2.6.4 设计轮播广告 46
2.6.5 展示商品列表 51
2.6.6 实现交互功能和状态栏 52
2.7 小结 56
第2篇 React Native应用开发实战
第3章 React Native的组件(1) 58
3.1 创建新的电商App 58
3.1.1 移植旧电商项目 58
3.1.2 重构现有的代码 60
3.2 完善搜索框功能——TextInput组件 64
3.2.1 搜索提示框 64
3.2.2 调试搜索结果 66
3.2.3 优化搜索框样式 67
3.3 完善轮播广告——Image组件 68
3.3.1 使用网络图片 68
3.3.2 使用本地图片 69
3.3.3 添加指示器组件 71
3.4 完善商品列表——ListView组件 73
3.4.1 对图片资源进行重构 74
3.4.2 重新定义商品模型 75
3.4.3 商品布局的优化 76
3.5 拖曳刷新列表——RefreshControl组件 80
3.6 添加页面跳转功能——Navigator组件 83
3.7 二级页面的跳转——TouchableOpacity组件 86
3.8 实现页面间的数据传递 89
3.9 小结 90
第4章 React Native的组件(2) 91
4.1 只支持特定平台的组件 91
4.1.1 实现多页面分页TabBarIOS/ViewPagerAndroid 91
4.1.2 加载指示器——ActivityIndicator 96
4.1.3 地图——MapView 97
4.1.4 渲染——Picker 98
4.1.5 选择范围——Slider 99
4.1.6 开关组件——Switch 100
4.1.7 打开网页——WebView 101
4.2 第三方组件 102
4.2.1 react-native-swiper的使用 103
4.2.2 NativeBase的使用 104
4.2.3 NativeBase如何解决跨平台问题 111
4.3 小结 113
第5章 原生平台的适配和调试 114
5.1 iOS平台的适配 114
5.1.1 Images.xcassets适配 115
5.1.2 自动布局Auto Layout 115
5.1.3 Size Class适配 116
5.2 iOS开发的调试技巧 117
5.3 Android平台的适配 118
5.3.1 适配原理 118
5.3.2 常用的适配属性 119
5.4 Android平台的调试技巧 122
5.5 小结 124
第6章 React Native的服务器端处理 125
6.1 学习Node.js 125
6.1.1 什么是Node.js 125
6.1.2 为什么选择Node.js 126
6.1.3 安装和使用nvm 128
6.1.4 Node.js的开发流程 129
6.2 服务端接口的设计:RESTful 132
6.3 实现电商App的服务器端接口 133
6.3.1 Express框架 133
6.3.2 查询商品接口 138
6.3.3 新建商品接口 142
6.3.4 更新商品接口 143
6.3.5 删除商品接口 144
6.4 网络前后端交互的原理fetch 145
6.5 App从服务器获取数据 146
6.5.1 获取商品信息 148
6.5.2 更新商品信息 151
6.5.3 新建商品 157
6.5.4 删除商品 158
6.6 App数据的本地化存储 160
6.6.1 AsyncStorage异步键值存储 160
6.6.2 SQLite数据库 164
6.6.3 Realm数据库 166
6.7 小结 168
第7章 常用React Native API 169
7.1 屏幕设置相关API 169
7.1.1 获取屏幕宽高——Dimensions API 170
7.1.2 获取屏幕分辨率——PixelRatio API 173
7.2 动画API 174
7.2.1 RequestAnimationFrame API帧动画 175
7.2.2 LayoutAnimation API布局动画 177
7.2.3 Animated API高级动画 179
7.3 组件、React Native API、原生平台API 184
7.3.1 组件和API 184
7.3.2 API和原生平台API 184
7.4 实现自己的Platform API 185
7.4.1 支持iOS平台 186
7.4.2 支持Android平台 188
7.5 为应用添加更丰富的API 189
7.5.1 提示框和编辑框——AlertIOS 190
7.5.2 前后台状态变化——AppState 193
7.5.3 Android物理“返回键”——BackAndroid 195
7.5.4 日期和时间选择器——DatePickerAndroid/TimePickerAndroid 196
7.5.5 基于位置的Geolocation 200
7.5.6 键盘事件——Keyboard 202
7.5.7 设备联网状态——NetInfo 204
7.5.8 权限设置——PermissionsAndroid 205
7.5.9 悬浮提示框——ToastAndroid 207
7.6 小结 208
第3篇 React Native混合编程
第8章 React Native与原生平台混合编程(1) 210
8.1 创建并移植项目 210
8.2 访问设备 211
8.2.1 访问iOS设备 213
8.2.2 访问Android设备 214
8.3 访问相册 217
8.3.1 读取iOS相册中的图片 219
8.3.2 读取Android相册中的图片 224
8.4 React Native与原生平台的通信原理 228
8.5 React Native平台调用原生页面 229
8.5.1 React Native平台调用原生iOS页面 231
8.5.2 React Native平台调用原生Android页面 234
8.6 原生平台调用React Native组件 238
8.6.1 iOS平台调用React Native组件 238
8.6.2 Android平台调用React Native组件 239
8.7 小结 240
第9章 React Native与原生平台混合编程(2) 241
9.1 使用相机拍摄图片 241
9.1.1 使用iOS相机拍摄 241
9.1.2 使用Android相机拍摄 244
9.2 添加图片选择提示框 247
9.2.1 iOS平台的提示 247
9.2.2 Android平台的提示 249
9.3 重构图片选择库 251
9.3.1 iOS平台的重构 251
9.3.2 Android平台的重构 253
9.4 向iOS项目中添加React Native支持 256
9.4.1 新建iOS项目 256
9.4.2 新建React Native项目 257
9.4.3 在iOS页面打开React Native组件 259
9.5 向Android项目中添加React Native支持 261
9.5.1 新建Android项目 261
9.5.2 新建React Native项目 261
9.5.3 在Android页面打开React Native组件 262
9.6 小结 264
第10章 电商App的复盘 265
10.1 电商App的文件 265
10.1.1 JavaScript文件 266
10.1.2 iOS原生代码文件 266
10.1.3 Android原生代码文件 267
10.2 电商App的结构 267
10.2.1 Flexbox的整体布局 268
10.2.2 应用的逻辑结构 268
10.2.3 应用的通信过程 269
10.3 优化和改进 270
10.3.1 redux是什么 270
10.3.2 redux代码示例 271
10.3.3 redux生态 274
10.4 用到的组件 275
10.5 小结 276
第4篇 App的发布和更新
第11章 App的发布 278
11.1 App Store苹果应用商店 278
11.1.1 加入开发者计划 278
11.1.2 生成发布证书 280
11.1.3 注册App ID 283
11.1.4 生成描述文件 283
11.1.5 打包应用 284
11.1.6 发布到App Store 284
11.2 Android应用商店 285
11.2.1 生成签名文件 285
11.2.2 打包应用 287
11.2.3 发布到应用商店 288
11.3 小结 289
第12章 App的热部署 290
12.1 什么是热部署 290
12.2 解析React Native应用的工作原理 290
12.3 实现React Native的热部署 292
12.3.1 服务端实现 292
12.3.2 客户端实现 292
12.4 微软的热部署方案CodePush 295
12.4.1 CodePush简介 295
12.4.2 CodePush安装和注册 295
12.4.3 集成CodePush SDK 297
12.4.4 更改iOS应用 297
12.4.5 更改Android应用 301
12.5 小结 303
附录A ES 6语法 304
评论
还没有评论。