扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

React Native跨平台移动应用开发

综合评级:
★★★★★

定价:
¥79.00

作者:
阙喜涛

出版社:
电子工业

出版日期:
2016/06/01

页数:
346

ISBN:
9787121287077

书籍介绍

迄今为止,真正意义上的React Native跨平台开发原创图书。

本书架构是作者精心设计的,适合初学者入门。

本书所有例程均是原创的,并且在代码旁有注释解说。

本书中的6.5节、第11章、14.5节都是笔者精心整理调研出来的技术,能让更多的开发者享受到React Native开发的便利性。

React Native师出名门,于2015年11月初成为真正的跨平台移动应用开发框架。

本书从零开始切入React Native开发,逐一讲解各个组件,包括页面导航、弹出框、OS平台Object c语言混合开发、flexbox布局、Image、View与可触摸组件等,适用 Android和苹果两系统手机开发,是移动开发者学习React Native不可多得的入门宝典。

本书由浅入深、系统地介绍了使用React Native框架跨平台开发所需要用到的知识。本书每一章都专注于阐述某一方面的知识,配合若干个原创的、精小的例程,能让读者系统、快速地掌握该方面知识。

本书是按照有基本的编程基础知识,刚学习JavaScript基本语法的读者*佳学习路径来编写的。有一定基础的开发人员也可以将本书作为React Native开发的“字典”来使用,在开发时可以快速查找相关知识点的细节。

作者简介

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

目录

第1章 React Native 1

1.1 React Native开发特点 2

1.1.1 一次学习,随处编写 2

1.1.2 混合开发 2

1.1.3 高效的UI开发 3

1.1.4 高效的UI调试 4

1.1.5 学习门槛低、开发难度低 4

1.1.6 开发软硬件要求低 5

1.1.7 使用React Native开发的代价 5

1.1.8 为什么React Native尚未流行 7

1.2 React Native开发环境搭建 7

1.2.1 开发环境搭建起点 7

1.2.2 Windows操作系统下React Native开发环境搭建 8

1.2.3 苹果操作系统下React Native开发环境搭建 9

1.2.4 查看与删除使用npm命令安装的软件 11

1.3 代码编辑环境搭建 11

1.3.1 Sublime Text 3 11

1.3.2 开发用插件 11

1.3.3 Sublime界面风格选择 13

1.3.4 键盘使用习惯 13

1.4 React Native Dev tool安装 14

第2章 状态机思维与状态机变量 16

2.1 初始化项目 16

2.2 运行项目 17

2.2.1 使用Android手机进行调测 18

2.2.2 使用iPhone手机或模拟器进行调测 21

2.2.3 修改JSX代码 22

2.2.4 ES 6语法与ES 5语法 24

2.2.5 启动调试工具 25

2.3 构建注册页面 28

2.4 React Native代码执行逻辑 32

2.5 状态机思维与状态机变量 33

2.5.1 状态机思维 33

2.5.2 “冒充常量”的状态机变量 35

2.5.3 “无处安放”的状态机变量 36

2.5.4 “努力瘦身”的状态机变量 36

2.6 React Native组件间通信 37

2.7 深入理解UI重新渲染的过程 37

2.7.1 合并状态机变量 37

2.7.2 判断是否渲染 40

2.7.3 替换状态机变量 40

2.7.4 强制启动渲染 41

2.7.5 渲染过程 41

2.7.6 合并状态机变量的*简语法 42

2.8 React Native组件的成员变量 42

2.9 React Native组件的静态变量、静态函数 43

第3章 页面导航、弹出框及深入理解属性 44

3.1 分离注册组件、组件平台自适配 44

3.1.1 分离注册组件 44

3.1.2 组件平台自适配 44

3.1.3 平台检测 45

3.2 导航组件、挂接注册组件 45

3.3 挂接注册等待组件 47

3.4 Navigator组件工作机制 49

3.4.1 push与pop 50

3.4.2 replace函数 50

3.5 自定义组件 51

3.5.1 “弹出一切框”的实现 51

3.5.2 React Native中颜色类型的值 53

3.5.3 挂接自定义组件 54

3.6 BackAndroid API的bug与解决办法 56

3.7 属性确认 58

3.8 指定属性默认值 60

3.9 Alert应用程序编程接口 60

3.9.1 弹出确认框 60

3.9.2 弹出选择框 61

3.10 带导航栏的页面导航 62

第4章 混合开发基础篇 63

4.1 iOS平台混合开发 63

4.1.1 与iOS 侧原生代码消息互通 64

4.1.2 React Native代码到iOS原生代码的消息 65

4.1.3 iOS 原生代码到React Native代码的消息 68

4.1.4 与iOS OC原生代码界面切换 69

4.1.5 应用初始界面设定 69

4.1.6 iOS混合开发中传递的参数类型 70

4.1.7 混合开发中的多线程使用 70

4.1.8 原生代码实现Promise机制 71

4.1.9 跨语言常量 72

4.2 Android平台混合开发 73

4.2.1 与Android原生代码消息互通 74

4.2.2 React Native代码到Android原生代码的消息 75

4.2.3 与Android原生代码界面的切换 78

4.2.4 Android原生代码到React Native代码的消息 82

4.2.5 应用初始界面设定 86

4.2.6 传递的参数类型 86

4.2.7 回调函数与Promise机制 86

4.2.8 监听ActivityResult与Android生命周期事件 88

4.2.9 混合开发中的多线程机制 89

4.2.10 跨语言常量 89

第5章 flexbox布局、View、Image与可触摸组件 90

5.1 flexbox布局 90

5.1.1 位置及宽、高相关样式键 91

5.1.2 决定子组件排列规则的键 92

5.1.3 决定组件显示规则的键 94

5.1.4 边框、空隙与填充 95

5.1.5 组件多样式声明与动态样式声明 96

5.2 View组件 97

5.2.1 View组件的颜色与边框 97

5.2.2 View组件的阴影与其它他视觉效果 99

5.2.3 View组件的变形 101

5.2.4 View组件的回调函数 104

5.2.5 View组件的其他属性 106

5.2.6 设备放置状态、根View与onLayout回调函数 106

5.2.7 pointerEvents属性 109

5.3 Image组件 111

5.3.1 加载网络图片 111

5.3.2 加载静态图片资源 112

5.3.3 加载资源文件中的图片 112

5.3.4 动态加载手机中的图片资源 112

5.3.5 Image组件的样式 113

5.3.6 Image组件显示特性 114

5.3.7 Image组件的其它他属性 117

5.4 可触摸组件 117

5.4.1 可触摸组件类型 118

5.4.2 TouchableOpacity组件 118

5.4.3 TouchableHighlight组件 118

5.4.4 其他属性 120

5.5 加深理解三大组件 120

5.5.1 使用导航栏的导航框架 121

5.5.2 等比放大无丢失显示图片 125

5.5.3 宽、高动态变化的组件呈现 128

第6章 Text、TextInput等相关知识 129

6.1 Text组件 129

6.1.1 样式键设置 129

6.1.2 其他属性 131

6.1.3 Text组件的嵌套 131

6.1.4 文本显示的阴影效果 132

6.1.5 Text居中显示 133

6.1.6 在字符串中插入图像 135

6.2 Text组件在两个平台上的不同表现 136

6.2.1 只指定fontSize,不指定height 137

6.2.2 只指定height,不指定fontSize 137

6.2.3 fontSize等于height 137

6.2.4 height大于fontSize 138

6.2.5 边框在两个平台上的不同表现 138

6.3 TextInput组件 140

6.3.1 TextInput组件样式键 140

6.3.2 TextInput组件的属性 140

6.3.3 TextInput组件iOS平台专有属性 141

6.3.4 TextInput组件Android平台专有属性 142

6.3.5 TextInput组件的成员函数 142

6.4 TextInput组件在两个平台上的不同表现 143

6.4.1 Android平台的输入下画线 143

6.4.2 父组件的alignItems键失效 144

6.4.3 只指定fontSize,不指定height 145

6.4.4 height等于fontSize 145

6.4.5 height大于fontSize 146

6.4.6 边框在两个平台上的不同表现 146

6.5 TextInput组件的生命周期 147

6.5.1 获得焦点 147

6.5.2 用户输入 147

6.5.3 用户按下提交键 147

6.5.4 失去焦点 148

6.6 软键盘与键盘事件 148

6.7 组件的引用 151

6.7.1 定义组件引用 151

6.7.2 得到系统定义的组件引用 151

6.7.3 调用组件的公开成员函数 152

6.7.4 重新设定组件的属性 152

6.7.5 获得组件的位置 154

6.8 跨平台状态栏组件 155

6.8.1 StatusBar组件属性 155

6.8.2 StatusBar组件使用示例 156

6.8.3 手机状态栏在开发中的处理 157

6.8.4 StatusBarIOS API 158

6.9 高度自增长的扩展TextInput组件 159

6.10 访问操作系统剪贴板 160

第7章 组件生命周期、数据存储及React Native应用实现步骤 163

7.1 组件生命周期 163

7.1.1 getInitialState 163

7.1.2 getDefaultProps 163

7.1.3 componentWillMount 164

7.1.4 componentDidMount 164

7.1.5 componentWillReceiveProps 164

7.1.6 shouldComponentUpdate 165

7.1.7 componentWillUpdate 165