原生應用、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做爲他們的移動應用跨平臺開發工具: