首页>参考读物>计算机科学与技术>软件与程序设计

React Native移动开发实战
作者 : 袁林 编著
出版日期 : 2017-07-03
ISBN : 978-7-111-57179-7
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 320
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书以实战开发为原则,以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开发者阅读。当然也适合大中专院校及社会培训学校作为移动开发的教材使用。

图书特色

书名:React Native移动开发实战
作者:袁林 编著
书号:978-7-111-57179-7
印张:20
书脊:15mm
定价:69.00元
成品尺寸:185*260mm

70克胶版纸
覆亮膜
--------------------------------------------------------

详解React Native应用从创建、开发到发布的全过程,展示各组件和API的用法
实战为王,通过典型项目案例,让读者快速掌握React Native应用开发


书中所有内容都配合详细的实例和源代码进行讲解
全面涵盖React Native组件、API、布局、第三方组件及原生接口开发等内容
详解React Native的开发工具、命令行工具及各种调试工具的使用
详细讲解一个电商App项目案例的开发过程,提高读者的实战开发水平
涉及软件开发流程、应用架构设计、代码重构,以及原生平台与跨平台开发等

------------------------------

内容简介

本书以实战开发为主旨,以React Native应用开发为主线,以iOS和Android双平台开发为副线,通过完整的电商类App项目案例,详细地介绍了React Native应用开发所涉及的知识,让读者全面、深入、透彻地理解React Native的主流开发方法,从而提升实战开发水平和项目开发能力。
本书共12章,分为4篇,涵盖的主要内容有搭建开发环境、Nuclide、各种命令行工具(Git、Node.js)、布局与调试、组件、API、第三方组件、基于Node.js的服务器、fetch API、AsyncStorage/SQLite/Realm数据库存储、原生平台接口开发、redux开发框架、应用打包与发布、热更新与CodePush等。
本书适合iOS和Android原生平台应用开发者,以及有兴趣加入移动平台开发的JavaScript开发者阅读。当然,本书也适合相关院校和社会培训学校作为移动开发的教材使用。
---------------------------------------------------------------------------------

本书精华内容

React Native的优势
搭建React Native开发环境
React Native开发基础知识
React Native的组件
原生平台的适配和调试
React Native的服务器端处理
常用React Native API
React Native与原生平台混合编程
电商App的复盘
App的发布
App的热部署
ES 6语法

--------------------------------------------------
作者简介

袁林
2010年毕业于南京邮电大学。毕业后一直从事移动App研发工作,先后服务于中兴通讯、三星电子和南京企友等公司。历任App高级工程师、项目经理等职位。具备丰富的Node.js后端服务构建、Native客户端开发和React Native客户端开发经验。长期致力于应用各种IT新技术提升生产效率和解决实际问题。曾经带队自主研发多个电信级企业应用。

图书前言

随着手机和移动互联网技术的日益成熟,移动应用的领域也从如何开发,发展到如何更高效、更低成本地开发。传统的原生平台(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结缘。感谢我的妻子韩丽、女儿可可及我的父母,写作占用了我很多陪伴家人的时间和精力,正是有了家人的支持,才得以坚持下去。
最后还要感谢读者,本书的价值因你们而存在。

编者

上架指导

计算机\程序设计

封底文字

本书以实战开发为主旨,以React Native应用开发为主线,以iOS和Android双平台开发为副线,通过完整的电商类APP项目实例来介绍React Native中常用的组件、API、布局、第三方组件、原生接口等内容,让读者全面、深入、透彻地理解React Native的主流开发方法,从而提升实际开发水平和项目实战能力。本书精华内容如下:
React Native的优势
React Native开发基础知识
React Native的组件
原生平台的适配和调试
React Native的服务器端处理
常用React Native API
React Native与原生平台混合编程
电商APP的复盘
APP的发布
APP的热部署
ES6语法

作者简介

袁林 编著:暂无相关简介

图书目录

前言
第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

教学资源推荐
作者: 郝玉洁
作者: [美]德洛莉丝 M. 埃特尔(Delores M. Etter) 著
作者: 邱李华 郭志强 曹青
参考读物推荐
作者: 章立民研究室
作者: [美]马克·卢茨(Mark Lutz)著
作者: [美] 亚历山大 A. 斯捷潘诺夫(Alexander A. Stepanov) 丹尼尔 E.罗斯(Daniel E. Rose)著
作者: [美]马克斯·卡纳特-亚历山大(Max Kanat-Alexander) 著