内容简介
通过大量的例子和详细的解释,这本书介绍了ReactNative,一个JavaScript框架。使用ReactNative中现有的JavaScript和React知识,您可以开发和部署全功能的、一款真正的原生移动应用,支持iOS和安卓平台。除了解释框架本身的概念,本书还讨论了如何使用第三方库以及如何编写自己的Java或Objective-C的反应性的扩展。
目录
- 前言xi
- 第1章初识React Native1
- 1.1React Native 的优点2
- 1.1.1开发者体验2
- 1.1.2代码复用与知识共享3
- 1.2风险和缺点4
- 1.3小结4
- 第2章React Native 工作原理5
- 2.1React 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.2iOS 依赖14
- 3.1.3Android 依赖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.2React Native 中的模块导入25
- 3.3.3FirstProject 组件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.2GestureResponder 系统49
- 4.2.3PanResponder52
- 4.3使用结构化组件58
- 4.3.1使用ListView58
- 4.3.2使用Navigator66
- 4.3.3其他结构化组件68
- 4.4平台特定组件69
- 4.4.1iOS 或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.3AsyncStore 持久化数据存储108
- 6.4智能天气应用109
- 6.4.1WeatherProject 组件111
- 6.4.2Forecast 组件114
- 6.4.3Button 组件115
- 6.4.4LocationButton 组件116
- 6.4.5PhotoBackdrop 组件117
- 6.5小结119
- 第7章模块120
- 7.1使用npm 安装JavaScript 类库120
- 7.2iOS 原生模块121
- 7.2.1导入第三方组件122
- 7.2.2使用视频组件125
- 7.2.3剖析Objective-C 原生模块125
- 7.2.4RCTVideo 的实现128
- 7.3Android 原生模块130
- 7.3.1安装第三方组件130
- 7.3.2剖析Java 原生模块134
- 7.3.3LinearGradient 的Android 实现137
- 7.4跨平台原生模块139
- 7.5小结141
- 第8章调试与开发者工具142
- 8.1JavaScript 调试实践和解释142
- 8.1.1激活开发者选项142
- 8.1.2使用console.log 调试143
- 8.1.3使用JavaScript 调试器145
- 8.1.4使用React 开发者工具146
- 8.2React Native 调试工具147
- 8.2.1使用审查元素功能147
- 8.2.2宕机红屏148
- 8.3JavaScript 之外的调试方法152
- 8.3.1常见的开发环境问题153
- 8.3.2常见的Xcode 问题153
- 8.3.3常见的Android 问题154
- 8.3.4React 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.3AsyncStorage 与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.2Play 商店列表210
- 11.4.3商店列表所需的资源211
- 11.4.4发布应用212
- 11.5小结214
- 总结215
- 附录AES6 语法216
- 附录B命令与快速入门指南219
- 作者简介221
- 关于封面221
内容有一点过时,依然值得一看(结合 stackoverflow 和 ignite脚手架,上手还是很快的
React Native初级入门,虽走完了整个流程,但最后回过头去看发现并无多少实质内容。不过用它做做玩具,相信也是一个挺不错的选择。