WOT2015預(yù)熱系列訪(fǎng)談——樂(lè)蜂網(wǎng)技術(shù)總監(jiān)曲毅
原創(chuàng)51CTO WOT 2015移動(dòng)互聯(lián)網(wǎng)開(kāi)發(fā)者大會(huì)即將于2015年7月24-25日在北京富力萬(wàn)麗酒店隆重召開(kāi)。本次大會(huì)共設(shè)八大技術(shù)分論壇,分別從產(chǎn)品與設(shè)計(jì)、平臺(tái)與技術(shù)、創(chuàng)新與創(chuàng)業(yè)、移動(dòng)游戲、算法分析、HTML5、運(yùn)維安全、新浪微博技術(shù)等方面,為廣大移動(dòng)開(kāi)發(fā)者解開(kāi)技術(shù)迷思。
為使大家進(jìn)一步了解本次大會(huì),有針對(duì)性地選擇課程內(nèi)容,51CTO記者對(duì)即將參加大會(huì)演講的技術(shù)專(zhuān)家分別進(jìn)行專(zhuān)訪(fǎng),為您進(jìn)行各場(chǎng)演講精華的新鮮速遞。本次大會(huì)詳細(xì)議程見(jiàn):http://wot.51cto.com/.
今天帶來(lái)“劇透”的是樂(lè)蜂網(wǎng)技術(shù)總監(jiān)曲毅。從事互聯(lián)網(wǎng)研發(fā)工作11年。曾在高陽(yáng),空中網(wǎng),樂(lè)蜂網(wǎng)等互聯(lián)網(wǎng)公司擔(dān)任構(gòu)架師,高級(jí)技術(shù)經(jīng)理,技術(shù)總監(jiān)等職位。近4年專(zhuān)注移動(dòng)互聯(lián)網(wǎng)。是國(guó)內(nèi)資深 HTML5專(zhuān)家和研究者,對(duì)HTML5技術(shù)有非常深刻的認(rèn)識(shí)和理解,有著豐富的實(shí)踐經(jīng)驗(yàn),是HTML5引擎Crow5的創(chuàng)造者。
【講師簡(jiǎn)介】
曲毅:樂(lè)蜂網(wǎng)技術(shù)總監(jiān)曾在高陽(yáng),空中網(wǎng),樂(lè)蜂網(wǎng)等互聯(lián)網(wǎng)公司擔(dān)任構(gòu)架師,高級(jí)技術(shù)經(jīng)理,技術(shù)總監(jiān)等職位。近4年專(zhuān)注移動(dòng)互聯(lián)網(wǎng)。是國(guó)內(nèi)資深 HTML5專(zhuān)家和研究者,對(duì)HTML5技術(shù)有非常深刻的認(rèn)識(shí)和理解,有著豐富的實(shí)踐經(jīng)驗(yàn),是HTML5引擎Crow5的創(chuàng)造者。
以下是對(duì)曲毅老師的采訪(fǎng)實(shí)錄:
51cto:請(qǐng)您介紹一下樂(lè)蜂網(wǎng)的技術(shù)團(tuán)隊(duì)
曲毅:樂(lè)蜂的技術(shù)團(tuán)隊(duì)隨著高速發(fā)展的移動(dòng)互聯(lián)網(wǎng)也走了許多彎路。目前移動(dòng)技術(shù)團(tuán)隊(duì)包括Android,IOS,HTML5/PHP,移動(dòng)后端,運(yùn)維,測(cè)試團(tuán)隊(duì)。正如很多B2C電商一樣,移動(dòng)后于PC發(fā)展,所以除了移動(dòng)獨(dú)有的,能夠相應(yīng)各種變化同時(shí)還要配合PC打組合拳。經(jīng)過(guò)了一年多的摸索,反復(fù),調(diào)優(yōu)產(chǎn)生了一只專(zhuān)屬移動(dòng)技術(shù)的團(tuán)隊(duì)。
51CTO:作為樂(lè)蜂網(wǎng)的技術(shù)總監(jiān),請(qǐng)您分享一下您的個(gè)人經(jīng)歷,包括,是什么原因讓您從事IT技術(shù)行業(yè)?以及如何從一名普通程序員成為一線(xiàn)電商網(wǎng)站的技術(shù)總監(jiān)?
曲毅:如果說(shuō)個(gè)人經(jīng)歷我算是科班出身,大學(xué)學(xué)的就是計(jì)算機(jī),不過(guò)不是軟件編程,從事編程工作其主要原因是畢業(yè)設(shè)計(jì)計(jì)算機(jī)系要做項(xiàng)目。為了能順利的畢業(yè)自己用了兩年時(shí)間自學(xué)的編程技術(shù),而且還拿了優(yōu)秀畢業(yè)設(shè)計(jì)獎(jiǎng)。之后還當(dāng)過(guò)老師,主要教J2EE 和.NET 。
曲毅:做程序員是我非常快樂(lè)的時(shí)光,每天都很忙而且很充實(shí),永遠(yuǎn)也學(xué)不完的技術(shù),永遠(yuǎn)也想探索不完的解決方案。敲敲代碼,踢踢球。就這樣一天天的積累。說(shuō)到如果作為技術(shù)總監(jiān)除了專(zhuān)業(yè)的技術(shù)功底外,需要對(duì)所在的行業(yè)知識(shí)有探索和學(xué)習(xí)的欲望,還拓寬自己的技術(shù)寬度,移動(dòng)技術(shù)飛速發(fā)展必須要強(qiáng)迫自己把學(xué)習(xí)變成樂(lè)趣,這樣就不會(huì)累了。因?yàn)槠綍r(shí)有很好的閱讀習(xí)慣,無(wú)論有多忙我都會(huì)每天閱讀。一年閱讀的技術(shù)書(shū)籍超過(guò)100本。
51CTO:您在日常開(kāi)發(fā)的時(shí)候會(huì)使用哪些工具來(lái)提高開(kāi)發(fā)效率?
曲毅 :常用的開(kāi)發(fā)工具我就不詳說(shuō)了,但是我有一個(gè)特別的編好,也算是自己強(qiáng)迫自己去這樣做。在編寫(xiě)一些前端腳本的時(shí)候例如JavaScript我現(xiàn)在還依然保持著使用記事本編寫(xiě)代碼。而且還會(huì)有抄書(shū)背代碼的習(xí)慣。記得一位老師對(duì)我說(shuō),背不是笨。是的用記事本寫(xiě)代碼都很快,如果隨便用個(gè)編輯工具真的感覺(jué)寫(xiě)代碼和飛一樣,堅(jiān)持用記事本寫(xiě)代碼十年。你說(shuō)你的技術(shù)功底有多扎實(shí)?
51CTO:樂(lè)蜂網(wǎng)在移動(dòng)端為什么會(huì)采用Native+H5的方式?這種方式的優(yōu)點(diǎn)在哪?
曲毅:因?yàn)闃?lè)蜂網(wǎng)是電商公司,如果采用純?cè)ラ_(kāi)發(fā),就會(huì)面臨很多很多問(wèn)題。反應(yīng)速度慢,很明顯客戶(hù)端有很多事件營(yíng)銷(xiāo),不可能別人家的客戶(hù)端變了模樣我們這邊還要發(fā)包。而且在運(yùn)營(yíng)層面上,當(dāng)然是越靈活越好。所以我們采用的是Native+H5的方式。但實(shí)際上H5有很多性能上的問(wèn)題,我們采用了Native+引擎技術(shù)。
51CTO:H5的性能一直被人詬病,在做移動(dòng)端的開(kāi)發(fā)時(shí),如何避免H5的短處而更加充分的利用H5自身的優(yōu)勢(shì)?
曲毅:這個(gè)問(wèn)題問(wèn)的太到位了,我們都知道H5有很多好吃和有點(diǎn),但是他卻有很多缺點(diǎn),我們采用native+H5 的方式開(kāi)發(fā)其目的就是利用原生的有點(diǎn)和H5 的有點(diǎn),這樣互為補(bǔ)充做到***的體驗(yàn)和靈活性。但是事情哪里是我們想的這樣啊,H5的優(yōu)點(diǎn)你使用了就同時(shí)也要接受它的很多缺點(diǎn)。對(duì)H5進(jìn)行了很多深入的研究和總結(jié),我們自己實(shí)現(xiàn)了一個(gè)基于H5的引擎Crow5,這個(gè)引擎是用Js編寫(xiě)的。在用它的時(shí)候可以堅(jiān)固H5的優(yōu)點(diǎn),同時(shí)那么多的缺點(diǎn)通過(guò)優(yōu)良的設(shè)計(jì)規(guī)避掉。從而達(dá)到雙優(yōu)的效果。
51CTO:為什么選用Crow5引擎?
曲毅:選用Crow5引擎是因?yàn)椴庞眉兊膚ebview+html5頁(yè)面的方式加載速度慢,耗費(fèi)流量等問(wèn)題。Crow5引擎是我們自主研發(fā)出來(lái)的,所以對(duì)很多東西我們使用起來(lái)很方便,也很容易擴(kuò)展。但是如果使用其他的引擎維護(hù)成本很高,還有就是其他的類(lèi)庫(kù)都太大了。手機(jī)下載資源就比較慢,如果資源庫(kù)又大,非常影響體驗(yàn)。
51CTO:Crow5引擎由哪些部分組成?樂(lè)蜂的移動(dòng)端有哪些應(yīng)用了Crow5?
曲毅 :Crow5引擎由40多個(gè)插件和模塊組成,其中比較重要的模塊有,HTML代碼約定模塊,交互抽離模塊,數(shù)據(jù)封裝模塊,數(shù)據(jù)驅(qū)動(dòng)模塊,加密混淆模塊,插件管理器,加速器,URL攔截器,動(dòng)畫(huà)控制器,緩存控制器,超時(shí)監(jiān)聽(tīng)器,模版控制器,請(qǐng)求發(fā)送管理模塊,按需加載管理器。
處理機(jī)制主要有,約定編程機(jī)制,數(shù)據(jù)驅(qū)動(dòng)機(jī)制,模版引擎飄移機(jī)制,心跳保持機(jī)制等數(shù)十種處理機(jī)制。
樂(lè)蜂移動(dòng)端Android,Iphone,Ipad和m.lefeng.com都有crow5的影子
51CTO:Crow5的引擎在實(shí)際使用中為樂(lè)峰的業(yè)務(wù)帶來(lái)了哪些幫助?
曲毅:技術(shù)層面上,以前需要各自獨(dú)立開(kāi)發(fā)的android和iphone還有webapp需要三種語(yǔ)言,三個(gè)團(tuán)隊(duì)去開(kāi)發(fā)。采用引擎技術(shù)以后只需要按照引擎的方式編寫(xiě)一個(gè)webapp的方式。引擎會(huì)自動(dòng)去適配android和iphone開(kāi)發(fā)人員無(wú)需過(guò)度去考慮語(yǔ)言的問(wèn)題,降低了開(kāi)發(fā)的人力投入,而且在維護(hù)上,只需要維護(hù)一個(gè)版本全平臺(tái)覆蓋同步更新,還可以不用發(fā)包。由于引擎是采用約定的設(shè)計(jì)模式,所以編寫(xiě)代碼都不需要太多的手敲,只需要按照約定寫(xiě)配置文件,代碼由引擎自動(dòng)生成。這樣大大的簡(jiǎn)化了開(kāi)發(fā)。而且也不用考慮編寫(xiě)風(fēng)格問(wèn)題。
運(yùn)營(yíng)層面上,才用H5的解決方案,可以盡情的使用這個(gè)技術(shù)的靈活性。
51CTO:您覺(jué)得Crow5引擎還需要在哪些地方加強(qiáng)。
曲毅:Crow5目前還沒(méi)有大規(guī)模的開(kāi)源出來(lái),而且文檔和學(xué)習(xí)社區(qū)缺失,希望未來(lái)能把這塊座起來(lái),讓更多的愛(ài)好者一起去編寫(xiě)引擎。
51CTO:隨著H5的標(biāo)準(zhǔn)落地,蘋(píng)果支持H5似乎H5已經(jīng)步入正軌,然而H5的標(biāo)準(zhǔn)并沒(méi)有得到廣泛使用,您怎么看待這種現(xiàn)象?如何看待H5今后的發(fā)展?
曲毅:任何事物的產(chǎn)生一般都會(huì)經(jīng)歷肯定,然后是否定和遲疑,我們能做的就是否定之否定。手機(jī)的性能越來(lái)越強(qiáng),價(jià)格越來(lái)越便宜,而且網(wǎng)絡(luò)資費(fèi)也越來(lái)越便宜。我不同意navtive會(huì)消亡,但是份額會(huì)被web技術(shù)所侵占。而且未來(lái)的生活更是網(wǎng)路無(wú)處不在,所以web技術(shù)的應(yīng)用場(chǎng)景會(huì)爆炸式的產(chǎn)生。能預(yù)見(jiàn)的是手機(jī)的屏幕就那么大,手機(jī)能安裝的應(yīng)用也就那么多,那么問(wèn)題來(lái)了,還有千千萬(wàn)的應(yīng)用應(yīng)該在哪里體現(xiàn)和使用呢?也許會(huì)是web方式吧。
毫無(wú)疑問(wèn)H5會(huì)需求量越來(lái)越大,要求也會(huì)越來(lái)越高。
來(lái)自谷歌、騰訊、京東、360、新浪微博、樂(lè)蜂網(wǎng)、魅族等企業(yè)的技術(shù)專(zhuān)家匯聚一堂,只為助你打開(kāi)實(shí)現(xiàn)夢(mèng)想的那一扇窗。盛會(huì)虛位以待,只等你快馬加鞭!