关于 Hybrid App 开发的几个方案 ,根据我们目前的情景/痛点,个人认为可以分阶段去进行优化。

第一阶段 - 确定需求

首先我们先确定,哪些模块用原生、哪些模块用Web。个人认为,变更频率高的模块适合用Web(如专题页),变更频率低的模块适合用原生(如首页、商品详情等基本布局),变更频率是高是低则由产品根据需求去定义。

第二阶段 - 优化Web性能

优化Web性能是目前可行性最大的事情了,主要针对几个方面

  • 图片过大的问题。图片过大,于是等待加载的时间长;通过手动上传图片到CDN是不可靠的,市场/运营做的图片可能未经压缩,这件事情不可依赖操作者的自觉性。建议通过接口上传,运营人员->通过网站后台上传图片->临时服务器->图片压缩->同步到CDN。图片压缩方面,可以参考 TinyPNG
  • 缓存。关于缓存的知识,参考这里
  • 原生互调WebViewJavascriptBridge

第三阶段

React Native。为了应付可能膨胀的业务功能需求,(比如频繁接入的支付方式),考虑灵活开发,兼顾APP运行效率,这里考虑尝试 React Native;相比于第二阶段优化Web性能,此处是对APP架构的大规模改变,并且学习成本较高,所以放在后面执行。参考知乎回答