常见的APP开发模式

常见的APP(指application,应用,而非我们常说的手机APP)开发模式
1.web app
一般指spa形式的,模拟APP做一些交互功能。而MPA形式的不能算是应用,只能算网站。
优点:迭代方便、无需安装
缺点:网站形式、体验较差

2.native APP
原生开发
优点:性能最高、体验最好
缺点:开发迭代成本高

3.react native(RN)
既拥有native的用户体验(UI全部是原生的),又保留react的开发效率(用js写react,js驱动开发)
依赖原生暴露的接口,通过jsBridge来实现。
Facebook发现Hybrid App存在很多缺陷和不足,于是发起开源的一套新的App开发方案RN。使用JSX语言写原生界面,js通过JSBridge调用原生API渲染UI交互通信。
JavaScript Core引擎上跑js,js引擎线程与UI线程通信,所以实现了用js写代码,却绘制的是原生的UI.

优点:社区成熟,开发成本小于原生模式,大部分代码可复用。性能高于hybrid(虚拟DOM)
缺点:不同平台写不同平台代码(js写原生,Android和iOS的原生代码有区别,所以要针对不同平台写不同代码),开发成本大于hybrid模式

4.weex
阿里巴巴开发团队在RN的成功案例上,重新设计出的一套开发模式,站在了巨人肩膀上并有淘宝团队项目做养料,广受关注,2016年4月正式开源,并在v2.0版本官方支持Vue.js,与RN分庭抗礼.

底层原理和rn相同,即用js将代码渲染成原生组件。
基于Vue语法,底层引擎依据环境(web、iOS或者Android)将代码解析成HTML DOM或者原生组件。
优点:多端一致
缺点:维护方面

5.hybrid APP
Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”
由原生开发占主导,部分展示页面用webview形式加载h5页面显示。原生暴露js api 给h5页面.
开发形式:由Native通过JSBridge等方法提供统一的API,然后用Html+Css实现界面,JS来写逻辑,调用API,最终的页面在Webview中显示,这种模式下,Android、iOS的API一般有一致性,Hybrid App所以有跨平台效果。
优点:开发迭代成本低
缺点:受限于webview,性能次于原生(html DOM)
09fa2bbbf6e312974457603af61dbc2c
比较:

1a8b636c4f0fb1e9131eac4c37a8ef15

参考文章:
1).什么是Native、Web App、Hybrid、React Native 和 Weex?
2).Hybrid APP基础篇(二)->Native、Hybrid、React Native、Web App方案的分析比较
3).Hybrid APP基础篇(一)->什么是Hybrid App

此条目发表在规范分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注