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