本书以实战开发为主旨,以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语法
袁林
2010年毕业于南京邮电大学。毕业后一直从事移动APP研发工作。先后服务于中兴通讯、三星电子和南京企友等公司。历任App高级工程师、项目经理等职位。具备丰富的Node.js后端服务构建、Native客户端开发和React Native客户端开发经验。长期致力于应用各种IT新技术提升生产效率和解决实际问题。曾经带队自主研发多个电信级企业应用。
前言
第1篇 React Native入门和基础
第1章 为什么要学习React Native 2
1.1 看透React Native 2
1.2 React Native的特点 5
1.3 搭建React Native开发环境 9
1.4 第一个React Native应用 16
1.5 小试牛刀——更改React Native项目源码 18
1.6 小结 20
第2章 全局解析React Native开发的基础技术 21
2.1 开发具备的基础知识说明 21
2.2 Git版本控制工具 22
2.3 React Native的JSX解决方案 24
2.4 React Native的Flexbox布局 25
2.5 如何调试React Native项目 35
2.6 实战——设计一个电商App 37
2.7 小结 56
第2篇 React Native应用开发实战
第3章 React Native的组件(1) 58
3.1 创建新的电商App 58
3.2 完善搜索框功能——TextInput组件 64
3.3 完善轮播广告——Image组件 68
3.4 完善商品列表——ListView组件 73
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.2 第三方组件 102
4.3 小结 113
第5章 原生平台的适配和调试 114
5.1 iOS平台的适配 114
5.2 iOS开发的调试技巧 117
5.3 Android平台的适配 118
5.4 Android平台的调试技巧 122
5.5 小结 124
第6章 React Native的服务器端处理 125
6.1 学习Node.js 125
6.2 服务端接口的设计:RESTful 132
6.3 实现电商App的服务器端接口 133
6.4 网络前后端交互的原理fetch 145
6.5 App从服务器获取数据 146
6.6 App数据的本地化存储 160
6.7 小结 168
第7章 常用React Native API 169
7.1 屏幕设置相关API 169
7.2 动画API 174
7.3 组件、React Native API、原生平台API 184
7.4 实现自己的Platform API 185
7.5 为应用添加更丰富的API 189
7.6 小结 208
第3篇 React Native混合编程
第8章 React Native与原生平台混合编程(1) 210
8.1 创建并移植项目 210
8.2 访问设备 211
8.3 访问相册 217
8.4 React Native与原生平台的通信原理 228
8.5 React Native平台调用原生页面 229
8.6 原生平台调用React Native组件 238
8.7 小结 240
第9章 React Native与原生平台混合编程(2) 241
9.1 使用相机拍摄图片 241
9.2 添加图片选择提示框 247
9.3 重构图片选择库 251
9.4 向iOS项目中添加React Native支持 256
9.5 向Android项目中添加React Native支持 261
9.6 小结 264
第10章 电商App的复盘 265
10.1 电商App的文件 265
10.2 电商App的结构 267
10.3 优化和改进 270
10.4 用到的组件 275
10.5 小结 276
第4篇 App的发布和更新
第11章 App的发布 278
11.1 App Store苹果应用商店 278
11.2 Android应用商店 285
11.3 小结 289
第12章 App的热部署 290
12.1 什么是热部署 290
12.2 解析React Native应用的工作原理 290
12.3 实现React Native的热部署 292
12.4 微软的热部署方案CodePush 295
12.5 小结 303
附录A ES 6语法 304