编辑推荐
所在的开发团队规模较小,但想要为iOS和Android两个平台开发应用?
早就听说过React Native的大名,却不清楚是否适合开发自己的应用?
研究无数代码之后,想要了解更多React Native在当今业界的实际使用情况?
如果你有以上困惑,那么本书不容错过!
● 了解React Native部署过程与原生模块的使用
● 用JavaScript、Java和Objective-C创建自定义原生组件、异步调用、第三方库链接
● 自定义构建脚本的实现,以及如何在iOS、Android、Web应用间共享代码
● 无bug移动应用的维护
● 静态类型检查、依赖注入以及应用状态管理
● 如何从UI中分离业务逻辑,如何实现UI测试
● 如何利用React Native实现特定用途
内容简介
使用React Native可以轻松开发跨平台应用,并且无需等待Apple、Google或者Amazon的审核过程,就可以为自己的应用发布更新。《React Native应用开发实例解析》主要从功能扩展和实际应用方面讲解React Native,带领读者全面了解React Native的API和组件,并且阅读本书无需React开发背景。《React Native应用开发实例解析》共五章,前两章介绍React Native的历史发展和基础知识,包括原生组件和第三方库;余下三章则分别介绍三个企业应用——Myagi、TinyRobot和Fixt,探讨了当今业界使用React Native的方式,以及生产环境下需要注意的问题和相应对策。
《React Native应用开发实例解析》适合客户端开发人员、前端开发人员,以及所有对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
React Native应用开发实例解析 电子书 下载 mobi epub pdf txt