当前位置:首页 > 工业技术
ReactNative跨平台移动应用开发
ReactNative跨平台移动应用开发

ReactNative跨平台移动应用开发PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:阙喜涛著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2016
  • ISBN:9787121287077
  • 页数:346 页
图书介绍:React Native师出名门,于2015年11月初成为真正的跨平台移动应用开发框架。本书从零开始切入React Native开发,逐一讲解各个组件,包括页面导航、弹出框、OS平台Object c语言混合开发、flexbox布局、Image、View与可触摸组件等,适用 Android和苹果两系统手机开发,是移动开发者学习React Native不可多得的入门宝典。
《ReactNative跨平台移动应用开发》目录

第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 高效的U1调试 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 UI框架工作基本机制 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 合并状态机变量的最简语法 41

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 监听Activity Result与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、Textlnput等相关知识 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

7.1.8 componentDidUpdate 165

7.1.9 componentWillUnmount 166

7.2 读取JSON文件 166

7.3 数据持久化操作 167

7.3.1 flow语法检查器 167

7.3.2 写入数据、错误捕捉 168

7.3.3 读取数据 170

7.3.4 AsyncStorage API存储数据的无序性 173

7.3.5 删除数据 173

7.3.6 修改数据 175

7.3.7 JSON对象存储 175

7.3.8 读取JSON对象 176

7.4 数据表操作 176

7.5 React Native应用实现步骤、日记例程(上) 176

7.5.1 应用原型 177

7.5.2 基础组件结构设计 178

7.5.3 使用React Native组件搭建静态界面 180

7.5.4 React Native组件分层 188

7.5.5 实现各组件业务逻辑 189

7.5.6 日记例程(上)总结 190

第8章 ScrollView和ListView 200

8.1 ScrollView组件 200

8.1.1 ScrollView组件属性 200

8.1.2 ScrollView组件iOS平台专有属性 201

8.1.3 ScrollView组件Android平台专有属性 202

8.1.4 ScrollView组件的公开成员函数 203

8.1.5 RefreshControl组件 203

8.1.6 ScrollView组件基本用法 204

8.2 ListView组件 206

8.2.1 ListView组件的回调函数 207

8.2.2 ListView组件的其他属性 208

8.2.3 ListView组件的成员函数 208

8.3 简单的列表 208

8.3.1 准备列表的数据源 209

8.3.2 声明状态机变量 209

8.3.3 将数据源中的数据拷贝到DataSource中 210

8.3.4 定义如何渲染列表中的每一行 210

8.3.5 实现简单的列表 211

8.3.6 列表栏的高级处理 217

8.4 带分段标志的列表 217

8.4.1 准备数据源 218

8.4.2 声明状态机变量 218

8.4.3 将数据源中的数据拷贝到DataSource中 219

8.4.4 定义如何渲染每个分栏 219

8.4.5 定义如何渲染首、尾栏 220

8.4.6 列表间隔渲染 220

8.4.7 实现带分段标志的列表 220

8.4.8 总结 221

8.5 日记例程(下)总结 221

第9章 等待提示条、进度条和Switch 222

9.1 ProgressBarAndroid组件 222

9.1.1 ProgressBarAndroid组件样式设置 222

9.1.2 ProgressBarAndroid其他属性 222

9.1.3 Android平台等待提示条 222

9.1.4 React Native框架中定时器的使用 224

9.1.5 Android平台进度条 225

9.2 iOS进度条组件 226

9.2.1 ProgressViewIOS组件样式设置 226

9.2.2 ProgressViewIOS其他属性 226

9.2.3 iOS平台进度条 226

9.3 iOS平台等待提示条 227

9.3.1 ActivityIndicatorIOS组件样式设置 227

9.3.2 ActivityIndicatorIOS其他属性 227

9.3.3 iOS平台等待提示条例程 227

9.4 Switch组件 229

9.4.1 Switch组件样式设置 229

9.4.2 Switch其他属性 229

9.4.3 Switch组件的使用 229

第10章 导航组件 231

10.1 导航组件的属性 231

10.1.1 回调函数 231

10.1.2 其他属性 232

10.2 导航器 232

10.3 NavigationBar 233

第11章 手势识别 240

11.1 PanResponder API 240

11.2 监视器 240

11.2.1 指定监视区域 241

11.2.2 定义监视器相关变量 241

11.2.3 准备监视器的事件处理函数 241

11.2.4 建立监视器 242

11.2.5 将监视器与监视区域挂接 242

11.3 监视事件的生命周期 242

11.3.1 单次点击事件的生命周期 243

11.3.2 单次点击事件处理 245

11.3.3 移动手势事件的生命周期 245

11.3.4 监视器异常事件 247

11.4 手势识别处理例程 247

11.4.1 单点手势——点击、拖动选择百分比参数 247

11.4.2 单点手势——带导槽的滑动来电接听或拒接界面 249

11.4.3 单点手势——滑动解锁屏幕界面 252

11.4.4 单点手势——单点任意方向拉动选择界面 254

11.4.5 两点手势 257

第12章 网络 258

12.1 获取网络状态 258

12.1.1 得到当前网络状态 258

12.1.2 监听网络状态改变事件 259

12.1.3 简单判断是否有网络连接 260

12.1.4 判断当前连接是否收费 260

12.2 通过HTTP、HTTPS与网络侧交换数据 260

12.2.1 发送请求 260

12.2.2 接收响应 263

12.3 在React Native开发中使用AJAX技术 264

第13章 网页浏览器、音视频媒体播放 266

13.1 WebView组件样式设置 266

13.2 WebView组件其他属性 266

13.2.1 非回调函数属性 266

13.2.2 回调函数属性 267

13.2.3 平台独有属性 267

13.2.4 WebView组件成员函数 268

13.3 网页浏览器使用例程 268

13.3.1 浏览网页例程 268

13.3.2 加载本地网页例程 271

13.4 音视频媒体播放 273

第14章 图片的遍历、存取与显示 274

14.1 React Native开发中iOS平台链接库的使用 274

14.2 获取手机中所有的图片信息 276

14.3 图片信息详解 278

14.3.1 Android平台图片信息 278

14.3.2 iOS平台图片信息 278

14.4 显示从CameraRoll API得到的图片 279

14.5 为用户提供图片选择界面 280

14.6 图片的保存与读取显示 282

14.6.1 保存图片数据 282

14.6.2 读取并显示图片 283

第15章 选择器、位置相关和应用状态 284

15.1 日期、时间选择器 284

15.1.1 DatePickerAndroid API 284

15.1.2 TimePickerAndroid API 286

15.1.3 DatePickerIOS组件 287

15.2 Picker组件 289

15.2.1 Picker组件的样式设置 289

15.2.2 Picker组件的属性 289

15.2.3 Picker.Item组件属性 290

15.2.4 Picker组件例程 290

15.3 PickerIOS 294

15.4 MapView组件 295

15.4.1 MapView组件样式设置 296

15.4.2 MapView组件特有的跨平台属性 296

15.4.3 MapView组件例程 297

15.5 AppState API 299

15.5.1 AppState API用途与用法 299

15.5.2 AppState API例程 299

15.6 获取地理位置 300

15.7 VibrationIOS API 302

第16章 使用ES 6语法开发 303

16.1 React Native组件导入 303

16.2 属性声明 304

16.3 成员变量声明 304

16.4 状态机变量声明 305

16.5 回调函数绑定 306

16.6 类的静态成员变量与静态成员函数 307

第17章 混合开发高级篇 309

17.1 使用Objective-C语言创建私有的React Native组件 309

17.1.1 增加FLAnimatedImage链接库 309

17.1.2 创建视图管理类 311

17.1.3 封装开源代码中的视图类 312

17.1.4 在React Native侧调用私有组件 314

17.1.5 例程运行效果 315

17.2 使用Swift语言创建私有的React Native组件 316

17.2.1 整合开源项目 316

17.2.2 建立组件管理者和桥接头文件 319

17.2.3 Objective-C与React Native接口部分 321

17.2.4 使用Swift语言实现组件控制 322

17.2.5 在React Native侧调用私有组件 324

17.2.6 例程运行效果 325

17.3 使用Android SDK创建私有的React Native组件 325

17.3.1 准备原生代码UI组件 326

17.3.2 实现原生UI管理类 327

17.3.3 创建原生UI实例 328

17.3.4 实现对属性的支持 328

17.3.5 建立原生UI包 328

17.3.6 注册原生UI管理类 329

17.3.7 对应的React Native侧实现 329

17.3.8 运行俯视视图例程 331

第18章 项目配置、生成发布版本安装包及其他 332

18.1 iOS平台项目配置 332

18.2 iOS平台应用发布 336

18.3 Android平台项目配置 336

18.4 Android平台应用生成发布版本安装包 338

18.4.1 生成发布密钥 338

18.4.2 修改gradle配置文件 338

18.4.3 生成发布版本安装包 339

18.5 其他组件与 API 339

18.5.1 动画相关 339

18.5.2 其他未讨论的组件与API 340

附录A ECMAScript 2015语法参考 341

相关图书
作者其它书籍
返回顶部