1. 程式人生 > >Web App或夭折,Hybrid App才是新世界的王

Web App或夭折,Hybrid App才是新世界的王

【編者按】本文作者@徐珂銘,一位看好Html5的移動網際網路的從業人士。喜愛玩技術,會點JAVA、HTML及CSS,有自己的想法及姑且能表達想法的文字,因此有了自己的文章。

基於HTML5的Web App在移動端接受實用性檢驗後,開發者從熱情轉為觀望。這時候Hybrid App作為現階段HTML5技術的落腳點正悄然興起!Native App和Web App的論戰加入了一個新的角色Hybrid App。

但究竟什麼是Hybrid App?如何定義?

汽車有混合動力Hybrid,移動應用同樣也有混合模式。Hybrid App(混合模式移動應用)兼具“Native App良好使用者互動體驗的優勢”和“Web App跨平臺開發的優勢”。很多人不知道市場上一些主流移動應用都是基於Hybrid App的方式開發,比如國外有Facebook、國內有百度搜索等。但究竟什麼是Hybrid App?如何定義?

Hybrid App:Hybrid App is a mobile application that is coded in both browser-supported language and computer language. They are available through application distribution platforms such as the Apple App Store, Google Play etc. Usually, they are downloaded from the platform to a target device, such as iPhone, Android phone or Windows Phone. The subscribers need to install to run them.

我們來拆解一下里面的含義:

1、mobile application:Hybrid App就是一個移動應用

2、both browser-supported language and computer language:同時使用網頁語言與程式語言編寫

3、available through application distribution platforms:通過應用商店進行分發

4、a target device:區分目標平臺

5、install to run:使用者需要安裝使用

綜合一下就是:“Hybrid App同時使用網頁語言與程式語言開發,通過應用商店區分移動作業系統分發,使用者需要安裝使用的移動應用”。總體特性更接近Native App但是和Web App區別較大。只是因為同時使用了網頁語言編碼,所以開發成本和難度比Native App要小很多。因此說,Hybrid App兼具了Native App的所有優勢,也兼具了Web App使用HTML5跨平臺開發低成本的優勢。

Hyrbid App為什麼會興起?

Hybrid App的興起是現階段移動網際網路產業的一種偶然。移動網際網路的熱潮颳起後,眾多公司前赴後繼的進入。但是很快發現移動應用的開發人員太少,所以導致瘋狂的人才爭奪。市場機制下移動應用開發人才的待遇扶搖直上,最終變成眾多企業無法負擔養一個具備跨平臺開發能力的專業移動應用開發團隊。而HTML5的出現讓Web App露出曙光,HTML5開發移動應用的跨平臺和廉價優勢讓眾多想進入移動網際網路領域的公司開始心動。可是當下基於HTML5的Web App更是霧裡看花,在使用者入口習慣、分發渠道和應用體驗這三個核心問題沒解決之前,Web App也很難得以爆發。正是在這樣是機緣巧合下,基於HTML5低成本跨平臺開發優勢又兼具Native App特質的Hybrid App技術殺入混戰,並且很快吸引了眾人的目光。大幅的降低了移動應用的開發成本,可以通過現有應用商店模式發行,在使用者桌面形成獨立入口等等這些,讓Hybrid App成為解決移動應用開發困境不錯的選擇,也成為現階段Web App的代言人。Hybrid App像刺客一樣,在Native App和Web App混戰之時,偶然間的在移動應用開發領域佔有了一席之地。

Hybrid App是如何實現網頁語言與程式語言的混合?誰佔主體?

Hybrid App通常分為三種類型:多View混合型,單View混合型,Web主體型。

多View混合型:

即Native View和Web View獨立展示,交替出現。目前常見的Hybrid App是Native View與WebView交替的場景出現。這種應用混合邏輯相對簡單。即在需要的時候,將WebView當成一個獨立的View(Activity)執行起來,在WebView內完成相關的展示操作。這種移動應用主體通常是Native App,Web技術只是起到補充作用。開發難度和Native App基本相當。

單View混合型:

即在同一個View內,同時包括Native View和Web View。互相之間是覆蓋(層疊)的關係。這種Hybrid App的開發成本較高,開發難度較大,但是體驗較好。如百度搜索為代表的單View混合型移動應用,既可以實現充分的靈活性,又能實現較好的使用者體驗。

Web主體型:

即移動應用的主體是Web View,主要以網頁語言編寫,穿插Native功能的Hybrid App開發型別。這種型別開發的移動應用體驗相對而言存在缺陷,但整體開發難度大幅降低,並且基本可以實現跨平臺。Web主體型的移動應用使用者體驗的好壞,主要取決於底層中介軟體的互動與跨平臺的能力。國外的appMobi、PhoneGap國內的AppCan和Rexsee都屬於Web主體型移動應用中介軟體。其中Rexsee不支援跨平臺開發。appMobi和PhoneGap除基礎的底層能力更多是通過外掛(Plugins)擴充套件的機制實現Hybrid。而AppCan除了外掛機制,還提供了大量的單View混合型的介面來完善和彌補Web主體型Hybrid App體驗差的問題,接近Native App的體驗。

多View混合型,單View混合型,Web主體型優劣勢對比

多View混合型

單View混合型

Web主體型

常見主體

Native

Native

Web

開發成本

使用者體驗

從分析可見,Hybrid App中的Web主體型只要能夠解決使用者體驗差的問題,就可以變成最佳Hybrid App解決方案型別。

Hybrid App的瓶頸與未來

國內外Hybrid App的開發框架眾多。如何選擇又成為一個難題。下面對開發者比較關心的集中知名跨平臺開發移動應用中介軟體進行列表和對比,以便選擇最適合您的移動應用中介軟體。

PhoneGap是相對比較早進入公眾視線的一種選擇。但是,開發者簡單的基於PhoneGap來開發移動應用肯定會發現結果和Web App比較差的使用者體驗類似。這也是為什麼基於PhoneGap有實用性的移動應用主要集中在iOS上。可是PhoneGap這種現狀弱化了HTML5的跨平臺價值。

AppCan在技術架構上和PhoneGap類似是Web主體型中介軟體,但是通過結合了一些原生互動效果能夠達到iOS、Android平臺都比較一致的使用者體驗。但是相比PhoneGap的開源,AppCan相對封閉的路線顯得過於謹慎。

Titanium是一種基於翻譯機制的跨平臺中介軟體,能夠開發出具有Native體驗的移動應用,但是因為翻譯機制的限制導致移動應用開發不能像真正的HTML5開發一樣靈活。哪怕一個按鈕也不能像普通HTML一樣來編寫,而必須按照Titanium約定的特定格式。

Hybrid App這個領域雖然還處於比較初期的階段,但是已經有很多優秀的公司和技術團隊在致力於跨平臺開發移動應用中介軟體技術的研究,給了開發者眾多選擇。開發者可以根據實際的專案需求來選擇中介軟體。Web App雖被瀏覽器廠商和搜尋引擎公司所推崇,但存在使用者體驗差、盈利模式不明確等現階段無法解決的問題,或最終夭折。Hybrid App正在被越來越多的公司和開發者所認同,勢必會成為新世界的王。

徐珂銘 供雷鋒網專稿,轉載請註明來自雷鋒網及作者,並鏈回本頁)