Weex:JS&Web能力拓展萬物互聯(lián)的探索
原創(chuàng)2016年8月26-27日,由51CTO.com主辦的【W(wǎng)OT2016移動互聯(lián)網(wǎng)技術(shù)峰會】在北京粵財JW萬豪酒店隆重召開。自2012年以來,WOT品牌大會秉承專注技術(shù)、服務(wù)技術(shù)人員的理念已經(jīng)成功舉辦十一屆,不僅積累了大量的專家資源,更獲得廣大IT從業(yè)者和技術(shù)愛好者的認可和好評,并成為業(yè)界重要的技術(shù)分享及人脈拓展。
本次【W(wǎng)OT2016移動互聯(lián)網(wǎng)技術(shù)峰會】分為10大技術(shù)主題,分別是應(yīng)用架構(gòu)、平臺技術(shù)、創(chuàng)新技術(shù)、VR技術(shù)、前端技術(shù)、性能優(yōu)化、直播技術(shù)、運維與安全、數(shù)據(jù)分析、APP技術(shù)專場。51CTO.com作為本次大會的主辦方,將通過快速報道、現(xiàn)場專訪與后期視頻等多種形式,向廣大用戶全方位展示這場技術(shù)盛宴。
下面是大會主會場上來自淘寶移動平臺的基礎(chǔ)平臺部負責(zé)人吳志華老師帶來的主題為《Weex:JS&Web能力拓展萬物互聯(lián)的探索》的演講實錄。
在阿里巴巴從準備開源到現(xiàn)在一共8個月,這期間業(yè)界有很多聲音。我們在這個項目當(dāng)中遇到了大量的一個技術(shù)的挑戰(zhàn),以及大量的問題。在開源當(dāng)中有很多心路歷程,接下來和大家一一說下。
關(guān)于Weex主題分五個部分。***部分,介紹Weex這個項目是什么,有什么特點;第二點,對于阿里巴巴來說為什么要做Weex這樣一個項目,基于行業(yè)的技術(shù)趨勢思考是什么,以及與阿里巴巴的無線技術(shù)有什么關(guān)系;第三點,是大家比較關(guān)心的Weex項目,在阿里巴巴應(yīng)用的情況和落地的實踐是怎樣的。接下來我談一談Weex作為一個對外的項目,今天在開源生態(tài)上面,開發(fā)者服務(wù)方面我們做什么事情,取得了怎樣的成績?
我全名就是吳志華,花名是天施。個人經(jīng)歷,我一直在做移動的基礎(chǔ)技術(shù),我負責(zé)的團隊就是阿里巴巴移動基礎(chǔ)技術(shù)平臺,包括整個阿里巴巴網(wǎng)絡(luò)的接入,雙11流量是團隊在做。移動網(wǎng)絡(luò)接入,以及網(wǎng)絡(luò)的消息中間件的問題,還有整個集團推送和移動端數(shù)據(jù)采集。
我們對于Weex有這樣一個定義公式,這個公式兩個含義。Weex這樣一個公式把模板Weex,JS輸入進來得到一個UI,這就是徹底以提倡的方式開發(fā)。
我們的官網(wǎng)有三個特點,非常輕量級,可擴展和高性能。左邊是Weex代碼一個樣式一個寫法,看起來比較的普通。這樣一個技術(shù)的框架有兩個特點,寫一份Weex代碼,就可以在Android,H5通用,以后還可以在更多的設(shè)備端通用。
看一下Weex為什么是web以外方式開發(fā)H***PP呢?首先,寫完代碼和前端代碼以后,用工具掃描,這個就是在手機上看到一個效果。編寫一些代碼,就可以生成實時電商一個頁面的的效果,其他頁面也是可以的。
無論是首頁,還是微淘,都全是Weex來支撐,各種大促活動,3月的活動,6.18的活動,都是使用Weex, Weex也是給大促帶來了一些效果,在體驗上有很大的提升。今天阿里內(nèi)部很多的APP,基本上都是用Weex。
前面簡單地介紹一下Weex是什么?接下來講講,我們?yōu)槭裁醋鲞@樣一個項目?今天實際上就是把外部的優(yōu)秀的前端一些工程和技術(shù)能力可以擴到手機端。未來是什么樣子?我們相信未來一定是通過大家努力,可以把今天前端優(yōu)秀一些工程和技術(shù)能力可以弄到各個端。
Weex一個起源,有個非常大的原因,對于開發(fā)者來說,設(shè)備的平臺兼容性,還有分裂性,已經(jīng)對開發(fā)者造成很大的困難。包括信息孤島的問題,低端機適配的問題,性能優(yōu)化的問題,我們開發(fā)者就是在三個方向做大量的一些投入,投入大量一些精力。今天創(chuàng)業(yè)整個大環(huán)境和背景下,快速變化業(yè)務(wù),快速跟隨業(yè)界一個趨勢變化有極大一些要求。業(yè)界其實在這個時間上就受平臺分裂一個困擾比較多。所以,這個點上,我們覺得Weex這樣一個方案,可以解決APP高大小的問題,兼容性的問題。
這也是我們想為什么推出Weex的初衷。這個項目就是阿里巴巴基于自己移動客戶端的技術(shù),還有H5的技術(shù),還有追求動態(tài)化技術(shù),自然而然一個結(jié)果。14年的時候,我們集團所有的業(yè)務(wù)開始把它的業(yè)務(wù)做進手機淘寶里。大概有上百個團隊協(xié)作,我們考慮代碼怎么去隔離,大家之間相互工程的協(xié)作怎么辦,相互之間代碼,自己開發(fā)獨立客戶端代碼,天貓代碼怎么集成到手淘里面來,我們提出幾個概念,就是容器化怎么做?解決隔離性,工程持續(xù)集成問題。今天這么多人一起弄的時候怎么快速發(fā)現(xiàn)和修復(fù)呢?
這個時候給業(yè)界提出了熱修復(fù)這樣一個概念,后面就是動態(tài)部署。我們應(yīng)該就是中國最早實現(xiàn)動態(tài)部署的一個超級APP,也就是去年年初的時候?qū)崿F(xiàn)了動態(tài)部署,整個Android客戶端也是可以的。今天手淘下面的一個超級APP一個大的技術(shù)團隊,我們接近150多位架構(gòu)師。而這樣做的一個技術(shù)的操作系統(tǒng),不僅僅是支撐電商,也是支撐整個集團所有的APP。
過去有很多技術(shù),都做了移動網(wǎng)絡(luò)的一些解決方案,甚至我們大數(shù)據(jù)的一些采集Weex這個項目的開始,在阿里巴巴內(nèi)部就是開源的,所有的同學(xué)都會為他去貢獻代碼以及提供意見。慢慢地,Weex項目經(jīng)過8個月,阿里巴巴內(nèi)部不僅成為一個技術(shù)項目,是成為一個技術(shù)生態(tài)。
阿里巴巴內(nèi)部談技術(shù),除了客戶端這一條線以外,H5這個線路不能不提的,H5這個線路非常核心一個場景,就是大促會場,雙11會場。剛剛開始的時候提一個概念,雙11要無線化,這個時候承載就是H5頁面,跟業(yè)界方案幾乎是一樣的,我們H5方面沒有做特別的優(yōu)化。14年以后,這個性能對消費者體驗有很大的影響。希望雙11有一些互動的場景、游戲,能夠給消費者很好的一個體驗。我們提了預(yù)加載,離線緩存,網(wǎng)絡(luò)上面做了很多的優(yōu)化。還有主會場的Weex。不滿足與做一個單獨會場一個頁面,我們把它做到一超級APP,去年有幾百個,今年會更多。每一個會場就是幾百個,幾千個頁面。我們要設(shè)計復(fù)雜的一些會場的框架,會場的APP的生命周期的管理。這個里面有互動游戲的狂歡,都有用到Weex的技術(shù)。
13年到16年,我們Weex客戶端發(fā)展,這個是Android。去年發(fā)了500多個版本!平均一天發(fā)1到2個版本,我們有Weex以后,我們可以做什么事情?Weex既可以做到H5靈活性,可以做到好的體驗性能,哪怕蘋果也是承認它的合法性。
阿里一年會場的秒開率變遷,沒有做過H5的秒開率是非常糟糕的。經(jīng)過我們做優(yōu)化以后,可以離線緩存了,即便這樣,一到特殊場景下還是有解決不掉的難題。到了今天Weex,秒開這一塊有很大的優(yōu)勢。而且,內(nèi)存CPU占用,原生客戶端體驗上面有很大的優(yōu)勢,這個頁面跳轉(zhuǎn),還有動畫都是有優(yōu)勢的。
這是阿里巴巴動態(tài)化幾個探索路徑,剛剛開始是H5,后面通過遠端計算編排丟到客戶端,動態(tài)渲染。到了今天,我們提一個概念,就是Weex。
Weex對阿里巴巴帶來的一個價值什么樣子?首先在技術(shù)層面上提供了很大的價值,為什么這么說呢?業(yè)界更新到60%,Android需要一個月,蘋果一周,Weex是一天。一個代碼,開發(fā)團隊帶來大量生產(chǎn)力提升,我們可以節(jié)省50%的人力,可以提升50%的開發(fā)效率。到現(xiàn)在為止解決了所有Android低端機一些問題。
超級APP一個困境,我是做超級APP的。前兩年講這個包太大,性能穩(wěn)定性包括多版本,手機的兼容性很難做,投入大量的一些人力和物力一些成本,業(yè)務(wù)這一塊兒在中國互聯(lián)網(wǎng)不停地做業(yè)務(wù)加法,不可能讓業(yè)務(wù)不變化,看一下淘寶,支付寶,也是非常的龐大。不說這樣一個包的大小和代碼規(guī)模,大量用戶消費者下載這個APP體驗的問題,還有內(nèi)部一些大量的工程協(xié)同的一些問題都無法解決。
我們看一個現(xiàn)實,在座有沒有做微信的?甚至其他的一些超級APP的?已經(jīng)玩兒不下去了,支付寶也是一樣的,怎么辦?不可能不讓業(yè)務(wù)做加法吧?Weex獲取就是一劑良方,我們的整個Android這一塊,加上1.9兆,Android代碼460K,IOS600K,包大小呢?擴展一些需要自己的組件。同時,我們可以給你提供一些按需打包能力,打包想要一些組件,打包想要H5一些組件。性能穩(wěn)定性這一塊兒,Weex今天是一個標(biāo)準的輸入和輸出內(nèi)核,這樣一個標(biāo)準內(nèi)核里面我們做專門內(nèi)核性能一些定制優(yōu)化。我們會做***實踐,我們來約束開發(fā)者,我們可以Weex比一般的水平,這個是目前實踐一個結(jié)果。
目前,開發(fā)效率也是會更高。業(yè)務(wù)上更開心了,可以在線更新。還有穩(wěn)定性和內(nèi)核的研發(fā)和保障機制。甚至內(nèi)核需要一些能力,以及VR這方面的能力。甚至我們的數(shù)據(jù)可視化一些能力。
Weex在阿里巴巴業(yè)務(wù)上面帶來一些收益,從去年到現(xiàn)在快一年了。包括大規(guī)模實踐,推進過程當(dāng)中得到一些數(shù)據(jù),我們頁面的點擊率就是提升5%,這里說一個數(shù)據(jù),就是針對我們過去優(yōu)化到***的H5頁面,就是我們的離限緩存,預(yù)加載,網(wǎng)絡(luò)優(yōu)化,UC瀏覽器,沒有加就更好,10%到20%,點擊率提升5%,我們頁面跳失率減少5%,我們比普通H5頁面快4倍。因為前端框架這一塊,數(shù)據(jù)傳輸這一塊,還有圖片這一塊做了大量的一些優(yōu)化,我們數(shù)據(jù)其實就是比H5更小10倍。
Weex在阿里巴巴業(yè)務(wù)上面一個收益,這個是阿里巴巴手淘的第二個。以更好的內(nèi)容和更好的表現(xiàn)形式給消費者,更容易被結(jié)構(gòu)化,被大數(shù)據(jù)所驅(qū)動,去線上做一些測試以及更容易個性化一個推薦。
另外,這個是我們的社區(qū)這一塊,今天很多開發(fā)者,還有自建QQ群,這個討論比較的活躍。最近很開心一個事情,我們內(nèi)部一些開發(fā)者,QQ群開發(fā)者說,就是上線了,在群里面說了,我們?nèi)豪锩婵吹缴钲谝患夜鹃_始招聘Weex工程師,邀請我們做一個Weex交流,評估Weex這樣一個方案。也看到了一些需求,內(nèi)部和外部,都是放在我們線上進行討論,大家經(jīng)常會看到。業(yè)界很多開發(fā)者在里面討論,通過這樣一些討論也是收獲到很多不一樣的觀點。
開源重點,Weex講一堆開源事情,有一些小小成績。這個其實有很多事情做,就是文檔怎么樣?我們的開發(fā)者服務(wù),還有我們的工具體系,這個是需要整個團隊持續(xù)優(yōu)化的。所以,這個月初,在杭州我們宣布中文開發(fā)者服務(wù)計劃啟動,專人專項解決開發(fā)工具的問題,開發(fā)者服務(wù)的問題。把Weex項目徹底開源開放專線給業(yè)界。
談一些未來的一個展望。先說一下近期到中期的,我們對自己有一個目標(biāo),就是8到12個月以后,所有的阿里巴巴APP都是用到Weex上面。為了做到這個事情,光靠我們這個團隊很難的,這個團隊相當(dāng)于做一些基礎(chǔ)的平臺,包括內(nèi)核,前端工具一些開發(fā)工作,我們還有很多的一些不太擅長。就是讓兄弟團隊合作伙伴,甚至我們的社區(qū)生態(tài)一些伙伴一起做。我們的UI庫,我們一些體系,還有我們的互動能力。還有數(shù)據(jù)可視化,還有業(yè)務(wù)上面一些搭建平臺怎么做,大量工作需要這個團隊做。還有內(nèi)核上,整個內(nèi)核一些能力,還有內(nèi)核能力拓展,我們應(yīng)用一個框架。我們的整個內(nèi)核穩(wěn)定性,還有性能,研發(fā)機制,整個的一些升級能力。還有自愈機制都需要團隊的支持。
談到***,我們對自己有這樣4句話。***,擁抱開源,回歸生態(tài),萬物互聯(lián),技無止境。阿里巴巴就是一個擁抱開源一家公司,技術(shù)體系,技術(shù)生態(tài)構(gòu)建過程當(dāng)中從源當(dāng)中收獲很多。我們在做Weex這個項目的時候,其實一開始的時候內(nèi)部有很多的討論。剛開始在想,Weex解決自己的問題就夠了嗎?后來我們決定把Weex開源給業(yè)界,這個就是想捐給基金會。我們是這樣考慮的,Weex這個項目在阿里巴巴移動互聯(lián)網(wǎng)上面為數(shù)不多的做生態(tài),就是外部開發(fā)者力量完善我們非常重要的一個項目。我們也是認為這樣一個項目可能就是中國的,我們自己認為,可能就是中國的移動互聯(lián)網(wǎng)為數(shù)不多的可以做生態(tài),做開發(fā)者項目的一個項目。所以,我們是想完全徹底地開源出去,Weex不僅僅通過業(yè)界大家一致的努力。不僅僅是一個移動端一個跨平臺一個解決方案。希望大家努力,可以成為一個萬物互聯(lián)的解決方案。
以上是51CTO.com記者從【W(wǎng)OT2016移動互聯(lián)網(wǎng)技術(shù)峰會】一線為您帶來的精彩報道。一大波精彩內(nèi)容報道正在襲來,敬請持續(xù)關(guān)注!