1. 程式人生 > >web app(h5)、 源生app、混合app

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作為他們的移動應用跨平臺開發工具: