正版书籍 React Native跨平台移动应用开发(第二版)阙喜涛著电子工业出版社大学本科研究生教pdf下载

正版书籍 React Native跨平台移动应用开发(第二版)阙喜涛著电子工业出版社大学本科研究生教百度网盘pdf下载

作者:
简介:正版书籍 React Native跨平台移动应用开发(第二版)阙喜涛著电子工业出版社大学本科研究生教
出版社:
出版时间:2017-05
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

书名:React Native跨平台移动应用开发(第二版)

定价:99.00元

作者:阙喜涛著

出版社:电子工业出版社

出版日期:2017-05-01

ISBN:9787121312731

字数:678千字

页码:398

版次:1

装帧:平装-胶订

开本:16开

商品重量:0.4kg

编辑推荐


本书配套的GitHub文档持续更新中,保证书中知识在版本RN中可用。
迄今为止,真正意义上的React Native跨平台开发原创图书。
本书架构是作者精心设计的,适合初学者入门,本次升级用 ES6语法写。
本书所有例程均是原创的,并且在代码旁有注释解说。
本书中的6.5节、1章、14.5节都是笔者精心整理调研出来的技术,能让更多的开发者享受到React Native开发的便利性。
加入了React Native一年以来的新能力:
1、RN项目在iOS 10手机上的配置启动过程;
2、RN项目断点调试的使用方法;
3、手机中图片剪切、通过网络上传;
4、RN开源社区介绍与知名开源组件介绍;
5、Modal组件与Navigator组件的配合使用;
6、网络部分增加了测试服务器的搭建与介绍,让读者更方便掌握RN的网络开发;
7、推送能力、打开外部链接与从外部链接打开RN应用能力
8、新组件:ActivityIndicator、PermissionsAndroid、Slider、Vibration;
9、原各RN组件从0.28到0.42期间新增的属性与方法介绍。

内容提要


React Native是Facebook公司推出的强大的、开源的跨平台移动应用开发框架。它能大幅减少跨平台移动应用开发的工作量(相比原生代码开发能减少至少50%),并且代码结构清晰、简单易懂。同时React Native框架采用模块化的结构,使应用版本的更新迭代很好简单。随着它的日趋成熟,React Native必然会成为移动应用开发的主流技术。本书由浅入深,系统发介绍了使用React Native框架跨平台开发所需要用到的知识。本书每一章都专注于阐述移动应用开发某一方面的知识,配合若干个原创的、精简的例程,能让读者系统、快速地掌握该方面知识。本书的结构是按一个有基本的编程基础知识,刚学习基本语法的读者的很好学习路径来编写的。有基础的开发人员也可以将本书作为一本React Native开发的“字典”来使用,在开发时可以快速查找相关知识点的细节。希望通过本书,能将近期新的React Native开发技术介绍给靠前广大开发者,让靠前移动应用开发进入一个新的时代,让开发者用比较少的精力就能高效、美观地完成移动应用开发。

目录


章 React Native1
1.1 React Native开发特点2
1.1.1 一次学习,随处编写2
1.1.2 混合开发2
1.1.3 高效的移动应用开发3
1.1.4 高效的移动应用开发调试4
1.1.5 灵活高效的应用热更新4
1.1.6 有效降低移动应用安装包体积5
1.1.7 学习门槛低、开发难度低5
1.1.8 开发软硬件要求低6
1.1.9 使用React Native开发的代价6
1.2 React Native开发环境搭建7
1.2.1 开发环境搭建起点8
1.2.2 Windows操作系统下React Native开发环境搭建8
1.2.3 苹果操作系统下React Native开发环境搭建10
1.2.4 查看与删除使用npm命令安装的软件11
1.3 代码编辑环境搭建11
1.3.1 Visual Studio Code11
1.3.2 Sublime Text 311
1.3.4 WebStorm13
1.4 键盘使用习惯13
1.5 React Dev Tools安装14
第2章 状态机思维与状态机变量17
2.1 初始化项目17
2.1.1 初始化RN新版项目17
2.1.2 初始化RN旧版本项目18
2.2 运行项目19
2.2.1 使用Android手机调测准备事项19
2.2.2 次运行Android平台RN项目19
2.2.3 再次在Android平台运行RN项目21
2.2.4 使用iPhone设备调试注意事项22
2.2.5 首次在iOS平台运行RN项目23
2.2.6 再次在iOS平台运行RN项目27
2.2.7 Sublime Text 3对JSX语法的支持27
2.2.8 修改JSX代码28
2.2.9 启动调试工具30
2.2.10 使用ADM工具调试35
2.3 构建登录页面37
2.4 React Native代码执行逻辑41
2.5 UI框架工作基本机制41
2.5.1 状态机思维42
2.5.2 “冒充常量”的状态机变量44
2.5.3 “无处安放”的状态机变量45
2.5.4 “努力”的状态机变量46
2.6 React Native组件间通信46
2.7 深入理解UI重新渲染的过程47
2.7.1 合并状态机变量47
2.7.2 判断是否渲染49
2.7.3 强制启动渲染50
2.7.4 渲染过程50
2.7.5 合并状态机变量的简语法50
2.8 React Native组件的成员变量51
2.9 React Native组件的静态变量、静态函数52
2.10 组件回调函数的绑定52
第3章 页面导航、弹出框及深入理解属性55
3.1 分离注册组件、组件平台自适配55
3.1.1 分离注册组件55
3.1.2 组件平台自适配55
3.1.3 平台检测56
3.2 导航组件、挂接注册组件56
3.3 挂接注册等待组件58
3.4 Navigator组件61
3.4.1 push与pop61
3.4.2 replace函数62
3.5 React Native中颜色类型的值62
3.6 BackAndroid API63
3.7 属性确认63
3.8 指定属性默认值66
3.9 Alert应用程序编程接口66
3.9.1 弹出确认框66
3.9.2 弹出选择框67
3.10 带导航栏的页面导航69
第4章 混合开发基础篇70
4.1 iOS平台混合开发70
4.1.1 与iOS 侧原生代码消息互通71
4.1.2 React Native代码到iOS原生代码的消息72
4.1.3 iOS 原生代码到React Native代码的消息75
4.1.4 与iOS OC原生代码界面切换77
4.1.5 应用初始界面设定77
4.1.6 iOS混合开发中传递的参数类型78
4.1.7 混合开发中的多线程使用78
4.1.8 原生代码实现Promise机制79
4.1.9 跨语言常量82
4.2 Android平台混合开发82
4.2.1 与Android原生代码消息互通83
4.2.2 React Native代码到Android原生代码的消息84
4.2.3 与Android原生代码界面的切换87
4.2.4 Android原生代码到React Native代码的消息91
4.2.5 应用初始界面设定94
4.2.6 传递的参数类型94
4.2.7 回调函数与Promise机制95
4.2.8 监听ActivityResult与Android生命周期事件97
4.2.9 混合开发中的多线程机制98
4.2.10 跨语言常量98
第5章 flexbox布局、View、Image与可触摸组件100
5.1 flexbox布局100
5.1.1 位置及宽、高相关样式键102
5.1.2 决定子组件排列规则的键102
5.1.3 决定组件显示规则的键106
5.1.4 边框、空隙与填充109
5.1.5 zIndex110
5.1.6 组件多样式声明与动态样式声明110
5.2 View组件111
5.2.1 View组件的颜色与边框111
5.2.2 View组件的阴影与其他视觉效果113
5.2.3 View组件的变形114
5.2.4 View组件的回调函数117
5.2.5 View组件的其他属性119
5.2.6 设备放置状态、根View与onLayout回调函数120
5.2.7 pointerEvents属性123
5.3 Image组件125
5.3.1 加载网络图片125
5.3.2 加载静态图片资源127
5.3.3 加载资源文件中的图片128
5.3.4 动态加载手机中的图片资源129
5.3.5 Image组件的样式129
5.3.6 Image组件显示特性131
5.3.7 Image组件的其他属性134
5.3.8 Image组件的缓存134
5.3.9 尽量使用网络图片135
5.4 可触摸组件135
5.4.1 可触摸组件类型135
5.4.2 TouchableOpacity组件136
5.4.3 TouchableHighlight组件137
5.4.4 其他属性138
5.5 使用导航栏的导航框架139
5.5.1 导航栏自定义组件的实现140
5.5.2 调用自定义组件142
第6章 Text、TextInput等相关知识145
6.1 Text组件145
6.1.1 样式键设置145
6.1.2 其他属性147
6.1.3 Text组件的嵌套149
6.1.4 文本显示的阴影效果150
6.1.5 Text居中显示151
6.1.6 在字符串中插入图像153
6.2 Text组件在两个平台上的不同表现155
6.2.1 只指定fontSize,不指定height155
6.2.2 只指定height,不指定fontSize156
6.2.3 fontSize等于height156
6.2.4 height大于fontSize156
6.2.5 边框在两个平台上的不同表现157
6.3 TextInput组件158
6.3.1 TextInput组件样式键158
6.3.2 TextInput组件的属性158
6.3.3 TextInput组件iOS平台专有属性160
6.3.4 TextInput组件Android平台专有属性161
6.3.5 TextInput组件的成员函数161
6.4 TextInput组件在两个平台上的不同表现161
6.4.1 Android平台的输入下画线162
6.4.2 父组件的alignItems键失效162
6.4.3 只指定fontSize,不指定height164
6.4.4 height等于fontSize164
6.4.5 height大于fontSize164
6.4.6 边框在两个平台上的不同表现165
6.5 TextInput组件的生命周期165
6.5.1 获得焦点165
6.5.2 用户输入166
6.5.3 用户按下提交键166
6.5.4 失去焦点166
6.5.5 生命周期中的其他事件167
6.6 Keyboard API、软键盘与键盘事件168
6.6.1 Keyboard API168
6.6.2 键盘事件处理例程168
6.7 组件的引用171
6.7.1 定义组件引用171
6.7.2 得到系统定义的组件引用171
6.7.3 调用组件的公开成员函数172
6.7.4 重新设定组件的属性172
6.7.5 获得组件的位置174
6.8 跨平台状态栏组件175
6.8.1 StatusBar组件属性175
6.8.2 StatusBar组件使用示例176
6.8.3 手机状态栏在开发中的处理176
6.9 高度自增长的扩展TextInput组件177
6.10 访问操作系统剪贴板179
第7章 组件生命周期、数据存储及React Native应用实现步骤182
7.1 组件生命周期182
7.1.1 constructor182
7.1.2 ponentWillMount182
7.1.3 ponentDidMount183
7.1.4 ponentWillReceiveProps183
7.1.5 shouldComponentUpdate183
7.1.6 ponentWillUpdate184
7.1.7 ponentDidUpdate184
7.1.8 ponentWillUnmount184
7.2 读取JSON文件185
7.3 数据持久化操作186
7.3.1 写入数据、错误捕捉186
7.3.2 读取数据188
7.3.3 AsyncStorage API存储数据的无序性190
7.3.4 删除数据191
7.3.5 修改数据192
7.3.6 JSON对象存储192
7.3.7 读取JSON对象193
7.4 数据表操作193
7.5 React Native应用实现步骤、日记例程(上)193
7.5.1 应用原型194
7.5.2 基础组件结构设计195
7.5.3 使用React Native组件搭建静态界面197
7.5.4 React Native组件分层204
7.5.5 实现各组件业务逻辑206
7.5.6 日记例程(上)总结206
第8章 ScrollView和ListView218
8.1 ScrollView组件218
8.1.1 ScrollView组件属性218
8.1.2 ScrollView组件iOS平台专有属性219
8.1.3 ScrollView组件Android平台专有属性220
8.1.4 ScrollView组件的公开成员函数221
8.1.5 RefreshControl组件221
8.1.6 ScrollView组件基本用法222
8.2 ListView组件224
8.2.1 ListView组件的回调函数225
8.2.2 ListView组件的其他属性226
8.2.3 ListView组件的成员函数226
8.3 简单的列表226
8.3.1 准备列表的数据源227
8.3.2 声明状态机变量227
8.3.3 将数据源中的数据复制到DataSource中228
8.3.4 定义如何渲染列表中的每一行228
8.3.5 实现简单的列表229
8.3.6 列表栏的高级处理237
8.4 带分段标志的列表237
8.4.1 准备数据源238
8.4.2 声明状态机变量238
8.4.3 将数据源中的数据复制到DataSource中239
8.4.4 定义如何渲染每个分栏240
8.4.5 定义如何渲染首、尾栏240
8.4.6 列表间隔渲染240
8.4.7 实现带分段标志的列表241
8.4.8 总结241
8.5 日记例程(下)总结241
第9章 等待提示、进度条和Switch242
9.1 ActivityIndicator组件242
9.1.1 ActivityIndicator组件样式设置242
9.1.2 ActivityIndicator其他属性242
9.1.3 等待提示例程242
9.2 iOS进度条组件243
9.2.1 React Native框架中定时器的使用243

作者介绍


阙喜涛
湖南省吉首市人,北京邮电大学研究生,专注智能手机应用开发11年,任职于东信北邮信息技术有限公司,先后参与开发过中国移动POC系统、贵州移动一卡多号系统、浙江移动应用商店系统开发等等。开发移动应用下载量超过25万。

文摘


序言