本书通过丰富的示例和详细的讲解,介绍了React Native这款JavaScript框架。在React Native中利用现有的JavaScript和React知识,就可以开发和部署功能完备的、真正原生的移动应用,并同时支持iOS与Android平台。除了框架本身的概念讲解之外,本书还讨论了如何使用第三方库,以及如何编写自己的Java或Objective-C的React Native扩展。
前言xi
第1章 初识React Native1
1.1 React Native 的优点2
1.1.1 开发者体验2
1.1.2 代码复用与知识共享3
1.2 风险和缺点4
1.3 小结4
第2章 React Native 工作原理5
2.1 React Native 是如何工作的5
2.2 渲染周期7
2.3 在React Native 中创建组件 7
2.3.1 编写视图7
2.3.2 使用JSX9
2.3.3 原生组件的样式10
2.4 宿主平台接口11
2.5 小结12
第3章 构建你的第一个应用13
3.1 搭建环境13
3.1.1 安装React Native14
3.1.2 iOS 依赖14
3.1.3 Android 依赖14
3.2 创建一个新的应用17
3.2.1 在iOS 平台运行React Native 应用18
3.2.2 部署到iOS 设备20
3.2.3 在Android 平台运行React Native 应用23
3.2.4 小结:创建并运行项目24
3.3 探索示例代码24
3.3.1 添加组件到视图中24
3.3.2 React Native 中的模块导入25
3.3.3 FirstProject 组件26
3.4 开发天气应用27
3.4.1 处理用户输入28
3.4.2 展现数据30
3.4.3 添加背景图片34
3.4.4 从Web 获取数据36
3.4.5 整合37
3.5 小结40
第4章 移动应用组件42
4.1 类比HTML 元素与原生组件42
4.1.1 文本组件43
4.1.2 图片组件45
4.2 处理触摸和手势46
4.2.1 使用TouchableHighlight47
4.2.2 GestureResponder 系统49
4.2.3 PanResponder52
4.3 使用结构化组件58
4.3.1 使用ListView58
4.3.2 使用Navigator66
4.3.3 其他结构化组件68
4.4 平台特定组件69
4.4.1 iOS 或Android 特定组件69
4.4.2 平台特定版本的组件70
4.4.3 何时使用平台特定组件74
4.5 小结74
第5章 样式75
5.1 声明和操作样式75
5.1.1 内联样式76
5.1.2 对象样式76
5.1.3 使用Stylesheet.Create77
5.1.4 样式拼接77
5.2 组织和继承79
5.2.1 导出样式对象79
5.2.2 样式作为属性传递80
5.2.3 复用和共享样式81
5.3 定位和设计布局81
5.3.1 使用flexbox 布局82
5.3.2 使用绝对定位86
5.3.3 学以致用86
5.4 小结91
第6章 平台接口92
6.1 使用定位接口93
6.1.1 获取用户地理位置93
6.1.2 处理权限问题94
6.1.3 在iOS 模拟器上测试定位95
6.1.4 监听用户位置96
6.1.5 限制96
6.1.6 改进天气应用96
6.2 使用用户图片与摄像头 99
6.2.1 相机模块99
6.2.2 通过getPhotoParams 获取图片101
6.2.3 从相机渲染一张图片101
6.2.4 展示照片列表103
6.2.5 上传图片至服务器107
6.3 AsyncStore 持久化数据存储108
6.4 智能天气应用109
6.4.1 WeatherProject 组件111
6.4.2 Forecast 组件114
6.4.3 Button 组件115
6.4.4 LocationButton 组件116
6.4.5 PhotoBackdrop 组件117
6.5 小结119
第7章 模块120
7.1 使用npm 安装JavaScript 类库120
7.2 iOS 原生模块121
7.2.1 导入第三方组件122
7.2.2 使用视频组件125
7.2.3 剖析Objective-C 原生模块125
7.2.4 RCTVideo 的实现128
7.3 Android 原生模块130
7.3.1 安装第三方组件130
7.3.2 剖析Java 原生模块134
7.3.3 LinearGradient 的Android 实现137
7.4 跨平台原生模块139
7.5 小结141
第8章 调试与开发者工具142
8.1 JavaScript 调试实践和解释142
8.1.1 激活开发者选项142
8.1.2 使用console.log 调试143
8.1.3 使用JavaScript 调试器145
8.1.4 使用React 开发者工具146
8.2 React Native 调试工具147
8.2.1 使用审查元素功能147
8.2.2 宕机红屏148
8.3 JavaScript 之外的调试方法152
8.3.1 常见的开发环境问题153
8.3.2 常见的Xcode 问题153
8.3.3 常见的Android 问题154
8.3.4 React Native 包管理器155
8.3.5 部署至iOS 设备的问题156
8.3.6 模拟器行为157
8.4 测试代码158
8.4.1 使用Flow 进行类型检查158
8.4.2 使用Jest 进行测试158
8.5 当你陷入困境160
8.6 小结160
第9章 学以致用161
9.1 闪卡应用161
9.1.1 项目结构163
9.1.2 组件层次结构164
9.2 模型与数据存储168
9.2.1 数据流架构:Reflux 与Flux170
9.2.2 在Zebreto 中使用Reflux173
9.2.3 AsyncStorage 与Reflux Store 的持久化175
9.3 使用Navigator177
9.4 探索第三方依赖180
9.5 响应式设计与字体尺寸180
9.6 小结及任务183
第10章 部署至iOS 应用商店184
10.1 准备Xcode 工程184
10.1.1 选择支持的设备和目标iOS 版本185
10.1.2 启动界面图像186
10.1.3 添加应用图标188
10.1.4 设置Bundle 名称190
10.1.5 更新AppDelegate.m190
10.1.6 为发布设置Schema191
10.2 上传应用192
10.2.1 完成协议文书192
10.2.2 创建归档193
10.2.3 在iTunes Connect 上创建应用196
10.3 使用TestFlight 进行Beta 测试199
10.4 提交应用审核200
10.5 小结201
第11章 部署Android 应用203
11.1 设置应用图标203
11.2 生成release 版本的APK205
11.3 通过邮件或链接发布207
11.4 提交应用至Play 商店207
11.4.1 通过Play Store 进行Beta 测试209
11.4.2 Play 商店列表210
11.4.3 商店列表所需的资源211
11.4.4 发布应用212
11.5 小结214
总结 215
附录A ES6 语法216
附录B 命令与快速入门指南219
作者简介221
关于封面221
《从零开始学海报招贴设计》内容简介:本书介绍了海报招贴设计知识以及应用案例,主要内容包括海报招贴设计概述、海报招贴创意与原
《高绩效HR必备图表范例》内容简介:当今人力资源管理领域面临诸多新问题、新环境、新理念、新技术,各种名类繁杂的图书也大量涌现
51单片机应用从零开始 内容简介 8051单片机不仅是国内用得*多的单片机之一,同时也是*适合初学者入门学习的一款单片机。一旦用户对它的应用卜手之后,即能开发电...
你会是那个熟读离心力概念却无法解释潮汐成因的中学生吗?其实,中学物理是与日常生活关系最密切的科目。本书将繁杂的物理公式与
深入浅出数据分析 本书特色 我们生活在数据的天地里,你的工作就是淋漓尽致地发挥数据的作用。从哪里起步?米尔顿编著的《深入浅出数据分析》将为你提供帮助:利...
《少年读山海经·千万里江山》内容简介:《山海经》是一部包罗万象的千古奇书,是一座研究古代地理和神话的宝库。“少年读山海经”
《公司的演变》内容简介:这是一个互联网串联的时代。互联网在扶植原有的经济结构和企业盈利模式的同时,也在创造崭新的商业模式。
《汪曾祺散文(初中部分)》内容简介:汪曾祺散文随意散漫、有时逸笔草草,实际上他绝非率尔操觚。汪曾祺重视散文,认为“写任何形
《香菱学诗》内容简介:“刘心武爷爷讲红楼梦”是著名红学家刘心武创新性推出的,专为儿童讲解《红楼梦》的文学著作。本丛书共2辑,
《中国财政分权、地方政府行为与经济增长》内容简介:本书是国家社科基金重点项目的研究成果,入选“国家哲学社会科学成果文库”。
《亿级流量网站架构核心技术》一书总结并梳理了亿级流量网站高可用和高并发原则,通过实例详细介绍了如何落地这些原则。本书分为
《班长的战争:华为一线管理者实战指南》内容简介:本书是对任正非和华为所倡导的“班长战争”的实践解读。军人出身的任正非善于从
《城市中国的逻辑》内容简介:中国模式或中国经验是近期的热议话题,关于改革开放三十年来中国的“经济奇迹”和“体制奇迹”,国际
“赢在京东”系列电商教程是京东官方认证用书,由一线业务精英和权威专家团队出品的电商读物,将不断分享京东发展过程中的优势资
《365夜故事:夏》内容简介:《365夜故事》是由鲁兵先生专为孩子编选的“国宝级”童书。以孩子的视角为选择眼光,以儿童的口语来裁
CascadingStyleSheetsenableyoutorapidlycreatewebdesignsthatcanbesharedbyhundredso...
群体研讨支持系统及其文本分析方法 内容简介 本书分上下两部分, 上半部分重点介绍了群体研讨支持系统研究的*近进展, 主要涉及群体决策中相关的任务类型, 群体支持...
《高维信息几何与语音分析》共三个部分,第一部分是介绍语音分析的常见研究方法,第二部分是高维信息几何基础知识,它主要介绍了
《尼康D810数码单反摄影实拍技法宝典》内容简介:本书是专门为尼康 D810 用户而写的相机操作指南与实拍技法宝典,它能够帮助读者发
地理信息系统实习教程 内容简介 本教程由一系列的练习组成,可使学习者循序渐进地掌握地理信息系统(GIS)的基本功能,特别是通用的空间分析功能。内容包括:空间、属...