一 、Native APP(原生APP),位于平台层上方,基于各平台系统开发的app,向下访问和兼容的能力会比较好一些,可以支持在线或离线,消息推送或本地资源访问,摄像拨号功能的调取。但是由于设备碎片化,App的开发成本要高很多,维持多个版本的更新升级比较麻烦,用户的安装门槛也比较高。但是比较乐观的是,App store培养了一种比较好的用户付费模式,所以在Apple的生态圈里,开发者的盈利模式是一种明朗状态,其他market也在往这条路上靠拢。Native Code编程,代码编译之后以2进制或者字节码的形式运行在OS上,直接调用OS的Dvice API。
二、 Web APP(网页APP),web 应用程序的一种,主要是使用HTML5技术,以HTML+JS+CSS等WEB技术编程,代码运行在浏览器中,通过浏览器来调用Device API。开发者们可以通过互联网或者移动互联网发布自己 的web-app程序,由于发布的版本不断更新,所有用户需要了解web-app 的版本信息,以免出错。Web应用程序用于规避苹果通过其应用程序商店销售iphone提出,例如,Google Voice。web应用程序可以在线使用,也可以离线使用。
三、 Hybrid
APP(混合原生APP支持下的网页APP), 部分代码以WEB技术编程,部分代码由某些Native Container承担(例如PhonGAP插件,BAE插件),介于这两者之间的app,它只有一个UI WebView,里面访问的是一个Web App,部分代码以WEB技术编程,部分代码由某些Native Container承担(例如PhonGAP插件,BAE插件),目的是在HTML5尚未完全支持DeviceAPI和Network API的目前阶段,承担这部分职责。
以下是特性对比列表
特性
|
Native App
|
Hybrid App
|
Web App
|
开发语言
|
只用Native开发语言
|
Native和Web开发语言或只用Web开发语言
|
只用Web开发语言
|
代码移植性和优化
|
无
|
高
|
高
|
访问针对特定设备的特性
|
高
|
中
|
低
|
充分利用现有知识
|
低
|
高
|
高
|
高级图形
|
高
|
中
|
中
|
升级灵活性
|
低
|
中
|
高
|
|
总通过应用程序商店来升级
|
常通过应用程序商店来
升级
|
|
安装体验
|
高
|
高
|
中
|
|
从应用程序商店
来安装
|
从应用程序商店来
安装
|
通过移动浏览器来
直接使用
|
本地应用、Web应用和混合应用,哪个才是最好的应用呢?我只能说:“视情况而定!”
项目采用哪种应用是由多种因素决定的,比如你的预算是多少?如果你的公司有足够的预算的话可以选择一些本地应用,但是大部分公司预算还是有限的,因此需要仔细斟酌。这也是为什么大部分厂商对“Native APP Vs. Web APP”之争特别热衷的原因。对复杂产品来说,Native
App + Web App的混合模式也许是个不错的解决方案,在可能的地方使用Web视图,在不能的地方使用平台特定的本地化组件。
|