原生应用、Web应用、混合应用优缺点分析html
原生App vs 移动Web App :定义web
什么叫作原生App?编程
原生App是专门针对某一类移动设备而生的,它们都是被直接安装到设备里,而用户通常也是经过网络商店或者卖场来获取例如 The App Store 与 Android Apps on Google Play .浏览器
随便说几个原生App的例子,好比iOS 的 Camera+ 以及Android 的 KeePassDroid网络
什么叫作移动Web App?app
通常说来,移动Web App都是都是须要用到网络的,它们利用设备上的浏览器(好比iPhone的Safari)来运行,并且它们不须要在设备上下载后安装。
什么是混合app?
Hybrid App是指介于web-app、native-app这二者之间的app,它虽然看上去是一个Native App,但只有一个UI WebView,里面访问的是一个Web App,好比街旁网最开始的应用就是包了个客户端的壳,其实里面是HTML5的网页,后来才推出真正的原生应用。再完全一点的,如掌上百度和淘宝客户端 Android版,走的也是Hybrid App的路线,不过掌上百度里面封装的不是WebView,而是本身的浏览内核,因此体验上更像客户端,更高效。框架
汽车有混合动力Hybrid,移动应用一样也有混合模式。Hybrid App(混合模式移动应用)兼具“Native App良好用户交互体验的优点”和“Web App跨平台开发的优点”。不少人不知道市场上一些主流移动应用都是基于Hybrid App的方式开发,好比国外有Facebook、国内有百度搜索等。
综合一下就是:“Hybrid App同时使用网页语言与程序语言开发,经过应用商店区分移动操做系统分发,用户须要安装使用的移动应用”。整体特性更接近Native App可是和Web App区别较大。只是由于同时使用了网页语言编码,因此开发成本和难度比Native App要小不少。所以说,Hybrid App兼具了Native App的全部优点,也兼具了Web App使用HTML5跨平台开发低成本的优点iphone
---------------------------------------------------------------------------------------------------------------------编程语言
2012移动开发调查显示Hybrid App开发占据一半以上工具
最近原生应用、Web应用、混合应用的名字让咱们听得比较熟悉了,如今咱们就经过评析各类应用的优缺点来更进一步看看这三者的区别。
1、原生应用
你使用过微软PowerPoint 或者Word吧?这些可直接在你电脑上运行或者在智能手机上运行,简单来讲,原生应用是特别为某种操做系统开发的,好比iOS、Android、黑莓等等,它们是在各自的移动设备上运行的。
优势:
可访问手机全部功能(GPS、摄像头);
速度更快、性能高、总体用户体验不错;
可线下使用(由于是在跟Web相对地平台上使用的);
支持大量图形和动画; 容易发现(在App Store里面)和从新发现(应用图标会一直在主页上);
应用下载能创造盈利(固然App Store抽取20-30% 的营收)。
缺点:
开发成本高;
支持设备很是有限(通常是哪一个系统就在哪一个平台专属设备上用);
上线时间不肯定(App Store审核过程不一);
内容限制(App Store限制);
得到新版本时需从新下载应用更新。
举例:Yellow Pages Group 就开发了是几个版本(iOS、黑莓、Android),他们在每个原生应用市场都有上架。
2、Web 应用
Web应用本质上是为移动浏览器设计的基于Web的应用,它们是用普通Web开发语言开发的,能够在各类智能手机浏览器上运行。
优势:
支持设备普遍;
较低的开发成本;
可即时上线;
无内容限制
用户能够直接使用最新版本(自动更新,不需用户手动更新)。
缺点:
表现略差(对联网的要求比较大);
用户体验没那么炫;
图片和动画支持性不高;
无法在App Store中下载、没法经过应用下载得到盈利机会;
要求联网;
对手机特色有限制(摄像头、GPS等)。
对于这些缺点,若是能把HTML 5的优势用到Web上的话就会获得很大改善,尽管技术在提升,目前它还不能作原生应用能够作的每件事。
有些公司,好比金融时报继原生应用后也开发了Web应用,用户经过浏览器来访问他们的应用,由于他们的应用要采起应用内购买,而App Store是不容许应用内购买的,否则它们就没法拿到那20%-30% 的抽成了。
3、混合应用
混合应用你们都知道是原生应用和Web应用的结合体,采用了原生应用的一部分、Web应用的一部分,因此必须在部分在设备上运行、部分在Web上运行。
不过混合应用中比例很自由,好比Web 占90%,原生占10%;或者各占50%。
优势:
兼容多平台;
顺利访问手机的多种功能;
App Store中可下载(Wen应用套用原生应用的外壳);
可线下使用。
缺点:
不肯定上线时间;
用户体验不如本地应用;
性能稍慢(须要链接网络);
技术还不是很成熟。
好比Facebook如今的应用属于混合应用它能够在许多App Store畅通无阻,可是掺杂了大量Web特性,因此它运行速度比较慢,而如今为了提升性能FB又决定采用原生应用。
结论
如今若是你在想哪一种应用是最好的,那答案就是,看状况而定:
好比,你的预算是多少?预算充足的话能够开发几个本地应用加一个Web应用。
你的应用须要何时面市?Web应用能够很快地开发而后直接推出来。
你的应用须要包含什么特色和功能?若是跟手机的某些功能深度整合了,好比摄像头,须要呈现大量图形和动画就选原生应用好点。
用户界面
有些公司为一样的产品制做了原生App与移动Web App,
注意这二者的不一样地方会产生不一样的用户体验结果。
原生App vs 移动Web App : 你如何选择?
因此在你准备作移动App时,你应该先问问本身如下几个问题:
你的应用是否须要使用某些设备的特殊功能,好比摄像头,摄像头闪光灯或者重力加速器
你的开发预算
你的应用是否必定须要网络
你的应用的目标硬件设备是全部的移动设备仍是仅仅只是一部分而已
你本身已经熟悉的开发语言
这个应用对于性能要求是否苛刻
如何靠这个应用赢利
我想这几个问题应该能让你作出明智的选择。
结论
你 的选择是原生App仍是移动Web App,主要受商业目标,目标用户,以及技术须要这些因素影响的。其实更多时候你也不要为选择那种App模式烦恼,正如上文提到,相似Facebook这 样的公司就为用户提供了两种选择。然而对于大部分人来讲,预算,资源限制将会逼迫咱们只能选择其中一种(或者只能以其中一种为重点)。
今天,消费者在移动app应用(包括原生和混合)上花费的时间(94分钟/天)超过移动web(72分钟/天),因而“移动优先”成为移动开发战略的热门 口号,但实际上移动web和移动app又有各自不可替代的优点,不一样的移动开发模式都有成功的案例,企业须要根据自身的产品和业务属性、移动战略及目标用 户需求,选择适合本身的开发道路。
下面是AppCloud制做的一张信息图,为咱们详细对比了纯web(HTML5)、混合App(Hybrid)和原生App(Native)三种移动开发路线的差别。
如下是图表中的列举的一些重点差别:
● 开发难度。移动web和混合App开发难度对于web开发者来讲相对较低,并且能够充分利用现有的web开发工具和工做流程
● 发布渠道和更新方式。混合App能够在应用商店App Store发布,但能够自主更新,而原生App的更新必须经过应用商店App Store。
● 移动设备本地API访问。混合App能够经过JavaScript API访问到移动设备的摄像头、GPS;而原生App能够经过原生编程语言访问设备全部功能。
● 跨平台和可移植性。基于浏览器的移动web最好的可移植性和跨平台表现;混合App也能节省跨平台的时间和成本,只需编写一次核心代码就可部署到多个平台,而原生App的跨平台性能最差。
● 搜索引擎友好。只有移动web对搜索引擎友好,可与在线营销无缝整合。
● 货币化。混合App除广告外,还支持付费下载及程序内购买;原生App的程序内购买金额2012年首次超过下载收费。
● 消息推送。只有混合App和原生App支持消息推送,这能增长用户忠诚度。Apache Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。 PhoneGap是一个开源的开发框架,使用HTML、CSS和JavaScript来构建跨平台的的移动应用程序。目前开发商能够只编写一次应用程序, 而后在6个主要的移动平台和应用程序商店(app store)里进行发布,这些移动平台和应用程序商店包括:iOS、Android、BlackBerry、webOS、Bada以及Symbian等。现今有哪些互联网公司正在使用PhoneGap/Apache Cordova吗?咱们没法用一个准确的名单列表呈现给你们,本文罗列出一些巨头公司,正在使用PhoneGap或是Apache Cordova做为他们的移动应用跨平台开发工具: