当前: 首页 - 图书专区 - React Native移动开发实战
React Native移动开发实战


  在线购买
袁林 编著
978-7-111-57179-7
69.00
320
2017年07月03日

计算机 > 软件与程序设计 > JAVA

41
简体中文
16

店面









本书以实战开发为原则,以React Native应用开发为主线,iOS和Android双平台开发为副线,通过典型的电商类App实例,详细介绍了React Native应用开发所涉及的所有知识。
本书共12章,分为4篇。涵盖的主要内容有:搭建开发环境、Nuclide、各种命令行工具(Git、Node.js)、布局与调试、组件、API、第三方组件、基于Node.js的服务器、Fetch API、AsyncStorage/SQLit/Realm数据库存储、原生平台接口开发、Redux开发框架、应用打包发布、热更新与CodePush等。本书适合iOS、Android原生平台应用开发者,以及有兴趣加入移动平台开发的JavaScript开发者阅读。当然也适合大中专院校及社会培训学校作为移动开发的教材使用。
随着手机和移动互联网技术的日益成熟,移动应用的领域也从如何开发,发展到如何更高效、更低成本地开发。传统的原生平台(iOS、Android)开发技术虽然比较成熟,但由于开发效率和成本的限制,已经越来越无法满足移动互联网应用的开发需求。
所以,具有简单、迅速、跨平台的优势,而且基于Web开发语言和布局技术的React Native得以迅速流行,并一举夺得跨平台开发技术的头筹。
目前市场上大多数React Native书籍主要以翻译和讲解官方文档为主,并未从开发实际应用出发,通过典型案例来指导读者提高开发水平。本书以实战为主旨,通过完整的电商类App项目实例,来介绍React Native中常用的组件、API、布局、第三方组件和原生接口,让读者全面、深入、透彻地理解React Native主流的开发和设计方法,提升实际开发水平和项目实战能力。
本书涉及的概念较多,下面给出一个技术点云图,希望读者有所了解。

本书的进阶顺序,也给出如下一个图,便于读者了解。
本书特色
1.每一步都有详细的源码和实例参考
为了便于读者理解本书内容,提高学习效率,本书的所有内容都有详细的源码和实例参考。对于这些源码和实例,作者均亲自编写和验证,杜绝复制、粘贴代码以敷衍读者的不负责任行为。本书源码可以在https://coding.net/u/learnreactnative/p/learnreactnative-sourcecode/ git里下载。
2.内容涵盖React Native开发的各个方面
本书涵盖React Native组件、API、布局、第三方组件以及原生接口等React Native应用开发的各个方面,尽量保证不出现知识“死角”。凡是涉及的一些技术(如原生、瀑布流、耦合性和JSON),也给出了概念或原理的解释。
3.结合工具助力更高效的React Native开发
在本书“实战”讲解的过程中,详细介绍了React Native开发工具Nuclide的使用、React Native命令行工具的用法及各种调试工具(包括布局、断点及实时加载等)的使用,不仅教读者如何开发,还教读者如何更高效地开发。
4.项目案例典型,实战性强,有较高的应用价值
本书以开发一个电商类应用为例,涵盖了React Native应用开发中会用到的所有重点知识,设计和源码做到拿来可用,方便应用开发者随时查阅和参考。
5.收获的不仅仅是React Native平台和编码
对于一些学习能力较强的读者,完全可以在React Native开发文档的帮助下快速学习和掌握React Native。而本书希望读者在掌握平台和编码之外,还能够了解实际应用开发过程中涉及的软件开发流程、应用架构设计、代码重构技巧,以及原生平台与其他跨平台开发的相关知识,让读者融会贯通地理解应用开发技术。
本书内容及知识体系
第1篇 React Native入门和基础(第1~2章)
本篇介绍了跨平台开发的主流方案和React Native基础知识,主要包括开发环境搭建、React Native命令行工具和React Native布局调试。
第2篇 React Native应用开发实战(第3~7章)
本篇介绍了React Native实际应用开发中常用的技术,主要包括基本组件、使用第三方组件、搭建基于Node.js的服务器为应用绑定真实数据、fetch API、AsyncStorage/SQLite/ Realm数据库存储、更多React Native组件和API的用法、原生平台接口开发等。
第3篇 React Native混合编程(第8~10章)
本篇主要总结和回顾了前7章所开发的电商类应用的技术和架构,主要包括应用的文件结构、Flexbox的整体布局、应用的逻辑结构、应用的通信过程及进一步改进的地方和思路,其中就包括了redux开发框架。
第4篇 App的发布和更新(第11~12章)
本篇主要介绍了React Native应用打包和发布的全过程,配以详细的截图说明,并且对React Native应用发布后的热更新实现和方案CodePush做了详细的示例说明。
适合阅读本书的读者
? React Native学习人员;
? iOS平台应用开发工程师;
? Android平台应用开发工程师;
? Web前端开发工程师;
? Node.js服务端开发工程师;
? 计算机相关专业的学生;
? 专业培训机构的学员;
? 软件开发项目经理。
本书作者
本书由袁林主笔编写。其他参与编写的人员有高旭、贺庆端、黎林、李伟浩、刘成智、刘利、刘源、谭建利、吴贵文、吴娟、夏秀英、肖太平、郑星。
致谢
感谢本书的编辑,让我有机会和本书结缘。感谢我的伙伴们:邵长磊、刘冬冬、袁方、袁满、翟绍虎、洪敏、郭晨光及张砚,与我一起探讨新技术并和React Native结缘。感谢我的妻子韩丽、女儿可可及我的父母,写作占用了我很多陪伴家人的时间和精力,正是有了家人的支持,才得以坚持下去。
最后还要感谢读者,本书的价值因你们而存在。

编者
前言
第1篇 React Native入门和基础
第1章 为什么要学习React Native 2
1.1 看透React Native 2
1.1.1 React Native与React.js 2
1.1.2 React Native的跨平台 3
1.1.3 解剖React Native应用的结构 4
1.2 React Native的特点 5
1.2.1 其一:Learn Once, Write Anywhere 5
1.2.2 其二:简单易学的开发语言 6
1.2.3 其三:接近原生应用的性能和体验 7
1.2.4 其四:完善的生态系统 7
1.3 搭建React Native开发环境 9
1.3.1 安装原生开发工具——Android 9
1.3.2 安装原生开发工具——iOS 11
1.3.3 安装Node.js 12
1.3.4 安装React Native 13
1.3.5 安装其他辅助工具 14
1.4 第一个React Native应用 16
1.4.1 初始化项目 16
1.4.2 运行项目 17
1.4.3 调试项目 18
1.5 小试牛刀——更改React Native项目源码 18
1.6 小结 20
第2章 全局解析React Native开发的基础技术 21
2.1 开发具备的基础知识说明 21
2.2 Git版本控制工具 22
2.2.1 安装Git 22
2.2.2 Git常用命令 22
2.3 React Native的JSX解决方案 24
2.4 React Native的Flexbox布局 25
2.4.1 flexDirection设置组件的排列 26
2.4.2 flexWrap设置是否换行 28
2.4.3 justifyContent设置横向排列位置 30
2.4.4 alignItems设置纵向排列位置 31
2.4.5 alignSelf设置特定组件的排列 33
2.4.6 flex设置组件所占空间 34
2.5 如何调试React Native项目 35
2.6 实战——设计一个电商App 37
2.6.1 电商App的模块划分 37
2.6.2 设计首页布局 41
2.6.3 实现搜索栏 44
2.6.4 设计轮播广告 46
2.6.5 展示商品列表 51
2.6.6 实现交互功能和状态栏 52
2.7 小结 56
第2篇 React Native应用开发实战
第3章 React Native的组件(1) 58
3.1 创建新的电商App 58
3.1.1 移植旧电商项目 58
3.1.2 重构现有的代码 60
3.2 完善搜索框功能——TextInput组件 64
3.2.1 搜索提示框 64
3.2.2 调试搜索结果 66
3.2.3 优化搜索框样式 67
3.3 完善轮播广告——Image组件 68
3.3.1 使用网络图片 68
3.3.2 使用本地图片 69
3.3.3 添加指示器组件 71
3.4 完善商品列表——ListView组件 73
3.4.1 对图片资源进行重构 74
3.4.2 重新定义商品模型 75
3.4.3 商品布局的优化 76
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.1.1 实现多页面分页TabBarIOS/ViewPagerAndroid 91
4.1.2 加载指示器——ActivityIndicator 96
4.1.3 地图——MapView 97
4.1.4 渲染——Picker 98
4.1.5 选择范围——Slider 99
4.1.6 开关组件——Switch 100
4.1.7 打开网页——WebView 101
4.2 第三方组件 102
4.2.1 react-native-swiper的使用 103
4.2.2 NativeBase的使用 104
4.2.3 NativeBase如何解决跨平台问题 111
4.3 小结 113
第5章 原生平台的适配和调试 114
5.1 iOS平台的适配 114
5.1.1 Images.xcassets适配 115
5.1.2 自动布局Auto Layout 115
5.1.3 Size Class适配 116
5.2 iOS开发的调试技巧 117
5.3 Android平台的适配 118
5.3.1 适配原理 118
5.3.2 常用的适配属性 119
5.4 Android平台的调试技巧 122
5.5 小结 124
第6章 React Native的服务器端处理 125
6.1 学习Node.js 125
6.1.1 什么是Node.js 125
6.1.2 为什么选择Node.js 126
6.1.3 安装和使用nvm 128
6.1.4 Node.js的开发流程 129
6.2 服务端接口的设计:RESTful 132
6.3 实现电商App的服务器端接口 133
6.3.1 Express框架 133
6.3.2 查询商品接口 138
6.3.3 新建商品接口 142
6.3.4 更新商品接口 143
6.3.5 删除商品接口 144
6.4 网络前后端交互的原理fetch 145
6.5 App从服务器获取数据 146
6.5.1 获取商品信息 148
6.5.2 更新商品信息 151
6.5.3 新建商品 157
6.5.4 删除商品 158
6.6 App数据的本地化存储 160
6.6.1 AsyncStorage异步键值存储 160
6.6.2 SQLite数据库 164
6.6.3 Realm数据库 166
6.7 小结 168
第7章 常用React Native API 169
7.1 屏幕设置相关API 169
7.1.1 获取屏幕宽高——Dimensions API 170
7.1.2 获取屏幕分辨率——PixelRatio API 173
7.2 动画API 174
7.2.1 RequestAnimationFrame API帧动画 175
7.2.2 LayoutAnimation API布局动画 177
7.2.3 Animated API高级动画 179
7.3 组件、React Native API、原生平台API 184
7.3.1 组件和API 184
7.3.2 API和原生平台API 184
7.4 实现自己的Platform API 185
7.4.1 支持iOS平台 186
7.4.2 支持Android平台 188
7.5 为应用添加更丰富的API 189
7.5.1 提示框和编辑框——AlertIOS 190
7.5.2 前后台状态变化——AppState 193
7.5.3 Android物理“返回键”——BackAndroid 195
7.5.4 日期和时间选择器——DatePickerAndroid/TimePickerAndroid 196
7.5.5 基于位置的Geolocation 200
7.5.6 键盘事件——Keyboard 202
7.5.7 设备联网状态——NetInfo 204
7.5.8 权限设置——PermissionsAndroid 205
7.5.9 悬浮提示框——ToastAndroid 207
7.6 小结 208
第3篇 React Native混合编程
第8章 React Native与原生平台混合编程(1) 210
8.1 创建并移植项目 210
8.2 访问设备 211
8.2.1 访问iOS设备 213
8.2.2 访问Android设备 214
8.3 访问相册 217
8.3.1 读取iOS相册中的图片 219
8.3.2 读取Android相册中的图片 224
8.4 React Native与原生平台的通信原理 228
8.5 React Native平台调用原生页面 229
8.5.1 React Native平台调用原生iOS页面 231
8.5.2 React Native平台调用原生Android页面 234
8.6 原生平台调用React Native组件 238
8.6.1 iOS平台调用React Native组件 238
8.6.2 Android平台调用React Native组件 239
8.7 小结 240
第9章 React Native与原生平台混合编程(2) 241
9.1 使用相机拍摄图片 241
9.1.1 使用iOS相机拍摄 241
9.1.2 使用Android相机拍摄 244
9.2 添加图片选择提示框 247
9.2.1 iOS平台的提示 247
9.2.2 Android平台的提示 249
9.3 重构图片选择库 251
9.3.1 iOS平台的重构 251
9.3.2 Android平台的重构 253
9.4 向iOS项目中添加React Native支持 256
9.4.1 新建iOS项目 256
9.4.2 新建React Native项目 257
9.4.3 在iOS页面打开React Native组件 259
9.5 向Android项目中添加React Native支持 261
9.5.1 新建Android项目 261
9.5.2 新建React Native项目 261
9.5.3 在Android页面打开React Native组件 262
9.6 小结 264
第10章 电商App的复盘 265
10.1 电商App的文件 265
10.1.1 JavaScript文件 266
10.1.2 iOS原生代码文件 266
10.1.3 Android原生代码文件 267
10.2 电商App的结构 267
10.2.1 Flexbox的整体布局 268
10.2.2 应用的逻辑结构 268
10.2.3 应用的通信过程 269
10.3 优化和改进 270
10.3.1 redux是什么 270
10.3.2 redux代码示例 271
10.3.3 redux生态 274
10.4 用到的组件 275
10.5 小结 276
第4篇 App的发布和更新
第11章 App的发布 278
11.1 App Store苹果应用商店 278
11.1.1 加入开发者计划 278
11.1.2 生成发布证书 280
11.1.3 注册App ID 283
11.1.4 生成描述文件 283
11.1.5 打包应用 284
11.1.6 发布到App Store 284
11.2 Android应用商店 285
11.2.1 生成签名文件 285
11.2.2 打包应用 287
11.2.3 发布到应用商店 288
11.3 小结 289
第12章 App的热部署 290
12.1 什么是热部署 290
12.2 解析React Native应用的工作原理 290
12.3 实现React Native的热部署 292
12.3.1 服务端实现 292
12.3.2 客户端实现 292
12.4 微软的热部署方案CodePush 295
12.4.1 CodePush简介 295
12.4.2 CodePush安装和注册 295
12.4.3 集成CodePush SDK 297
12.4.4 更改iOS应用 297
12.4.5 更改Android应用 301
12.5 小结 303
附录A ES 6语法 304
计算机\程序设计
读者书评
发表评论



高级搜索
Java语言导学(原书第6版)
Java语言程序设计(进阶篇)(英文版·第10版)
Java语言程序设计(基础篇)(英文版·第10版)


版权所有© 2017  北京华章图文信息有限公司 京ICP备08102525号 京公网安备110102004606号
通信地址:北京市百万庄南街1号 邮编:100037
电话:(010)68318309, 88378998 传真:(010)68311602, 68995260
高校教师服务
华章教育微信
诚聘英才
诚聘英才