|
InfoQ:小馬,請首先做一下自我介紹。
小馬:大家好,我叫趙澤欣,在淘寶的花名是小馬,隸屬于淘寶UED部門,很榮幸能夠接受InfoQ的采訪,謝謝。
InfoQ:小馬,現(xiàn)在Web開發(fā)相關(guān)的類庫特別多,請問淘寶在選擇Web框架做開發(fā)的時候,是從哪些角度來考慮的?能否給讀者朋友提供一些參考?
小馬:的確如你所說,Web類庫五花八門。我們在做選擇的時候,主要基于以下這兩個方面:
- 想想是否真正符合自己的需求,有些類庫可能適合網(wǎng)站型應(yīng)用,另一些可能適合數(shù)據(jù)型應(yīng)用,所以其實(shí)還是有些區(qū)別的,這是第一點(diǎn)。
- 我覺得還要看人才或者是技術(shù)儲備的狀況。如果你的團(tuán)隊(duì)里面沒有幾個特別熟悉這種類庫的人才,有時候會吃一些苦頭。
像淘寶網(wǎng)當(dāng)初選擇YUI也是基于這兩個因素考慮。因?yàn)樘詫毜暮蠖思軜?gòu)是基于Java的,而YUI是大多數(shù)框架里面,在文檔組織、代碼組織上最接近于Java的,比較容易得到開發(fā)人員的認(rèn)可,然后功能也比較強(qiáng)大,組件比較豐富,再加上又有一個專業(yè)的雅虎團(tuán)隊(duì)在維護(hù),所以可靠性上也會比較強(qiáng),因此當(dāng)時選擇它。最重要的還是根據(jù)你自己的需求。
InfoQ:目前淘寶UED團(tuán)隊(duì)已經(jīng)發(fā)展壯大,你們現(xiàn)在是基于YUI呢,還是有進(jìn)一步的計(jì)劃?
小馬:目前大部分還是基于YUI,因?yàn)橐呀?jīng)用了很久了,也基于它做了很多改進(jìn)和擴(kuò)展。但是隨著淘寶飛速的發(fā)展,各種應(yīng)用也越來越復(fù)雜,我們也慢慢感受到Y(jié)UI的一些不足,YUI當(dāng)然它自己也在發(fā)展,推出YUI 3的版本,也做了很多的改進(jìn)。可是我們在用的過程中,覺得還是不太適合,不太適用于淘寶,所以我們也有計(jì)劃的在研發(fā)自己的框架,我們的框架叫做Kissy,我的同事玉伯主持這個項(xiàng)目,我們把它開源了,我們希望國內(nèi)外更多的朋友能夠一起來豐富這個框架。
InfoQ:我們知道前端很注重用戶體驗(yàn),比如響應(yīng)時間等,現(xiàn)在有關(guān)Web性能優(yōu)化的規(guī)范特別特多,我想問一下,以你的經(jīng)驗(yàn)來說,有哪一些建議比較重要?
小馬:當(dāng)初我們做性能優(yōu)化,最主要還是基于雅虎的YSlow工具,他們專門有一個性能團(tuán)隊(duì),做了很多的研究,列出了很多優(yōu)化的原則,我們剛開始還是拿來主義,學(xué)習(xí)他們,所以有幾條我覺得特別能夠立竿見影的方法。第一是把很多的腳本文件合并成一個文件,或者是把很多的CSS文件合并成一個文件,這樣能夠有效的減少HTTP的請求。然后盡可能把腳本放在頁面靠結(jié)束的部分,把CSS盡可能放在靠前的部分。以我的經(jīng)驗(yàn),這些措施能夠很快讓用戶感受到速度的一個提升。如果要做更多的優(yōu)化的話,那可以按照YSlow的規(guī)則去做,其實(shí)性能優(yōu)化不光是前端的職責(zé),有時候也需要后端的支持,比如說Cache,有時候是需要Apache或者h(yuǎn)ttp server的一些配置,其實(shí)性能需要整個公司里面各個團(tuán)隊(duì)一起來配合。
InfoQ:前端團(tuán)隊(duì)除了注重性能之外,是否還有其他領(lǐng)域,比如安全性,淘寶是不是也很注重這方面的問題?
小馬:我個人覺得其實(shí)安全性也是一個我們很關(guān)注的地方,因?yàn)楝F(xiàn)在很多安全性問題,可能都是以腳本作為跳板,很多也是基于瀏覽器來做一些攻擊。前端最熟悉瀏覽器,也是對腳本最為熟悉的一個崗位,所以很多時候,跟公司的安全技術(shù)部門交流的過程中,我們都希望從前端的角度給他們更多的建議。除了安全,我個人覺得,淘寶現(xiàn)在比較關(guān)注一些手持設(shè)備上面的前端研發(fā),比如iPhone、iPad等。
InfoQ:淘寶UED團(tuán)隊(duì)目前關(guān)注哪些最新的Web前端技術(shù)?
小馬:現(xiàn)在可能最熱門的就是HTML 5和CSS 3,但是很遺憾IE6、IE7這些瀏覽器還占據(jù)大量的市場份額,像淘寶基本上90%的用戶瀏覽器都還是IE系列。我們以前經(jīng)常會有這種想法“反正用戶都用IE,這些新的東西用了也沒什么意義”,現(xiàn)在我們慢慢的覺得,還是要推動這個事情,所以HTML 5、CSS 3的一些新特性,我們都盡可能的去應(yīng)用,而且我覺得效果非常的好。
InfoQ:您作為淘寶前端團(tuán)隊(duì)的負(fù)責(zé)人,如何定位前端工程師這樣一個角色?他的工作范圍跟其他的工程師,比如后臺開發(fā)工程師、還有一些專門做頁面設(shè)計(jì)的工程師,有何區(qū)分?
小馬:這個問題我們自己內(nèi)部也有討論過,我想了很久,提出一個定位,當(dāng)然也是這個團(tuán)隊(duì)大家一起的思考成果,我們覺得前端是面向用戶的程序,首先還是程序,我們也要編碼,我們也要具備嚴(yán)謹(jǐn)好學(xué)的特質(zhì),另外一點(diǎn),我們跟很其他后端開發(fā)工程師有一些區(qū)別,就是可能我們更貼近用戶,我個人覺得可能后端工程師更靠近機(jī)器,我們更靠近用戶,所以我們需要更多的傾聽用戶的聲音,所以我覺得前端工程師是面向用戶的程序員。
InfoQ:目前云計(jì)算的實(shí)踐越來越多,您覺得云計(jì)算會給前端工程師或者前端開發(fā)帶來什么樣的影響或者變化?
小馬:現(xiàn)在很多人在談這個概念,包括淘寶的測試團(tuán)隊(duì),他們已經(jīng)推出云測試工程師,所以我覺得前端工程師以后可能會慢慢的轉(zhuǎn)化為云端工程師,因?yàn)樵谖业母杏X里面,云其實(shí)就是一個大的存儲的中心,一個計(jì)算服務(wù)中心,他能夠提供計(jì)算的能力,能夠提供存儲,能夠提供這些SERVICE。那瀏覽器呢,又是一個比較重要的連接云端的工具,不管是瀏覽器還是基于瀏覽器的OS,我覺得前端工程師具備很多技能,可以比較容易的轉(zhuǎn)換到云端工程師,我自己是覺得這是一個很好的發(fā)展前景。
InfoQ:最后一個問題,我們InfoQ的讀者,當(dāng)中有很多一部分,可能是從事這種前端的開發(fā),或者說以后有志于從事前端開發(fā)的,那么我想替他們問一個問題,因?yàn)槟翘詫毜牡谝晃磺岸斯こ處煟梢哉f是經(jīng)驗(yàn)非常豐富,您認(rèn)為一個優(yōu)秀的前端工程師,他應(yīng)該具備哪些的素質(zhì),或者您在招聘一個員工的時候,會看中他哪些特質(zhì)?
小馬:那我直接說招聘好了,我一般會比較注重他的從不同角度去思考問題的能力。因?yàn)榍岸司褪沁@樣,很多時候處理一個問題,其實(shí)有多套的方案,關(guān)鍵是怎么去權(quán)衡,找到最合適于這個需求的一個方案,所以我特別看中他們會有這種從不同角度去看問題的這樣一個能力;然后第二點(diǎn),因?yàn)榍岸舜_實(shí)是一個新的崗位,很多新的東西,我還是比較看重他的學(xué)習(xí)能力;另外還有一點(diǎn)就是他真的是熱愛前端的這樣的一個崗位。
it知識庫:淘寶UED技術(shù)負(fù)責(zé)人小馬暢談Web前端開發(fā),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。