[转] Web App & Hybrid App & Native App
原文地址:
http://mobile.51cto.com/ahot-340633_all.htm
http://dev.yesky.com/238/34657738.shtml
WebApp&HybridApp&NativeApp三者的区别
WebApp&HybridApp&NativeApp开发成本与用户体验比较
常见HybridApp开发平台
PhoneGap(Cordova)
PhoneGap是一款国外的开源移动开发平台。目前已经将核心代码贡献给Apachecordova,它是基于HTML,CSS和JavaScript的,可以使用一些开源的框架比如jQueryMobile,DojoMobile,SenchaTouch等等来提高用户体验,也提供了比较丰富的原生插件调用。
特性:
1.可以使用DreamWeaver编码,现在使用appMobi提供的xdk进行模拟器开发。
2.代码开源,开发者可以放心使用。
3.兼容性,一次开发,多处运行。
4.使用JS+HTML5,成本低。
优点:
1.Native接口比较丰富,通过封装的API可以直接访问硬件,比如说加速,相机,指南针,GPS,文件访问等。
2.接口文档描述非常详细。
3.支持平台多,包括iOS,Android,Blackberry,Symbian,bada,WindowsPhone7,WindowsPhone8等。
缺点:
1.需要针对相应的平台环境配置,进行编译,打包测试,发布等等。由于使用Hybrid开发的用户群,大部分是web开发者,对原生开发基本不了解,这无疑给每一个开发者增加了沉重的负担,需要对各个平台的开发都要需要了解,对硬件等等都要配置,加大开发成本。
2.使用效果启动慢,页面切换响应慢,数据请求慢。
3.文档虽比较详细但是基本是英文,对于国内大部分用户英文水平较差的是比较大的挑战。
4.因为是国外的框架,技术支持不够到位,出现问题,无法排解,成为技术攻关的难点。
AppCan
AppCan是本土移动开发中使用最广的移动平台,网络舆论而言,AppCan是PhoneGap的中国化,但是从对AppCan实际使用,以及转向移动开发的朋友们互相交流反馈,他们是截然不同的两个移动平台,AppCan不仅封装了类似于PhoneGap的本地调用功能,而且封装了uexWindow多窗口机制,实现了移动端的iframe效果,虽然不是开源项目,但一直都有面向开发者的免费版,并且也有定位于企业用户的企业版套装。
特性:
1.提供的集成开发环境的IDE进行模拟器开发。
2.兼容性,一次开发,多处运行。
3.使用JS+HTML5,成本低。
4.在线打包。
5.代码加密保护机制。
优点:
1.支持在线上传证书打包,对于不了解苹果,以及Android环境开发的人是福音。
2.支持更多的原生调用,比如UI控件的封装,通讯类(socket),地图,支付宝等更多的原生控件支持。
3.拥有统一数据统计平台,便于运营管理开发的应用。
4.完善的技术支持,官方论坛以及Q群建设较为完善,使开发者更好的进行交流沟通。
缺点:
1.虽然有中文的开发文档,但描述比较简单,希望他们丰富他们的API文档。
2.免费版本不支持自定义插件(据说企业版可以自定义插件)。
3.暂时只支持iOS,Android两大平台,不知道什么时候推出WindowsPhone8?
4.许多功能需要企业版才能实现,不过是收费的。
Titanium
Titanium移动平台是所有移动开发平台中比较另类的,它将JavaScript和本地库链接在一起,编译成字节码,针对iOS以及Android两个平台分别构建一个软件包。应用程序使用HTML,JavaScript和CSS进行开发,并支持PHP,Ruby和Python。应用程序可以使用AppceleratorAPI访问本地特性。并提供AppceleratorStudio开发环境,由于编译成本地代码,所以用户体验是最好的。
特性:
1.针对不同平台生成对应的原生包。
2.供AppceleratorStudio开发。
优点:
1.针对JS解析生成原生控件,基本达到纯原生的用户体验。
2.支持自定义插件。
缺点:
1.API文档为英文,并且比较简单,对国内用户使用有一定挑战。
2.跟PhoneGap同样,国外框架,技术支持困难。
3.支持Android,iOS,黑莓平台。
4.环境需要用户自己搭建比较复杂。
appMobi
appMobi推出了全新开发工具XDK,这个工具使得开发者可以使用HTML5构建网络和移动平台的应用程序,可以进行屏幕仿真调试、设备实际调试和遥控调试等。
特性:
1.使用XDK进行开发。
2.Html5+CSS+JS。
3.一次开发,多处运行。
优点:
1.本地接口较为丰富,并且推出有游戏加速引擎,主要包括物理引擎、离线和动态缓存、媒体播放器、验证和加密、增强现实、二维码和QR扫描、更好的显示支持。
缺点:
1.国外框架,技术支持差。
目前已经有很多移动开发公司把PhoneGap进行了封装,提供打包、快速模板等开发环境。但是由于PhoneGap本身的局限性,如果要做长期的商业项目还有很长的路要走。而国内使用最多的AppCan,它从多个角度多种模式进行开发,可以满足国内从普通网站维护者到Web专业开发者等对于移动应用的需求。加上良好的技术支持,目前已经成为众多开发者的首选框架。而appMobi,Titanium移动平台,不同的用户根据自己的需求也有相应的选择。
HybridApp,一个特定时期的特定产品,不同的期望不同的选择。