自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

打破web開(kāi)發(fā)困局 Blend完美接盤(pán)Native app

云計(jì)算
近日,全球軟件開(kāi)發(fā)大會(huì)QCon亮相上海。作為為團(tuán)隊(duì)領(lǐng)導(dǎo)者、架構(gòu)師、項(xiàng)目經(jīng)理和高級(jí)軟件開(kāi)發(fā)人員量身打造的企業(yè)軟件開(kāi)發(fā)大會(huì),QCon邀請(qǐng)了諸多業(yè)內(nèi)大牛為大家做出技術(shù)分享。其中,直達(dá)號(hào)Clouda+團(tuán)隊(duì)的百度資深工程師雷志興用一場(chǎng)名為《Blend,完美地混合Web App與Native App》的演講,吸引了與會(huì)代表們的大量“眼球”。

近日,全球軟件開(kāi)發(fā)大會(huì)QCon亮相上海。作為為團(tuán)隊(duì)領(lǐng)導(dǎo)者、架構(gòu)師、項(xiàng)目經(jīng)理和高級(jí)軟件開(kāi)發(fā)人員量身打造的企業(yè)軟件開(kāi)發(fā)大會(huì),QCon邀請(qǐng)了諸多業(yè)內(nèi)大牛為大家做出技術(shù)分享。其中,直達(dá)號(hào)Clouda+團(tuán)隊(duì)的百度資深工程師雷志興用一場(chǎng)名為《Blend,完美地混合Web AppNative App》的演講,吸引了與會(huì)代表們的大量“眼球”。

    現(xiàn)場(chǎng),雷志興從百度輕應(yīng)用和直達(dá)號(hào)講起,繼而談到Blend的初衷。“去年八月我們推出了輕應(yīng)用,這是一項(xiàng)面向開(kāi)發(fā)者的平臺(tái)和技術(shù),而今年在輕應(yīng)用的基礎(chǔ)上我們推出了直達(dá)號(hào)。百度提供了很強(qiáng)的渠道分發(fā)能力,但從體驗(yàn)上來(lái)說(shuō),我們依然覺(jué)得輕應(yīng)用和Native app有一定差異,而Blend的就是為了彌補(bǔ)這些差異而出現(xiàn)。”

    在他看來(lái),Blend不僅僅是一項(xiàng)“拿來(lái)即用”的開(kāi)源技術(shù),更是一種開(kāi)發(fā)理念。使用這個(gè)理念,App不僅能保留web靈活性,剔除冗長(zhǎng)的版本發(fā)布過(guò)程,做到極快的迭代速度,還能在交互中保證足夠的流暢性。

 

“Blend中有兩項(xiàng)核心技術(shù):多webview技術(shù)和插件動(dòng)態(tài)加載技術(shù)。前者能讓web的能力和性能得到質(zhì)的提高,后者則是在架構(gòu)上保證了運(yùn)行環(huán)境的簡(jiǎn)單高效”雷志興表示。 

無(wú)線困境誰(shuí)來(lái)破局

    隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,Native App開(kāi)始逐漸到達(dá)它增長(zhǎng)的天花板,于是越來(lái)越多開(kāi)發(fā)者開(kāi)始把目標(biāo)瞄向web開(kāi)發(fā)。在初期,一般大家在做移動(dòng)web站點(diǎn)時(shí),都會(huì)追求一些無(wú)刷新的跳轉(zhuǎn)、換頁(yè)效果,可是這些效果在高端機(jī)上都會(huì)偶爾出現(xiàn)運(yùn)行不流暢等問(wèn)題,在中低端智能機(jī)上更是難以運(yùn)行。所以近一兩年來(lái),大家傾向于不在移動(dòng)web站點(diǎn)中采用復(fù)雜的特效,只在最關(guān)鍵的部分,用最小的代價(jià)來(lái)實(shí)現(xiàn)。這樣一來(lái)雖然滿足了大部分用戶的需求,不過(guò)很多個(gè)性化的效果又無(wú)法順利實(shí)現(xiàn)了。

    關(guān)于WebApp的能力,Developer Economics在調(diào)研了Google Play中的30339個(gè)App曾給出過(guò)一份報(bào)告,報(bào)告顯示,拋開(kāi)性能的話,如果只使用HTML5技術(shù),能實(shí)現(xiàn)37%app,如果使用Phonegap,能實(shí)現(xiàn)49%,如果使用Appcelerator,能實(shí)現(xiàn)63%。

      與此同時(shí),大量的調(diào)研都顯示性能和API數(shù)量不足是webapp的主要軟肋,而性能的最主要體現(xiàn)是在頁(yè)面切換的轉(zhuǎn)場(chǎng)過(guò)程。因此Clouda+團(tuán)隊(duì)面臨的首要目標(biāo)就是如何能讓WebApp的轉(zhuǎn)場(chǎng)像Native App那般流暢。

      iOS下,有較好的設(shè)備性能和瀏覽器支持,用Web來(lái)做復(fù)雜交互問(wèn)題不太大,但Android下就相當(dāng)棘手了。Clouda+團(tuán)隊(duì)的Blend項(xiàng)目正向前端開(kāi)發(fā)者展示著另一種可能。 

調(diào)研嘗試尋找源頭

      輕應(yīng)用有兩大入口:移動(dòng)搜索和手機(jī)百度App,接入輕應(yīng)用的開(kāi)發(fā)者尤其看重手機(jī)百度入口。因?yàn)樵谑謾C(jī)百度中,由于輕應(yīng)用的運(yùn)行環(huán)境是百度框,所以開(kāi)發(fā)者可以使用一些Native API的接口,即Clouda API,包括提供設(shè)備能力的Device API,提供百度云服務(wù)能力的MBASS API等。

      最初,他們團(tuán)隊(duì)重點(diǎn)考慮的是類似Appcelerator的方案,不過(guò)他們不像Appcelerator那么激進(jìn)地將Javascript編譯成Native code,而希望暴露一組基本的Native API,供前端工程師調(diào)用以實(shí)現(xiàn)流暢的App效果。但這樣隨之而來(lái)的問(wèn)題是,開(kāi)發(fā)者的可定制性會(huì)變得特別差,極度依賴Native API,開(kāi)發(fā)感受會(huì)很糟糕,畢竟開(kāi)發(fā)者操作的不再是DOM,而是一個(gè)私有的API。于是這個(gè)方案很快就被否定了。

    后來(lái),雷志興發(fā)現(xiàn),其實(shí)大家在性能方面的擔(dān)憂主要還是在轉(zhuǎn)場(chǎng)和動(dòng)畫(huà)上。不管頁(yè)面多復(fù)雜,很少有會(huì)擔(dān)心頁(yè)面內(nèi)部的性能。于是他提出了一個(gè)概念——Every element can be a webview。由于輕應(yīng)用的使用場(chǎng)景和Native結(jié)合得很好,Blend團(tuán)隊(duì)就開(kāi)始利用Native技術(shù)來(lái)做轉(zhuǎn)場(chǎng)。相對(duì)用web技術(shù),用Native來(lái)做轉(zhuǎn)場(chǎng)在技術(shù)上就可控多了。

技術(shù)開(kāi)源貢獻(xiàn)業(yè)界

    因?yàn)榘盐兆×藛?wèn)題的核心,所以Blend的核心實(shí)現(xiàn)也很順利,雷志興說(shuō),Blend秉承了模型從簡(jiǎn)的原則,并且為開(kāi)發(fā)者保留最大的靈活性。所謂模型從簡(jiǎn),就是Blend提供的是核心能力:讓Javascript能控制webview,就好像控制DOM一樣,不同webview之間通過(guò)事件通訊,JavascriptNative code通過(guò)事件通訊,這讓開(kāi)發(fā)者能快速理解核心概念并上手。此外,為開(kāi)發(fā)者保留最大的靈活性,主要體現(xiàn)在Blend內(nèi)部不大量依賴原生控件,webview內(nèi)部的樣式完全可以通過(guò)開(kāi)發(fā)者來(lái)自定義,在UI風(fēng)格上面沒(méi)有任何限制,擁有無(wú)限的靈活性。此外,Blend也不會(huì)影響開(kāi)發(fā)者對(duì)其他庫(kù)、框架的選擇。

    Blend的這個(gè)概念讓View有了‘原生’支持,任何的Element都可以用一個(gè)獨(dú)立的webview來(lái)實(shí)現(xiàn),瀏覽內(nèi)核的負(fù)擔(dān)就減輕了,而且切換時(shí)的過(guò)場(chǎng)動(dòng)畫(huà)用原生代碼實(shí)現(xiàn),也保證了性能。”雷志興說(shuō)。

   Blend的出現(xiàn),對(duì)輕應(yīng)用開(kāi)發(fā)者來(lái)說(shuō)是巨大的福音,他們可以在在不接觸任何Native代碼的前提下,就讓輕應(yīng)用的體驗(yàn)有質(zhì)的提高,Blend也已經(jīng)通過(guò)輕應(yīng)用Runtime下發(fā)到部分輕應(yīng)用的運(yùn)行環(huán)境中了。

    值得一提的是,雷志興非常熱衷于技術(shù)開(kāi)源,在百度,他所所負(fù)責(zé)的技術(shù)產(chǎn)品全部是開(kāi)源項(xiàng)目:Tangram是百度第一個(gè)開(kāi)源的技術(shù)項(xiàng)目,FIS亦于2012年開(kāi)放源代碼,Clouda+同樣也是開(kāi)源產(chǎn)品。所以,Blend除了能為百度輕應(yīng)用解決體驗(yàn)問(wèn)題,同樣適用于第三方的App,開(kāi)發(fā)者可以將SDK打包入App,單獨(dú)發(fā)布App上架。

   Blend能在能保證用戶體驗(yàn)的前提下節(jié)省人力成本,又有很高的定制性,迭代速度和web相當(dāng)。如果你正開(kāi)發(fā)App的初版,你可以用Blend理念來(lái)加速開(kāi)發(fā),盡早上線MVP(最簡(jiǎn)可行產(chǎn)品)并快速迭代;如果你正開(kāi)發(fā)一個(gè)大中型App,這個(gè)理念能釋放web的靈活性,讓web開(kāi)發(fā)工程師在App迭代過(guò)程中做得更多、做得更好。

責(zé)任編輯:鳶瑋 來(lái)源: 計(jì)世網(wǎng)
相關(guān)推薦

2022-03-02 16:05:16

Web前端代碼

2014-12-18 13:40:16

Web AppHybrid AppNative App

2011-12-31 09:17:02

Web App

2013-10-09 13:12:39

App開(kāi)發(fā)者

2021-03-17 11:51:10

個(gè)人信息泄露監(jiān)管

2011-04-12 16:02:09

Web AppNative AppWeb

2019-06-03 13:15:51

AI

2013-09-04 15:07:06

移動(dòng)應(yīng)用設(shè)計(jì)

2013-04-10 15:14:18

Web App開(kāi)發(fā)WebApp

2011-12-08 20:09:12

App

2015-08-13 13:37:12

O2O

2014-11-25 12:30:50

Web AppNative App

2009-05-18 09:21:46

XMLRIAREST

2015-06-04 10:44:59

WebAPP開(kāi)發(fā)技巧

2015-06-17 10:28:10

WebAPP開(kāi)發(fā)技巧

2013-05-28 13:55:50

工具類App變現(xiàn)收購(gòu)

2021-03-18 18:42:02

教育數(shù)字化轉(zhuǎn)型教師

2013-09-04 15:24:39

Native AppWeb App

2013-09-04 14:55:01

Web AppNative App技術(shù)

2013-12-16 15:07:59

NativeHybrid開(kāi)發(fā)移動(dòng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)