蘑菇街王興楠:面向下一代的移動開發(fā)體系
原創(chuàng)近日,51CTO記者在APMCon2016的大會現(xiàn)場對來自蘑菇街的無線跨平臺技術(shù)團(tuán)隊(duì)負(fù)責(zé)人王興楠進(jìn)行了專訪。王興楠給記者介紹了面向下一代移動開發(fā)方式動態(tài)的跨平臺框架及他對于影響H5發(fā)展因素的看法。
王興楠,蘑菇街無線跨平臺技術(shù)團(tuán)隊(duì)負(fù)責(zé)人,上海交通大學(xué)碩士。曾任職于上海Intel,從事多年瀏覽器內(nèi)核與web引擎研發(fā)工作;混跡于開源社區(qū),Chromium開源項(xiàng)目Committer,WebKit開源項(xiàng)目Committer,Crosswalk早期項(xiàng)目核心研發(fā)者,現(xiàn)為美麗聯(lián)合集團(tuán)技術(shù)專家,負(fù)責(zé)混合開發(fā)體系的建設(shè),目前專注于基于動態(tài)跨平臺技術(shù)的下一代移動開發(fā)體系。
下一代移動開發(fā)體系
王興楠告訴記者,蘑菇街現(xiàn)在內(nèi)部采用的框架叫XCore,是一套面向下一代移動開發(fā)方式動態(tài)的跨平臺的框架。整個(gè)框架是自研的,主要是聚焦在蘑菇街這樣一個(gè)社會化電商的業(yè)務(wù)特點(diǎn)上,很多設(shè)計(jì)和所支持的功能都是從業(yè)務(wù)場景抽象出來,同時(shí)現(xiàn)在正從相對單一的場景出發(fā),并逐步向通用解決方案過度。XCore設(shè)計(jì)上更加靈活,可以支持不同的前端框架,支持同步的API調(diào)用;結(jié)構(gòu)也十分精簡,更加靠近標(biāo)準(zhǔn)的瀏覽器方式。關(guān)于下一代移動開發(fā)體系,他是這樣介紹的。
下一代移動開發(fā)體系的概念是從react native而來的,這在業(yè)界一直是一個(gè)趨勢,因?yàn)檫@是H5的發(fā)展的一種延續(xù)。在PC時(shí)代,H5最開始也是從native開發(fā)轉(zhuǎn)到WEB開發(fā),再到***瀏覽器的普及,除去一些特殊場景,整個(gè)WEB開發(fā)基本上統(tǒng)治了PC端開發(fā)的方式,移動端整體上來說是按這個(gè)趨勢走的。但是由于移動端瀏覽器發(fā)展不好,一直沒能像PC端瀏覽器那樣成為統(tǒng)一的入口,所以移動端H5發(fā)展較慢,其實(shí)主因是各種超級app占據(jù)更多的入口;同時(shí)在移動端,H5本身體驗(yàn)的提升還是很慢的,H5現(xiàn)在是處于發(fā)展并不順利的狀態(tài)。但是react native的出現(xiàn),在一定程度上緩解了這樣的問題,是把WEB開發(fā)方式和native的性能做一個(gè)結(jié)合,以后從移動端開發(fā)角度這樣的方式會越來越多的被采用,但是不同App采用的路線可能是不一樣的。
關(guān)于H5,王興楠認(rèn)為, H5的整個(gè)趨勢還是向前發(fā)展的,原來H5發(fā)展慢,主要是由于性能不好,渲染能力和標(biāo)準(zhǔn)本身的發(fā)展比較慢,但現(xiàn)在這個(gè)趨勢也在慢慢變好。一方面,移動端WebView對Web的支持會越來越好,有另外一種趨勢會更明顯,就是在操作系統(tǒng)層面會越來越web化,比如說像ChromeOS、阿里的云OS等,系統(tǒng)原生支持H5,可以用WEB的方式開發(fā)應(yīng)用。所以說,移動端H5還將回歸,這是一個(gè)趨勢。
影響H5頁面瀏覽效果的首先是網(wǎng)絡(luò),尤其在國內(nèi)的網(wǎng)絡(luò)情況更復(fù)雜一點(diǎn),網(wǎng)絡(luò)延時(shí)更高。其次是本身底層的渲染能力,或者叫瀏覽器內(nèi)核,它本身渲染能力和native的差距。而要保證H5頁面瀏覽速度的話,就必然需要從這兩方面做相應(yīng)的優(yōu)化。
一、優(yōu)化網(wǎng)速,其實(shí)有很多優(yōu)化方式,比如把整個(gè)頁面做離線化的處理,H5慢的時(shí)候會有很明顯的白屏,我們會把手中的資源做一個(gè)離線化處理,實(shí)際說再打開的時(shí)候,這個(gè)資源已經(jīng)本地化了,通過網(wǎng)絡(luò)來處理。剩下二次加載再繼續(xù)走網(wǎng)絡(luò),這樣對頁面的體驗(yàn)和提升是很大的。
二、優(yōu)化渲染能力,有兩個(gè)思路,一個(gè)是說通過獨(dú)立打包更新的性能更好的瀏覽器引擎進(jìn)App中,來解決系統(tǒng)原生WebView渲染能力不足的問題;另一個(gè)就是采用動態(tài)跨平臺的方案,用原生系統(tǒng)渲染代替。
***,王興楠說,從移動端開發(fā)趨勢上來講,最開始是純native開發(fā)往混合開發(fā)演進(jìn),現(xiàn)在從混合開發(fā)往下一個(gè)階段—更深度的混合開發(fā)演進(jìn),進(jìn)而真正達(dá)到原生的體驗(yàn)。而對于H5,大家都是非常急切的需求,但實(shí)際上,要真正把WEB用好,帶到原生的體驗(yàn),是需要底層框架或者底層OS慢慢支持起來的。

























