App开发的几种模式

Posted by zfx5130 on November 15, 2017

post_bg_react_app

post_bg_weex

当前app开发有一下五大类型:

  • Native App
  • Web App
  • Hybrid App
  • React Native App
  • Weex App
Native App

​ 传统的原生App开发模式,Android基于Java语言,底层调用GoogleAPIiOS基于OC或者Swift语言,底层调用App官方提供的API

优缺点
  • 性能好,交互性强。
  • 用户体验好。
  • 开发成本高,无法跨平台。
  • 维护成本高。
Web App

​ 移动端的网站开发,将页面部署到服务器上,用户使用浏览器访问。

优缺点
  • 开发成本低,可以跨平台,调试方便 。
  • 更新最为快速。
  • 无需安装`App,不会占用手机内存。
  • 用户体验差。
  • 必须连接网络。
  • 功能受限制。
  • 用户留存率低。
Hybrid App

​ 混合开发,也就是半原生半Web的开发模式,有跨平台效果。

优缺点
  • 开发成本较低,可以跨平台,调试方便。
  • 维护成本低,可复用。
  • 更新较为自由。
  • 部分性能要求的页面可用原生实现。
  • 相比原生,性能仍然有较大损耗。
  • 不适用于交互性较强的app
React Native App

Facebook发起的开源的一套新的APP开发方案,Facebook在当初深入研究Hybrid开发后,觉得这种模式有先天的缺陷,所以果断放弃,转而自行研究,后来推出了自己的ReactNative方案,不同于H5,也不同于原生,更像是用JS写出原生应用。

优缺点
  • 开发成本大于Hybrid模式,但是小于原生模式,大部分代码可复用。
  • 性能体验高于Hybrid,不逊色与原生。
  • React-native的思想是多个平台可以写多套代码,但其使用的是同一套语言框架。
  • React-native承认了各个平台之间的差异,退而求其次,在语言和框架层面对平台进行抽象,从方法论的角度去解决多平台开发的问题。
  • 这种模式是统一由JS编写,有着独特的语法,所以只需要学习一次,即可同时开发AndroidiOS
  • 虽然可以部分跨平台,但并不是Hybrid中的一次编写,两次运行那种,而是不同平台代码有所区别。
  • 开发人员学习有一定成本。
  • React Native基于React.js
Weex App

Weex是阿里巴巴公司与2016年6月开源的一种用于构建移动跨平台的UI框。

优缺点
  • 轻量级,语法简单,易于使用。
  • 可扩展,丰富内置组件,可扩展的API。
  • weex基于vue.js
  • weex的思想是多个平台,只写一套代码。
  • weex的目标在于抹平各个平台的差异性,从而简化应用开发。

post_weex_react

post_weex-vs-react

参考资源如下