Hybrid App(混合模式移動(dòng)應(yīng)用)是指介于web-app、native-app這兩者之間的app,兼具“Native App良好用戶交互體驗(yàn)的優(yōu)勢(shì)”和“Web App跨平臺(tái)開發(fā)的優(yōu)勢(shì)”灰殴。
Hybrid App是指介于web-app、native-app這兩者之間的app,它雖然看上去是一個(gè)Native App泌神,但只有一個(gè)UI WebView拷橘,里面訪問的是一個(gè)Web App,比如街旁網(wǎng)最開始的應(yīng)用就是包了個(gè)客戶端的殼气嫁,其實(shí)里面是HTML5的網(wǎng)頁(yè),后來(lái)才推出真正的原生應(yīng)用够坐。再?gòu)氐滓稽c(diǎn)的寸宵,如掌上百度和淘寶客戶端Android版,走的也是Hybrid App的路線元咙,不過(guò)掌上百度里面封裝的不是WebView梯影,而是自己的瀏覽內(nèi)核,所以體驗(yàn)上更像客戶端庶香,更高效甲棍。
汽車有混合動(dòng)力Hybrid,移動(dòng)應(yīng)用同樣也有混合模式赶掖。Hybrid App(混合模式移動(dòng)應(yīng)用)兼具“Native App良好用戶交互體驗(yàn)的優(yōu)勢(shì)”和“Web App跨平臺(tái)開發(fā)的優(yōu)勢(shì)”感猛。很多人不知道市場(chǎng)上一些主流移動(dòng)應(yīng)用都是基于Hybrid App的方式開發(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ǔ)言編寫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ǔ)言開發(fā)毕箍,通過(guò)應(yīng)用商店區(qū)分移動(dòng)操作系統(tǒng)分發(fā)弛房,用戶需要安裝使用的移動(dòng)應(yīng)用”∶乖危總體特性更接近Native App但是和Web App區(qū)別較大庭再。只是因?yàn)橥瑫r(shí)使用了網(wǎng)頁(yè)語(yǔ)言編碼,所以開發(fā)成本和難度比Native App要小很多牺堰。因此說(shuō)拄轻,Hybrid App兼具了Native App的所有優(yōu)勢(shì),也兼具了Web App使用HTML5跨平臺(tái)開發(fā)低成本的優(yōu)勢(shì)
Hybrid App按網(wǎng)頁(yè)語(yǔ)言與程序語(yǔ)言的混合伟葫,通常分為三種類型:多View混合型恨搓,單View混合型,Web主體型。
多View混合型
即Native View和Web View獨(dú)立展示斧抱,交替出現(xiàn)常拓。2012年常見的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ǔ)充作用。開發(fā)難度和Native App基本相當(dāng)弛槐。
單View混合型
即在同一個(gè)View內(nèi)懊亡,同時(shí)包括Native View和Web View『醮互相之間是覆蓋(層疊)的關(guān)系店枣。這種Hybrid App的開發(fā)成本較高,開發(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ǔ)言編寫蕉斜,穿插Native功能的Hybrid App開發(fā)類型逾柿。這種類型開發(fā)的移動(dòng)應(yīng)用體驗(yàn)相對(duì)而言存在缺陷,但整體開發(fā)難度大幅降低宅此,并且基本可以實(shí)現(xiàn)跨平臺(tái)机错。Web主體型的移動(dòng)應(yīng)用用戶體驗(yàn)的好壞,主要取決于底層中間件的交互與跨平臺(tái)的能力父腕。國(guó)外的appMobi弱匪、PhoneGap和國(guó)內(nèi)的WeX5、AppCan和Rexsee都屬于Web主體型移動(dòng)應(yīng)用中間件璧亮。其中Rexsee不支持跨平臺(tái)開發(fā)萧诫。appMobi和PhoneGap除基礎(chǔ)的底層能力更多是通過(guò)插件(Plugins)擴(kuò)展的機(jī)制實(shí)現(xiàn)Hybrid。AppCan除了插件機(jī)制枝嘶,還提供了大量的單View混合型的接口來(lái)完善和彌補(bǔ)Web主體型Hybrid App體驗(yàn)差的問題帘饶,接近Native App的體驗(yàn)。而WeX5則在揉合PhoneGap和Bootstrap等主流技術(shù)的基礎(chǔ)上群扶,對(duì)性能進(jìn)一步做了深度優(yōu)化及刻,不但完全具備Native App對(duì)本地資源的調(diào)用能力镀裤,性能體驗(yàn)也不輸原生;WeX5所開發(fā)出來(lái)的app具備完全的跨端運(yùn)行能力缴饭,可以無(wú)需任何修改直接運(yùn)行在各種前端環(huán)境上暑劝。還有就是最近流行的ionic框架,基于angualrjs?運(yùn)行速度碉堡