Web App或夭折,Hybrid App才是新世界的王
但究竟什么是Hybrid App ?如何定義?
汽車有混合動(dòng)力Hybrid ,移動(dòng)應(yīng)用同樣也有混合模式。Hybrid App (混合模式移動(dòng)應(yīng)用)兼具“Native App 良好用戶交互體驗(yàn)的優(yōu)勢(shì)”和“Web App 跨平臺(tái)開(kāi)發(fā)的優(yōu)勢(shì)”。很多人不知道市場(chǎng)上一些主流移動(dòng)應(yīng)用都是基于Hybrid App 的方式開(kāi)發(fā),比如國(guó)外有Facebook 、國(guó)內(nèi)有百度搜索等。但究竟什么是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.
我們來(lái)拆解一下里面的含義:
1 、mobile application :Hybrid App 就是一個(gè)移動(dòng)應(yīng)用
2 、both browser-supported language and computer language :同時(shí)使用網(wǎng)頁(yè)語(yǔ)言與程序語(yǔ)言編寫(xiě)
3 、available through application distribution platforms :通過(guò)應(yīng)用商店進(jìn)行分發(fā)
4 、a target device :區(qū)分目標(biāo)平臺(tái)
5 、install to run :用戶需要安裝使用
綜合一下就是:“Hybrid App 同時(shí)使用網(wǎng)頁(yè)語(yǔ)言與程序語(yǔ)言開(kāi)發(fā),通過(guò)應(yīng)用商店區(qū)分移動(dòng)操作系統(tǒng)分發(fā),用戶需要安裝使用的移動(dòng)應(yīng)用”??傮w特性更接近Native App 但是和Web App 區(qū)別較大。只是因?yàn)橥瑫r(shí)使用了網(wǎng)頁(yè)語(yǔ)言編碼,所以開(kāi)發(fā)成本和難度比Native App 要小很多。因此說(shuō),Hybrid App 兼具了Native App 的所有優(yōu)勢(shì),也兼具了Web App 使用HTML5 跨平臺(tái)開(kāi)發(fā)低成本的優(yōu)勢(shì)。
Hyrbid App 為什么會(huì)興起?
Hybrid App 的興起是現(xiàn)階段移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)的一種偶然。移動(dòng)互聯(lián)網(wǎng)的熱潮刮起后,眾多公司前赴后繼的進(jìn)入。但是很快發(fā)現(xiàn)移動(dòng)應(yīng)用的開(kāi)發(fā)人員太少,所以導(dǎo)致瘋狂的人才爭(zhēng)奪。市場(chǎng)機(jī)制下移動(dòng)應(yīng)用開(kāi)發(fā)人才的待遇扶搖直上,最終變成眾多企業(yè)無(wú)法負(fù)擔(dān)養(yǎng)一個(gè)具備跨平臺(tái)開(kāi)發(fā)能力的專業(yè)移動(dòng)應(yīng)用開(kāi)發(fā)團(tuán)隊(duì)。而HTML5 的出現(xiàn)讓W(xué)eb App 露出曙光,HTML5 開(kāi)發(fā)移動(dòng)應(yīng)用的跨平臺(tái)和廉價(jià)優(yōu)勢(shì)讓眾多想進(jìn)入移動(dòng)互聯(lián)網(wǎng)領(lǐng)域的公司開(kāi)始心動(dòng)。可是當(dāng)下基于HTML5 的Web App 更是霧里看花,在用戶入口習(xí)慣、分發(fā)渠道和應(yīng)用體驗(yàn)這三個(gè)核心問(wèn)題沒(méi)解決之前,Web App 也很難得以爆發(fā)。正是在這樣是機(jī)緣巧合下,基于HTML5 低成本跨平臺(tái)開(kāi)發(fā)優(yōu)勢(shì)又兼具Native App 特質(zhì)的Hybrid App 技術(shù)殺入混戰(zhàn),并且很快吸引了眾人的目光。大幅的降低了移動(dòng)應(yīng)用的開(kāi)發(fā)成本,可以通過(guò)現(xiàn)有應(yīng)用商店模式發(fā)行,在用戶桌面形成獨(dú)立入口等等這些,讓Hybrid App 成為解決移動(dòng)應(yīng)用開(kāi)發(fā)困境不錯(cuò)的選擇,也成為現(xiàn)階段Web App 的代言人。Hybrid App 像刺客一樣,在Native App 和Web App 混戰(zhàn)之時(shí),偶然間的在移動(dòng)應(yīng)用開(kāi)發(fā)領(lǐng)域占有了一席之地。
Hybrid App 是如何實(shí)現(xiàn)網(wǎng)頁(yè)語(yǔ)言與程序語(yǔ)言的混合?誰(shuí)占主體?
Hybrid App 通常分為三種類型:多View 混合型,單View 混合型,Web 主體型。
多View 混合型:
即Native View 和Web View 獨(dú)立展示,交替出現(xiàn)。目前常見(jiàn)的Hybrid App 是Native View 與WebView 交替的場(chǎng)景出現(xiàn)。這種應(yīng)用混合邏輯相對(duì)簡(jiǎn)單。即在需要的時(shí)候,將WebView 當(dāng)成一個(gè)獨(dú)立的View (Activity )運(yùn)行起來(lái),在WebView 內(nèi)完成相關(guān)的展示操作。這種移動(dòng)應(yīng)用主體通常是Native App ,Web 技術(shù)只是起到補(bǔ)充作用。開(kāi)發(fā)難度和Native App 基本相當(dāng)。
單View 混合型:
即在同一個(gè)View 內(nèi),同時(shí)包括Native View 和Web View 。互相之間是覆蓋(層疊)的關(guān)系。這種Hybrid App 的開(kāi)發(fā)成本較高,開(kāi)發(fā)難度較大,但是體驗(yàn)較好。如百度搜索為代表的單View 混合型移動(dòng)應(yīng)用,既可以實(shí)現(xiàn)充分的靈活性,又能實(shí)現(xiàn)較好的用戶體驗(yàn)。
Web 主體型:
即移動(dòng)應(yīng)用的主體是Web View ,主要以網(wǎng)頁(yè)語(yǔ)言編寫(xiě),穿插Native 功能的Hybrid App 開(kāi)發(fā)類型。這種類型開(kāi)發(fā)的移動(dòng)應(yīng)用體驗(yàn)相對(duì)而言存在缺陷,但整體開(kāi)發(fā)難度大幅降低,并且基本可以實(shí)現(xiàn)跨平臺(tái)。Web 主體型的移動(dòng)應(yīng)用用戶體驗(yàn)的好壞,主要取決于底層中間件的交互與跨平臺(tái)的能力。國(guó)外的appMobi 、PhoneGap 國(guó)內(nèi)的AppCan 和Rexsee 都屬于Web 主體型移動(dòng)應(yīng)用中間件。其中Rexsee 不支持跨平臺(tái)開(kāi)發(fā)。appMobi 和PhoneGap 除基礎(chǔ)的底層能力更多是通過(guò)插件(Plugins )擴(kuò)展的機(jī)制實(shí)現(xiàn)Hybrid 。而AppCan 除了插件機(jī)制,還提供了大量的單View 混合型的接口來(lái)完善和彌補(bǔ)Web 主體型Hybrid App 體驗(yàn)差的問(wèn)題,接近Native App 的體驗(yàn)。
多View 混合型,單View 混合型,Web 主體型優(yōu)劣勢(shì)對(duì)比
從分析可見(jiàn),Hybrid App中的Web主體型只要能夠解決用戶體驗(yàn)差的問(wèn)題,就可以變成***Hybrid App解決方案類型。
HybridApp的瓶頸與未來(lái)
國(guó)內(nèi)外Hybrid App的開(kāi)發(fā)框架眾多。如何選擇又成為一個(gè)難題。下面對(duì)開(kāi)發(fā)者比較關(guān)心的集中知名跨平臺(tái)開(kāi)發(fā)移動(dòng)應(yīng)用中間件進(jìn)行列表和對(duì)比,以便選擇最適合您的移動(dòng)應(yīng)用中間件。
PhoneGap是相對(duì)比較早進(jìn)入公眾視線的一種選擇。但是,開(kāi)發(fā)者簡(jiǎn)單的基于PhoneGap來(lái)開(kāi)發(fā)移動(dòng)應(yīng)用肯定會(huì)發(fā)現(xiàn)結(jié)果和Web App比較差的用戶體驗(yàn)類似。這也是為什么基于PhoneGap有實(shí)用性的移動(dòng)應(yīng)用主要集中在iOS上??墒荘honeGap這種現(xiàn)狀弱化了HTML5的跨平臺(tái)價(jià)值。
AppCan在技術(shù)架構(gòu)上和PhoneGap類似是Web主體型中間件,但是通過(guò)結(jié)合了一些原生交互效果能夠達(dá)到iOS、Android平臺(tái)都比較一致的用戶體驗(yàn)。但是相比PhoneGap的開(kāi)源,AppCan相對(duì)封閉的路線顯得過(guò)于謹(jǐn)慎。
Titanium是一種基于翻譯機(jī)制的跨平臺(tái)中間件,能夠開(kāi)發(fā)出具有Native體驗(yàn)的移動(dòng)應(yīng)用,但是因?yàn)榉g機(jī)制的限制導(dǎo)致移動(dòng)應(yīng)用開(kāi)發(fā)不能像真正的HTML5開(kāi)發(fā)一樣靈活。哪怕一個(gè)按鈕也不能像普通HTML一樣來(lái)編寫(xiě),而必須按照Titanium約定的特定格式。
Hybrid App這個(gè)領(lǐng)域雖然還處于比較初期的階段,但是已經(jīng)有很多優(yōu)秀的公司和技術(shù)團(tuán)隊(duì)在致力于跨平臺(tái)開(kāi)發(fā)移動(dòng)應(yīng)用中間件技術(shù)的研究,給了開(kāi)發(fā)者眾多選擇。開(kāi)發(fā)者可以根據(jù)實(shí)際的項(xiàng)目需求來(lái)選擇中間件。Web App雖被瀏覽器廠商和搜索引擎公司所推崇,但存在用戶體驗(yàn)差、盈利模式不明確等現(xiàn)階段無(wú)法解決的問(wèn)題,或最終夭折。Hybrid App正在被越來(lái)越多的公司和開(kāi)發(fā)者所認(rèn)同,勢(shì)必會(huì)成為新世界的王。