内容介绍
这本书由四部分组成首先简单介绍了ReactNative开发的基础知识,然后介绍了ReactNative的API、以及组件原生扩展和组件封装然后介绍了App的动态更新和上架过程最后,通过三个案例介绍了如何用ReactNative开发原生应用程序。
目录
- 第一部分 基础语法篇
- 第1章 React Native简介 2
- 1.1 环境搭建 2
- 1.1.1 安装Node.js 2
- 1.1.2 安装React Native 6
- 1.1.3 使用NVM 管理Node.js 版本 7
- 1.1.4 创建项目 8
- 1.2 从React到 React Native 9
- 1.2.1 React简介 9
- 1.2.2 ReactNative简介 13
- 1.3 为什么要使用React Native 17
- 1.4 如何学习React Native 17
- 1.5 说明 18
- 第2章 React Native开发基础 19
- 2.1 flexbox布局 19
- 2.1.1 介绍 19
- 2.1.2 布局模型 20
- 2.1.3 伸缩容器属性 20
- 2.1.4 伸缩项目属性 37
- 2.1.5 在React Native中使用flexbox 46
- 2.1.6 实例 47
- 2.2 React中的JSX 53
- 2.2.1 JSX入门 53
- 2.2.2 JSX实战之ReactJS 59
- 2.2.3 JSX实战之React Native 77
- 2.3 React Native开发向导 80
- 2.3.1 配置文件 80
- 2.3.2 运行 83
- 2.3.3 调试 85
- 2.3.4 内部发布 91
- 2.4 参考资料 91
- 第二部分 API和组件篇
- 第3章 常用组件及其实践 94
- 3.1 View组件 94
- 3.1.1 View介绍 94
- 3.1.2 案例:九宫格实现 94
- 3.2 Text组件 102
- 3.2.1 Text组件介绍 102
- 3.2.2 案例:网易新闻列表展示 102
- 3.3 NavigatorIOS组件 109
- 3.3.1 NavigatorIOS组件介绍 109
- 3.3.2 案例:列表页跳转详情页 110
- 3.4 TextInput组件 113
- 3.4.1 TextInput组件介绍 113
- 3.4.2 案例:搜索自动提示 114
- 3.5 Touchable类组件 121
- 3.5.1 TouchableHighlight组件 121
- 3.5.2 TouchableOpacity组件 123
- 3.5.3 TouchableWithoutFeedback组件 123
- 3.6 Image组件 124
- 3.6.1 Image组件介绍 124
- 3.6.2 加载网络图片 124
- 3.6.3 加载本地图片 127
- 3.7 TabBarIOS组件 128
- 3.7.1 TabBarIOS组件介绍 128
- 3.7.2 案例:类QQ Tab切换 129
- 3.8 WebView组件 133
- 3.8.1 WebView组件介绍 133
- 3.8.2 案例:使用WebView组件加载微博页面 134
- 3.8.3 案例:新浪微博OAuth认证 136
- 第4章 常用API及其实践 138
- 4.1 AppRegistry 138
- 4.1.1 AppRegistry介绍 138
- 4.1.2 AppRegistry示例 138
- 4.2 AsyncStorage 140
- 4.2.1 AsyncStorage介绍 140
- 4.2.2 案例:购物车 140
- 4.3 AlertIOS 149
- 4.3.1 AlertIOS 149
- 4.3.2 AlertIOS组件的应用 150
- 4.4 ActionSheetIOS 152
- 4.4.1 ActionSheetIOS介绍 152
- 4.4.2 ActionSheetIOS应用 152
- 4.5 PixelRatio 154
- 4.5.1 PixelRatio介绍 154
- 4.5.2 PixelRatio应用 155
- 4.6 AppStateIOS 156
- 4.6.1 AppStateIOS介绍 156
- 4.6.2 AppStateIOS实例 156
- 4.7 StatusBarIOS 157
- 4.7.1 StatusBarIOS介绍 157
- 4.7.2 StatusBarIOS应用 157
- 4.8 NetInfo 158
- 4.8.1 NetInfo介绍 159
- 4.8.2 NetInfo示例 159
- 4.9 CameraRoll 159
- 4.9.1 CameraRoll介绍 160
- 4.9.2 CameraRoll应用 160
- 4.9.3 react-native-camera 167
- 4.10 VibrationIOS 170
- 4.11 Geolocation 171
- 4.11.1 Geolocation介绍 171
- 4.11.2 Geolocation应用 172
- 4.12 数据请求 173
- 4.12.1 XMLHttpRequest 174
- 4.12.2 Fetch 174
- 4.13 定时器 175
- 4.13.1 setTimeout 175
- 4.13.2 setInterval 176
- 4.13.3 setImmediate 176
- 4.13.4 使用requestAnimationFrame开发进度条 176
- 4.13.5 完整代码 177
- 第5章 Native扩展 178
- 5.1 通信机制 178
- 5.1.1 模块配置映射 178
- 5.1.2 通信流程 180
- 5.2 自定义Native API组件 183
- 5.2.1 模块和方法定义 184
- 5.2.2 回调函数 185
- 5.2.3 线程 187
- 5.2.4 常量导出 188
- 5.2.5 事件 189
- 5.2.6 实战 190
- 5.3 构建Native UI组件 196
- 5.3.1 概述 196
- 5.3.2 UI组件的定义 196
- 5.3.3 UI组件属性 197
- 5.3.4 组件方法 199
- 5.3.5 事件 199
- 5.3.6 实例 201
- 第6章 组件封装 208
- 6.1 二级菜单组件 208
- 6.1.1 静态组件的实现 209
- 6.1.2 实现组件的复用和封装 213
- 6.1.3 应用二级菜单组件 219
- 6.2 日历组件 220
- 6.2.1 开发日历组件 221
- 6.2.2 应用日历组件 226
- 6.3 开源组件 227
- 6.3.1 react-native-swiper 228
- 6.3.2 react-native-modal 231
- 第三部分 App更新和上架篇
- 第7章 热更新和上架 236
- 7.1 动态更新 236
- 7.1.1 初始化设置 236
- 7.1.2 更新逻辑 238
- 7.1.3 回滚策略 240
- 7.2 App 上架 240
- 7.2.1 证书生成 241
- 7.2.2 注册应用 248
- 7.2.3 上传应用 249
- 第四部分 实战篇
- 第8章 企业内部通讯录应用开发 254
- 8.1 需求提出 254
- 8.2 技术架构 255
- 8.3 服务器端设计和开发 256
- 8.3.1 服务器端整体设计 257
- 8.3.2 用户数据模型设计 257
- 8.3.3 公告数据模型设计 259
- 8.3.4 服务路由设计 260
- 8.3.5 创建项目 260
- 8.3.6 app.js入口文件 262
- 8.3.7 加载服务模块到内存 263
- 8.3.8 工具类开发 264
- 8.3.9 用户信息接口 265
- 8.3.10 公告消息接口 270
- 8.3.11 建议 272
- 8.4 客户端设计和开发 272
- 8.4.1 客户端设计 272
- 8.4.2 工具组件和服务 274
- 8.4.3 添加依赖库 275
- 8.4.4 程序入口和登录 277
- 8.4.5 联系人列表 286
- 8.4.6 公告功能 294
- 8.4.7 管理功能 299
- 8.4.8 关于 316
- 8.4.9 建议 318
- 第9章 基于LBS的应用开发 319
- 9.1 功能设计 319
- 9.1.1 需求确定 319
- 9.1.2 开发目录结构 320
- 9.2 程序入口和工具模块 321
- 9.2.1 注册应用程序 321
- 9.2.2 工具模块 322
- 9.2.3 Nearby组件入口 323
- 9.3 列表组件开发 327
- 9.3.1 通用列表组件开发 327
- 9.3.2 完成列表页 334
- 9.4 详情页组件开发 336
- 9.5 WebView地图模块开发 338
- 9.6 综合效果 341
- 第10章 豆搜App 342
- 10.1 豆瓣API 342
- 10.1.1 熟悉豆瓣API 342
- 10.1.2 图书、电影、音乐API 343
- 10.2 应用设计 345
- 10.2.1 功能设计 345
- 10.2.2 模块划分 345
- 10.3 公共模块开发 347
- 10.3.1 工具类开发 347
- 10.3.2 服务列表 348
- 10.3.3 Navigator封装 349
- 10.3.4 公共头封装 350
- 10.3.5 WebView封装 352
- 10.3.6 搜索框封装 353
- 10.4 功能开发 354
- 10.4.1 入口组件 354
- 10.4.2 图书列表页开发 356
- 10.4.3 图书详情页开发 361
- 10.4.4 电影模块开发 363
- 10.4.5 音乐模块开发 368
- 10.5 完成豆搜App 372
比较基础,API 和组件介绍可以直接看 ReactNative 官网的资料。书中提供 React Native 简单的项目实践和一些细节实现思路,也算有所收获。
一般入门写app都看这本书啦,这本书说的比较多原生的java代码,我们需要业务等使用jsx 语言写,好处就是不论是安卓还是ios 都可以通用,节省时间,如果分开得写不同的框架代码,个人觉得还是原生的好。