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