App中使用react-native版本为0.59.10, 当前最新版本为0.60.x ( 2019/08 ) , 由于0.60做了比较大变动 , 部分第三方组件还没有适配 , 目前无法正常使用 . 建议等待发布 0.61.0时再尝试使用0.60.x , 减少被坑风险 .
.注 : 有些第三方组件适配周期很长(2 - 4)个月 , 在开发中需要注意这点 .
技术选型涉及 :
1. UI框架
2. 路由导航框架
3. 热更新框架
. 4. 前端状态管理框架
5 . 消息推送框架
UI 框架
目前RN中UI框架主要分为两类:原生UI框架和纯JS框架 .
原生UI框架功能多 : 贴近原生表现 , 但一旦react-native 发布新版本 有大变动 , 需要等待UI框架适配 , 另外在android和ios下也会有不同表现 . 目前热门的框架有 react-native-elements 和 nativeBase
纯JS框架 : 组件小且灵活 ,上手快 , 终端表现统一 通常不需要考虑react-native 版本问题 适合定制化 , 但功能相对原生UI框架简单 , 效果稍差 . 目前热门的框架有 teaset
应用中UI框架实际使用了两个 : React Native Elements 和 NativeBase . 项目初期立项时选择了React Native Elements , 所以应用中大部分页面都是以前者为基础写的. 后期在实现 登录注册相关页面是基于NativeBase来写的 , 因为NativeBase的Input组件更方便一些.
扩展阅读 : react-native热门UI框架 (EN)
路由导航框架
目前路由导航库 , 比较推荐 react-navigation , 另外还有 react-native-router-flux , 它是基于react-navigation 开发得来的 .
应用中仅使用 react-navigation 作为导航库 .
热更新框架
应用热更新框架使用的CodePush来实现 , CodePush很好很强大 , 但是由于 CodePush是微软境外的服务器 , 国内部分网络下 会出现无法连接更新服务器的情况 , 时好时坏 , 有些影响使用 . 最初开发时 国内的很多文档都没有说这一点 , 使用时切记 .
如果要使用codepush 建议搭配 codepush-server 使用国内服务器
其他热更新框架 react-native-pushy (国内的)
前端状态管理框架
本应用使用Mbox作为状态管理 , 对比过Redux和Mbox , 后者比前者更简单好理解一些 , 代码量也更少.
应用中Mbox使用比较简单 , 仅涉及切换主题功能 , 如果你还不了解 Mbox , 大可跳过这部分.
消息推送框架
受限于我朝的网络环境 , 目前国内支持react-native的消息推送有 :
1. 极光推送
2. 友盟推送
3. 阿里云推送
应用中使用极光推送 , 它的react-native集成文档更好一点 . 如果需要 第三方 登录 分享功能 建议使用友盟 .
网友评论