移动APP开发常见的三种模式
目前市场上主流的APP分为三种,分别是原生APP、Web APP、Hybrid APP,相对应的就是原生开发、H5开发和混合开发。下面来分别看看这三种开发模式的优劣吧!

Web App又叫Web应用,简单的说就是一个触屏版的网站。Web应用完全用HTML、JavaScript和CSS等Web技术开发,通过移动设备的浏览器来访问,缺点是这些基于浏览器的应用无法调用系统API来实现一些高级功能,也不适合高性能要求的场合。
HTML5应用开发,是利用Web技术进行的App开发,可以在手机端浏览器里面打开的网站就称之为webapp。Web技术本身需要浏览器的支持才能进行展示和用户交互,因此主要用到的技术是HTML、CSS、Javascript以及jQuery、Vue、React等JS框架。
优点
1)开发成本低,使用现有的Web开发技术即可
2)适用范围广,覆盖所有智能手机,跨平台和终端
3)方便、快捷地部署,无需用户安装
4)用户总能访问到最新版本,迭代更新容易
5)可被搜索引擎收录并带来流量
缺点
1)浏览体验短期内还无法超越原生应用
2)不支持离线模式(HTML5将会解决这个问题)
3)消息推送不够及时
4)调用本地文件系统的能力弱
5)较差的和较慢的性能体验(大部分需要链接互联网)
6)支持图形和动画效果较差
7)不适用于应用商店及没有靠下载应用盈利机会
8)限制用户使用功能(比如,相机、GPS等)
即原生应用,我们一般所称的客户端,是针对不同手机系统单独开发的本地应用。它是在Android、IOS等移动平台上利用官方提供的开发语言、开发类库、开发工具进行App开发。比如Android是利用Java、Eclipse、Android studio;IOS是利用Objective-C 和Xcode进行开发。
原生开发就像盖房子一样,通过代码从每个页面、每个功能、每个效果、每个逻辑、每个步骤全部用代码写出来,一层层,一段段全用代码写出来。
优点
1)可访问手机所有的功能 (GPS、摄像头)
2)速度更快、性能高、整体用户体验不错
3)可线下使用 (因为是在跟Web相对地平台上使用的)
4)支持大量图形和动画
5)可调用各种设备资源
6)用户留存率高
缺点
1)开发成本高
2)更新缓慢,根据不同平台,提交–审核–上线 等等不同的流程,需要经过的流程较复杂
3)内容限制 (App Store限制)
4)维护成本高(例如一款App已更新至V5版本,但仍有用户在使用V2, V3, V4版本,需要更多的开发人员维护之前的版本)
Hybrid App又叫混合应用,是一种介于Native App、Web App之间的App。通俗来说,这就是网页的模式,通常由“HTML5云网站+APP应用客户端”两部份构成。它虽然看上去是一个Native App,但只是一个UI WebView,里面访问的是一个Web App。Hybrid App实质是伪造一个浏览器的apk/ipa原生程序,并运行了一个Web APP,是一种取长补短的开发模式。Hybrid App兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。它可以使web开发人员可以几乎零成本的转型成移动应用开发者,并且相同的代码只需针对不同平台进行编译就能实现在多平台的分发,而相较于Web App,开发者可以通过包装好的接口,调用大部分常用的系统API,开发成本较小。
优点
1)兼容多平台
2)顺利访问手机的多种功能
3)App Store中可下载(Web应用套用原生应用的外壳)
4)可线下使用
缺点
1)不确定上线时间
2)用户体验不如本地应用
3)性能稍慢 (需要连接网络)
4)技术还不是很成熟