一、现有APP技术栈
现有APP使用原生、RN、H5技术栈
原生:首页、一级页面,主要考虑性能优
RN:二级页面,功能稳定的页面
H5:活动页面(有分享功能)、功能变动比较多的页面
原生提供桥接接口给RN使用
客户端提供桥接接口给H5使用
二、原生、React Native、Flutter技术对比
技术 | 性能 | 开发效率 | 渲染方式 | 学习成本 | 可扩展性 |
---|---|---|---|---|---|
Flutter | 高,接近原生体验 | 高 | Skia高性能自绘引擎 | 低,Widget组件化 | 高,采用插件化的库进行扩展 |
RN/Weex/小程序 | 有延迟,一般 | 一般,复杂、效率低 | Js驱动原生渲染 | 高、复杂 | 一般 |
原生应用 | 高 | 一般 | 原生渲染 | 高,需要学习Android和IOS原生API | 高 |
三、略论H5和原生
目前需求判断h5做还是rn做, 主要依赖于 这页面是否需求 分享到微信 上展示
场景:
- 比如appli私塾页面分享到微信,需要微信里完整功能 也可以播放视频看文章。那么适合h5做
- 如果这个app里的页面只在app里用,或者分享到微信时候,只是一个引导下载页面,那就不需要h5
用户体验上 肯定也是原生 > h5,体验上完爆h5,一般大公司app h5占比很小很小