一、说明
随着人们越来越多使用智能手机,移动端软件在人们的生活中扮演着越来越重要的角色,很多之前只在 PC 上的业务都开始支持移动端。移动端主要的开发模式有 Native App、Web App 和 Hybrid App,接下来我们对比一下其各自的优劣。
二、对比
1、Native App
说明:Native App 即完全由原生 API 开发的 App。
优点
- 性能好:系统级 API,速度快,动画流畅。
- 节省流量:可以将资源打包到安装包中。
缺点
- 开发成本高:一般需要同时开发和维护 Android 和 iOS 两个平台。
- 维护成本高:由于新版本不能及时更新,需要同时维护多个历史成本。
- 不可即时修复 bug:有问题不能及时修复,需要待用户升级后才能修复。
2、Web App
说明:一般指运行于移动端浏览器上的应用。
优点
- 开发成本低:一套代码可以在多个平台运行。
- 无历史包袱:由于无需用户下载新的安装包,每次请求都是最新代码。
- 迭代速度快:无需打多渠道包、提交应用市场审核上线等流程,直接在服务端部署就可以。
- 问题即时修复:有问题可以及时修复,无需像原生 App 一样等待用户升级。
缺点
- 性能差:在页面加载、操作、动画等方面较原生性能都会比较差一些。
- 部分原生的功能不支持。
3、Hybrid App
说明:Hybrid App 即混合开发 App,一般指用原生做一个壳子,然后用 WebView 来加载 Web 页面。
优点
- 跨平台:原生只需要做个壳子,可以用 Web 实现跨平台。
- 即时性:可迅速升级,无需重新发版。
- 性能:在一些关键考验性能的方面可以由原生支持。
缺点
- Web 业务逻辑性能低于原生,但瑕不掩瑜,为了可维护性牺牲一点性能也是可以理解的。
- 无法完全不发版:有时候需要添加原生支持时也是需要发版。
三、总结
Native App 和 Web App 优缺点完全是互补的:前者的优点正好是后者的缺,后者的优点也正好是前者的缺点。而 Hybrid 结合了原生应用和 Web 应用的优势,当然也会牺牲一些各自的优势。记得血色浪漫中钟跃民有一句话——“好事不能都让你小子一个人占了”。感觉还是很有道理的。要结合两者的优点就势必要牺牲一些自身的特点,在做技术选型的时候也可以对比各自的优劣选择某最合适的开发模式。