内容简介
使用React Native可以轻松开发跨平台应用,并且无需等待Apple、Google或者Amazon的审核过程,就可以为自己的应用发布更新。
本书主要从功能扩展和实际应用方面讲解React Native,带领读者全面了解React Native的API和组件,并且阅读本书无需React开发背景。
本书共五章,前两章介绍React Native的历史发展和基础知识,包括原生组件和第三方库 ;余下三章则分别介绍三个企业应用——Myagi、TinyRobot和Fixt,探讨了当今业界使用React Native的方式,以及生产环境下需要注意的问题和相应对策。
作者简介
作者简介:
Alexander McLeod
销售人员在线训练平台Myagi的CTO。
Pavlo Aksonov
经验丰富的软件开发人员,活跃的开源贡献者,有超过15年的Web和移动端开发经验。
Arjun Komath
精通多门语言的程序员,活跃的开源贡献者,用React Native开发了Product Hunt的开源Android客户端Feline。
Atticus White
就职于波士顿的Robin Powered公司,精通React Native、Angular以及NodeJS开发。
Isaac Madwed
全栈工程师,就职于Fixt。
译者简介:
林昊
毕业于华中科技大学,现就职于网龙工程院前端团队,热衷技术翻译,喜欢探索现代Web技术,对大前端的发展有浓厚兴趣。
目录
第1章 用JavaScript开发移动应用 1
1.1 过去 2
1.2 现状 2
1.3 React的起源 3
1.3.1 为什么选择React 3
1.3.2 React的工作原理 4
1.4 为什么选择React Native 5
1.5 React Native的工作原理 5
1.6 局限性 7
1.7 开发第一个React Native应用 7
1.7.1 JSX——JavaScript语法扩展 7
1.7.2 状态和属性 7
1.7.3 React组件生命周期 9
1.7.4 样式 9
1.7.5 触摸事件的处理 10
1.7.6 网络 11
1.7.7 深度链接 11
1.7.8 动画 13
1.7.9 调试与热模块重载 14
1.7.10 应用监控 15
1.8 开始动手 15
1.9 第一步:编写用户界面 17
1.10 第二步:与服务器后端通信 21
1.11 第三步:添加动画效果 24
1.12 Android平台上的做法 26
1.13 第四步:添加原生模块 27
1.14 部署第一个应用 28
1.14.1 部署 28
1.14.2 CodePush 29
1.15 总结 29
第2章 原生模块与组件 30
2.1 第一个原生组件 30
2.2 剖析原生组件 31
2.3 创建自定义原生组件 34
2.3.1 Android 37
2.3.2 iOS 41
2.3.3 JavaScript 45
2.4 原生模块 47
2.4.1 剖析原生模块 47
2.4.2 参数 49
2.4.3 回调函数和promise 50
2.4.4 常量 53
2.4.5 事件 53
2.5 示例 55
2.5.1 Android 55
2.5.2 iOS 59
2.5.3 JavaScript 60
2.5.4 注意事项:线程 62
2.5.5 注意事项:Swift 63
2.6 链接模块和组件 63
2.7 总结 68
第3章 示例应用:Myagi 69
3.1 为什么选择React Native 69
3.2 状态 70
3.2.1 Flux 71
3.2.2 Myagi API 71
3.2.3 Marty.js与状态模块的生成 72
3.3 路由 73
3.4 身份验证 76
3.5 iOS平台的环境配置 79
3.5.1 plist文件与react-native-env模块 79
3.5.2 iOS scheme文件与构建配置 80
3.5.3 自定义构建脚本 81
3.6 跨平台代码共享 82
3.6.1 代码共享的利与弊 83
3.6.2 iOS与Android间的代码共享 83
3.6.3 原生应用与Web应用间的代码共享 84
3.7 测试 86
3.7.1 测试类型 87
3.7.2 单元测试的实现 90
3.7.3 UI集成测试的实现 91
3.7.4 QA测试 93
3.8 发布与更新 93
3.8.1 Git工作流 93
3.8.2 iOS应用商店更新流程 94
3.8.3 CodePush更新流程 94
3.8.4 小结 96
第4章 示例应用:TinyRobot 97
4.1 为何选择React Native 97
4.1.1 npm 98
4.1.2 静态类型检查工具Flow 98
4.1.3 开源 99
4.1.4 响应式编程 99
4.1.5 XMPP 99
4.1.6 技术栈 99
4.2 可扩展应用架构 100
4.2.1 MVC 100
4.2.2 Flux 101
4.2.3 Redux 102
4.2.4 MobX与Redux的比较 103
4.2.5 领域对象模型 108
4.2.6 依赖注入 109
4.2.7 持久化 110
4.2.8 应用状态管理 112
4.2.9 设计模式 120
4.2.10 应用架构 120
4.3 导航 120
4.3.1 NavigatorIOS 121
4.3.2 注册与认证流程 122
4.3.3 完美的导航 123
4.4 通信 124
4.4.1 原生 vs. JavaScript 125
4.4.2 函数式编程 125
4.4.3 用户界面 126
4.5 位置 128
4.6 部署与单元测试 129
4.6.1 React Native组件测试 129
4.6.2 UI测试 130
4.6.3 快速更新应用 132
4.6.4 版本控制系统 133
4.6.5 持续部署 133
4.7 总结 133
第5章 示例应用:Fixt 134
5.1 何为Fixt 134
5.2 故障分析程序 135
5.2.1 快速分析与急救 135
5.2.2 Platfom 135
5.2.3 NetInfo 136
5.2.4 Fixt的设备参数模块 138
5.2.5 React Native的统一思想 142
5.3 身份验证 143
5.3.1 何为Digits 143
5.3.2 在代码内集成Digits 143
5.3.3 样式 145
5.3.4 回调函数 146
5.3.5 注销 147
5.3.6 实现 148
5.3.7 数据维护 149
5.4 建议:如何管理快速变化的生态 150
5.4.1 让应用保持最新 150
5.4.2 浏览文档 150
5.4.3 何处以及如何寻求帮助 151
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。
📖 支持知识自由流动
每一本书的稳定访问,都离不开服务器、存储与带宽的长期维护。






