react-native版知乎日报APP(二) 技术选型

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集成文档更好一点  .  如果需要 第三方 登录 分享功能  建议使用友盟 . 



推荐阅读更多精彩内容