1、Web App
Web App
即移动端的网站,将页面部署在服务器上,然后用户使用各大浏览器访问。
不是独立APP,它是无法安装和发布。
例如:淘宝,京东等浏览器页面就是一个最常见的Web App。
优点:
- 开发成本低,可以跨平台,调试方便。
- 维护成本低 更新无需通知用户,不需要手动升级 无需安装App,不会占用手机内存。
缺点:
- 无法获取系统级别的通知,提醒,动效等等。
- 用户留存率低 设计受限制诸多体验较差。
2、Native App
Native App
就是我们常说的原生App啦,分为Android开发和IOS开发。
Android基于Java语言,
底层调用Goolge提供的API,
IOS基于Objective c或Swift,
底层调用Apple官方提供的Api。
优点:
- 直接依托于操作系统,交互性最强,性能最好。
- 功能最为强大,特别是在与系统交互中,几乎所有功能都能实现。
缺点
- 开发成本高,无法跨平台,不同平台Android和iOS上都要各自独立开发。
- 门槛较高,原生人员有一定的入门门槛,相比广大的前端人员而言较少。更新缓慢,特别是发布应用商店后,需要等到审核周期。维护成本高。
3、Hybrid App
Hybrid App(混合应用程序)
,主要原理就是将 APP 的一部分需要动态变动的内容通过 H5 来实现,通过原生的网页加载控件 WebView (Android)或 WKWebView(iOS)来加载H5页面(以后若无特殊说明,我们用 WebView 来统一指代 android 和 iOS 中的网页加载控件)。
这样以来,H5 部分是可以随时改变而不用发版,动态化需求能满足;同时,由于 H5 代码只需要一次开发,就能同时在 Android 和 iOS 两个平台运行,这也可以减小开发成本,也就是说,H5 部分功能越多,开发成本就越小。我们称这种 h5+原生的开发模式为混合开发,采用混合模式开发的 APP 我们称之为混合应用或 Hybrid APP。
你可以简单的理解为是Web App和Native App的杂合体。
优点:
- 开发成本较低,可以跨平台,调试方便 维护成本低,功能可复用。
- 功能更加完善,性能和体验要比起web app好太多,更新较为自由。
缺点:
- 相比原生,性能仍然有较大损耗,不适用于交互性较强的app。