web app(h5)、 源生app、混合app
我覺得web app 、源生app和混合app,沒有哪個好與不好之說,主要還得看所做的app,開發app還得從多方面去考慮,比如投入開發的人員、開發週期、開發費用、是否支援跨平臺、使用者體驗等。
一、什麼叫做源生app、什麼叫做移動web appp 、什麼叫做混合app
源生app 是專門針對某一類移動裝置而生的,它們都是被直接安裝到裝置裡,而使用者一般也是通過網路商店或者賣場來獲取,開發起來不支援跨平臺,每種平臺得單獨開發相同應用。隨便說幾個源生APP的例子,比如ios的camera+以及android的keepassdroid。
移動app 都是需要用到網路的,它們利用裝置商的瀏覽器(比如iPhone的safari)來執行,而且他們布需要在裝置上下載後安裝。
混合型應用(Hybrid App)就是介於二者之間的折中方案。在許多情況下,它能集兩者之長,再通過中介軟體包裝成一個可釋出到應用商店的應用程式。Hybrid App執行在一個源生App的容器裡,接住移動系統自帶的瀏覽器引擎來渲染介面和解析指令碼。例如:PhoneGap開發的程式就屬於混合型應用。
二、優缺點
1.源生app
你使用過微軟PowerPoint 或者Word吧?這些可直接在你電腦上執行或者在智慧手機上執行,簡單來說,原生應用是特別為某種作業系統開發的,比如iOS、Android、黑莓等等,它們是在各自的移動裝置上執行的。
優點:
可訪問手機所有功能(GPS、攝像頭);
速度更快、效能高、整體使用者體驗不錯;
可線下使用(因為是在跟Web相對地平臺上使用的);
支援大量圖形和動畫; 容易發現(在App Store裡面)和重新發現(應用圖示會一直在主頁上);
應用下載能創造盈利(當然App Store抽取20-30% 的營收)。
缺點:
開發成本高;
支援裝置非常有限(一般是哪個系統就在哪個平臺專屬裝置上用);
上線時間不確定(App Store稽核過程不一);
內容限制(App Store限制);
獲得新版本時需重新下載應用更新。
舉例:Yellow Pages Group 就開發了是幾個版本(iOS、黑莓、Android),他們在每一個原生應用市場都有上架。
2.移動web App
Web應用本質上是為移動瀏覽器設計的基於Web的應用,它們是用普通Web開發語言開發的,可以在各種智慧手機瀏覽器上執行。
優點:
支援裝置廣泛;
較低的開發成本;
可即時上線;
無內容限制
使用者可以直接使用最新版本(自動更新,不需使用者手動更新)。
缺點:
表現略差(對聯網的要求比較大);
使用者體驗沒那麼炫;
圖片和動畫支援性不高;
沒法在App Store中下載、無法通過應用下載獲得盈利機會;
要求聯網;
對手機特點有限制(攝像頭、GPS等)。
對於這些缺點,如果能把HTML 5的優點用到Web上的話就會得到很大改善,儘管技術在提高,目前它還不能做原生應用可以做的每件事。
有些公司,比如金融時報繼原生應用後也開發了Web應用,使用者通過瀏覽器來訪問他們的應用,因為他們的應用要採取應用內購買,而App
Store是不允許應用內購買的,不然它們就無法拿到那20%-30% 的抽成了。
3.混合型App
混合應用大家都知道是原生應用和Web應用的結合體,採用了原生應用的一部分、Web應用的一部分,所以必須在部分在裝置上執行、部分在Web上執行。
不過混合應用中比例很自由,比如Web 佔90%,原生佔10%;或者各佔50%。
優點:
相容多平臺;
順利訪問手機的多種功能;
App Store中可下載(Wen應用套用原生應用的外殼);
可線下使用。
缺點:
不確定上線時間;
使用者體驗不如本地應用;
效能稍慢(需要連線網路);
技術還不是很成熟。
比如Facebook現在的應用屬於混合應用它可以在許多App Store暢通無阻,但是摻雜了大量Web特性,所以它執行速度比較慢,而現在為了提高效能FB又決定採用原生應用。
三、總結(什麼情況下用什麼):
h5:
經常換的東西用h5,比如活動頁面
廣告位用h5
使用者手冊。使用協議用h5。因為不需要更新版本就可以完成修改
有些動畫不易於用源生實現的用h5
預算有限,不在乎使用者體驗和速度用h5
源生:
講究頁面切換流暢用源生
對網路很敏感的用源生
頻繁呼叫硬體用源生
結論,重點差異:
● 開發難度。移動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作為他們的移動應用跨平臺開發工具: