在ArchSummit参会的过程中听了阿里、百度、携程、360、豌豆荚等多个公司的移动架构解决方案;
发现大家的架构都在围绕着解决几个问题上:
1、提升运营效率
2、提高升级率,减少用户升级成本(侧面也提升了运营效率)
3、跨平台
第三点是我们公司与几大互联网公司不同的地方,bat都要考虑跨平台的问题(Android、ios),而我们不需要考虑这个问题了。
前两点也是我们需要考虑的问题,针对这几个问题,各大公司也都有自己的架构方案,豌豆荚的方式不太一样,主要是通过数据抽象建模的方式,实现页面排版、卡片样式、跳转策略、内容数据可配置。
另外几家公司大致可分为以下几类架构方式:
Plugin(360手机助手等)
Hybrid(携程、天猫等)
React Native(Facebook)
1、Plugin这种方式可以认为是纯native开发,将一些独立的工能做成插件,抽离出apk本省,这样减小了apk本身的大小,使用时从云端下载使用;
2、hybrid的这种方式是混合开发方式及natvie+web,将强运营的页面做成web形式,web页面可以做到离线加载,尤其阿里做了一套方案,能够快速的更新手机本地的web页面,一小时内可达到80%的到达率;
3、React Native(Facebook 在 React.js Conf 2015 大会上推出了基于 JavaScript 的开源框架,可以使用 JavaScript 来开发 iOS 和 Android 原生应用)拥有native的用户体验,又有web的开发效率,几大公司也在尝试,可能还存在一些缺陷。
另外百度的一个架构师提到了他认为的完美的移动开发框架,供参考:
H5+hotpatch+plugin+react native+ native
开放+云端修补+功能下发+强运营+完美体验+高性能