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 主體型優劣勢對比
從分析可見,Hybrid App中的Web主體型只要能夠解決用戶體驗差的問題,就可以變成***Hybrid App解決方案類型。
HybridApp的瓶頸與未來
國內外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正在被越來越多的公司和開發者所認同,勢必會成為新世界的王。