编辑推荐
这是一本React Native入门书籍,适当地介绍了一些原理性的概念,但并不深究,同时本书提供的不少案例,也将快速带领你进入React Native的世界。雄关漫道真如铁,而今迈步从头越。相信通过学习本书,你一定会有所收获。
内容简介
本书全面详尽地介绍了React Native框架的方方面面,内容涵盖React Native基础知识、环境搭建与调试、开发基础、常用组件、常用API、组件封装、网络与通信、混合开发、热更新与打包部署,以及两个实际案例的完整开发教程。这些丰富的内容不仅能让读者了解这款框架中涉及的各类概念,还能指导读者开发实践。本书语言简洁,内容丰富,适合有一定Android、iOS原生开发基础和CSS基础的移动开发工程师学习。
作者简介
向治洪,易居客户端主管,主要从事Android、iOS和移动跨平台开发,对前端技术也有一定的研究, 曾供职于携程网、驴妈妈旅游网等互联网公司。活跃各大技术论坛,CSDN博客访问量近200万 ,云栖社区版主,慕课网讲师
目录
- 第 1章 React Native入门
- 1.1 React Native基本知识1
- 1.1.1 React简介1
- 1.1.2 React Native简介4
- 1.1.3 React Native工作原理5
- 1.2 React Native与其他跨平台技术的
- 对比优势6
- 1.2.1 Web流7
- 1.2.2 代码转换流7
- 1.2.3 编译流8
- 1.2.4 虚拟机流10
- 1.3 小结11
- 第 2章 React Native环境搭建与调试
- 2.1 React Native环境搭建12
- 2.1.1 Mac环境下搭建React Native12
- 2.1.2 React Native开发IDE15
- 2.1.3 创建React Native项目16
- 2.1.4 运行React Native项目17
- 2.1.5 iOS环境18
- 2.1.6 Android环境19
- 2.1.7 Windows环境下搭建React Native22
- 2.2 React Native 项目结构剖析22
- 2.2.1 React Native文件结构22
- 2.2.2 iOS文件结构及代码分析23
- 2.2.3 Android文件结构及代码分析24
- 2.3 React Native开发IDE介绍26
- 2.3.1 Atom Nuclide26
- 2.3.2 WebStrom29
- 2.4 React Native调试技巧30
- 2.4.1 JavaScript调试技巧30
- 2.4.2 React Native调试33
- 2.5 React Native代码测试36
- 2.5.1 使用Flow进行类型检查36
- 2.5.2 使用Jest测试37
- 2.5.3 集成测试37
- 2.6 小结38
- 第3章 React Native开发基础
- 3.1 FlexBox布局39
- 3.1.1 FlexBox简介39
- 3.1.2 FlexBox布局模型40
- 3.1.3 FlexBox布局属性41
- 3.1.4 FlexBox伸缩项目属性45
- 3.1.5 FlexBox在React Native中的应用47
- 3.1.6 FlexBox综合实例48
- 3.2 ES6语法基础50
- 3.2.1 组件的导入与导出51
- 3.2.2 类52
- 3.2.3 状态变量53
- 3.2.4 回调函数54
- 3.2.5 参数55
- 3.2.6 箭头操作符57
- 3.2.7 Symbol57
- 3.2.8 解构58
- 3.3 React JSX60
- 3.3.1 JSX入门60
- 3.3.2 JSX语法61
- 3.4 样式64
- 3.4.1 申明与操作样式64
- 3.4.2 样式分类64
- 3.4.3 样式使用66
- 3.4.4 样式传递67
- 3.5 手势与触摸事件68
- 3.5.1 触摸事件68
- 3.5.2 手势系统响应70
- 3.5.3 辅助功能74
- 3.6 小结77
- 第4章 常用组件介绍
- 4.1 HTML元素与原生组件78
- 4.1.1 文本组件79
- 4.1.2 图片组件80
- 4.1.3 TextInput组件82
- 4.1.4 ScrollView组件87
- 4.2 结构化组件92
- 4.2.1 View组件92
- 4.2.2 ListView组件94
- 4.2.3 Navigator组件101
- 4.2.4 WebView组件106
- 4.3 平台特定组件109
- 4.3.1 TabBarIOS和TabBarIOS.Item
- 组件109
- 4.3.2 ToolbarAndroid组件113
- 4.3.3 SegmentedControlIOS组件115
- 4.3.4 ViewPagerAndroid组件117
- 4.4 Touchable系列组件119
- 4.4.1 TouchableWithoutFeedback120
- 4.4.2 TouchableHighlight120
- 4.4.3 TouchableOpacity122
- 4.4.4 TouchableNativeFeedback122
- 4.5 小结123
- 第5章 常用API介绍
- 5.1 AppRegistry124
- 5.2 StyleSheet126
- 5.3 AppState128
- 5.4 AsyncStorage129
- 5.5 PixelRatio132
- 5.6 Animated133
- 5.7 Geolocation142
- 5.8 NetInfo144
- 5.8.1 获取网络状态144
- 5.8.2 网络状态监听145
- 5.8.3 判断网络是否连接146
- 5.9 小结146
- 第6章 组件封装
- 6.1 组件的生命周期147
- 6.2 第三方库150
- 6.2.1 react-navigation150
- 6.2.2 react-native-tab-navigator153
- 6.2.3 react-native-scrollable-tab-view157
- 6.2.4 react-native-image-picker161
- 6.2.5 Mobx166
- 6.2.6 react-native-art172
- 6.3 自定义组件177
- 6.3.1 组件的导出导入177
- 6.3.2 TabbarView封装178
- 6.3.3 九宫格布局封装181
- 6.3.4 下拉刷新组件封装185
- 6.4 小结192
- 第7章 网络与通信
- 7.1 通信机制193
- 7.1.1 React Native与Android通信194
- 7.1.2 React Native与iOS通信208
- 7.2 Promise 机制210
- 7.2.1 Promise 简介210
- 7.2.2 Promises基本用法213
- 7.2.3 在React Native中使用AJAX技术214
- 7.3 网络请求216
- 7.3.1 XMLHttpRequest请求216
- 7.3.2 fetch请求218
- 7.4 小结223
- 第8章 混合开发高 级篇
- 8.1 React Native调用iOS原生组件224
- 8.1.1 React Native链接原生库225
- 8.1.2 React Native调用Objective-C创建的
- 原生组件227
- 8.2 React Native调用Android原生组件233
- 8.2.1 编写原生UI组件233
- 8.2.2 编写JavaScript端实现236
- 8.3 小结238
- 第9章 热更新与打包部署
- 9.1 iOS应用打包239
- 9.1.1 iOS应用配置240
- 9.1.2 打包离线Bundle242
- 9.1.3 设置发布Scheme243
- 9.1.4 发布应用243
- 9.2 Android应用打包244
- 9.2.1 打包离线Bundle244
- 9.2.2 生成签名密钥245
- 9.2.3 生成签名apk246
- 9.3 热更新248
- 9.3.1 热更新原理249
- 9.3.2 热更新配置249
- 9.3.3 登录与创建应用252
- 9.3.4 添加热更新功能253
- 9.3.5 发布热更新版本256
- 9.4 小结257
- 第 10章 基于LBS的天气预报应用开发
- 10.1 需求分析与确定258
- 10.1.1 需求分析258
- 10.1.2 需求确定260
- 10.1.3 整体功能分析260
- 10.1.4 技术与架构分析261
- 10.2 项目设计261
- 10.3 程序入口与工具模块263
- 10.3.1 程序入口263
- 10.3.2 数据模型定义与数据解析266
- 10.3.3 数据存储271
- 10.3.4 工具类273
- 10.4 模块开发275
- 10.4.1 组件封装276
- 10.4.2 天气预报页面开发276
- 10.4.3 Navigation导航285
- 10.5 运行结果286
- 第 11章 O2O移动团购应用
- 11.1 需求分析288
- 11.1.1 需求分析288
- 11.1.2 功能分析289
- 11.2 应用设计291
- 11.2.1 模块划分291
- 11.2.3 添加第三方库292
- 11.3 项目搭建与工具模块开发293
- 11.3.1 程序入口293
- 11.3.2 搭建主框架294
- 11.3.3 导航栏封装298
- 11.3.4 WebView封装303
- 11.3.5 字体样式工具类306
- 11.4 功能开发307
- 11.4.1 分类导航入口开发307
- 11.4.2 专题活动开发309
- 11.4.3 商品列表开发311
- 11.4.4 详情页面开发313
- 11.4.5 Modal分享弹窗开发318
- 11.5 完成开发322
- 11.5.1 添加闪屏页322
- 11.5.2 修改应用图标和名称324
- 11.6 小结325