淘寶UED技術負責人小馬暢談Web前端開發

來源: InfoQ  發布時間: 2010-12-05 16:51  閱讀: 2166 次  推薦: 0   原文鏈接   [收藏]  
摘要:小馬(趙澤欣)是淘寶UED團隊的技術負責人,在Web開發領域有豐富的經驗。InfoQ編輯在QCon全球企業開發大會(北京站)期間,就Web框架選取標準、性能優化建議、前端工程師角色定位等相關問題對他作了專訪。

  InfoQ:小馬,請首先做一下自我介紹。

  小馬:大家好,我叫趙澤欣,在淘寶的花名是小馬,隸屬于淘寶UED部門,很榮幸能夠接受InfoQ的采訪,謝謝。

  InfoQ:小馬,現在Web開發相關的類庫特別多,請問淘寶在選擇Web框架做開發的時候,是從哪些角度來考慮的?能否給讀者朋友提供一些參考?

  小馬:的確如你所說,Web類庫五花八門。我們在做選擇的時候,主要基于以下這兩個方面:

  1. 想想是否真正符合自己的需求,有些類庫可能適合網站型應用,另一些可能適合數據型應用,所以其實還是有些區別的,這是第一點。
  2. 我覺得還要看人才或者是技術儲備的狀況。如果你的團隊里面沒有幾個特別熟悉這種類庫的人才,有時候會吃一些苦頭。

  像淘寶網當初選擇YUI也是基于這兩個因素考慮。因為淘寶的后端架構是基于JAVA的,而YUI是大多數框架里面,在文檔組織、代碼組織上最接近于JAVA的,比較容易得到開發人員的認可,然后功能也比較強大,組件比較豐富,再加上又有一個專業的雅虎團隊在維護,所以可靠性上也會比較強,因此當時選擇它。最重要的還是根據你自己的需求。

  InfoQ:目前淘寶UED團隊已經發展壯大,你們現在是基于YUI呢,還是有進一步的計劃?

  小馬:目前大部分還是基于YUI,因為已經用了很久了,也基于它做了很多改進和擴展。但是隨著淘寶飛速的發展,各種應用也越來越復雜,我們也慢慢感受到YUI的一些不足,YUI當然它自己也在發展,推出YUI 3的版本,也做了很多的改進。可是我們在用的過程中,覺得還是不太適合,不太適用于淘寶,所以我們也有計劃的在研發自己的框架,我們的框架叫做Kissy,我的同事玉伯主持這個項目,我們把它開源了,我們希望國內外更多的朋友能夠一起來豐富這個框架。

  InfoQ:我們知道前端很注重用戶體驗,比如響應時間等,現在有關Web性能優化的規范特別特多,我想問一下,以你的經驗來說,有哪一些建議比較重要?

  小馬:當初我們做性能優化,最主要還是基于雅虎的YSlow工具,他們專門有一個性能團隊,做了很多的研究,列出了很多優化的原則,我們剛開始還是拿來主義,學習他們,所以有幾條我覺得特別能夠立竿見影的方法。第一是把很多的腳本文件合并成一個文件,或者是把很多的CSS文件合并成一個文件,這樣能夠有效的減少HTTP的請求。然后盡可能把腳本放在頁面靠結束的部分,把CSS盡可能放在靠前的部分。以我的經驗,這些措施能夠很快讓用戶感受到速度的一個提升。如果要做更多的優化的話,那可以按照YSlow的規則去做,其實性能優化不光是前端的職責,有時候也需要后端的支持,比如說Cache,有時候是需要Apache或者http server的一些配置,其實性能需要整個公司里面各個團隊一起來配合。

  InfoQ:前端團隊除了注重性能之外,是否還有其他領域,比如安全性,淘寶是不是也很注重這方面的問題?

  小馬:我個人覺得其實安全性也是一個我們很關注的地方,因為現在很多安全性問題,可能都是以腳本作為跳板,很多也是基于瀏覽器來做一些攻擊。前端最熟悉瀏覽器,也是對腳本最為熟悉的一個崗位,所以很多時候,跟公司的安全技術部門交流的過程中,我們都希望從前端的角度給他們更多的建議。除了安全,我個人覺得,淘寶現在比較關注一些手持設備上面的前端研發,比如iPhone、iPad等。

  InfoQ:淘寶UED團隊目前關注哪些最新的Web前端技術?

  小馬:現在可能最熱門的就是HTML 5和CSS 3,但是很遺憾IE6、IE7這些瀏覽器還占據大量的市場份額,像淘寶基本上90%的用戶瀏覽器都還是IE系列。我們以前經常會有這種想法“反正用戶都用IE,這些新的東西用了也沒什么意義”,現在我們慢慢的覺得,還是要推動這個事情,所以HTML 5、CSS 3的一些新特性,我們都盡可能的去應用,而且我覺得效果非常的好。

  InfoQ:您作為淘寶前端團隊的負責人,如何定位前端工程師這樣一個角色?他的工作范圍跟其他的工程師,比如后臺開發工程師、還有一些專門做頁面設計的工程師,有何區分?

  小馬:這個問題我們自己內部也有討論過,我想了很久,提出一個定位,當然也是這個團隊大家一起的思考成果,我們覺得前端是面向用戶的程序,首先還是程序,我們也要編碼,我們也要具備嚴謹好學的特質,另外一點,我們跟很其他后端開發工程師有一些區別,就是可能我們更貼近用戶,我個人覺得可能后端工程師更靠近機器,我們更靠近用戶,所以我們需要更多的傾聽用戶的聲音,所以我覺得前端工程師是面向用戶的程序員。

  InfoQ:目前云計算的實踐越來越多,您覺得云計算會給前端工程師或者前端開發帶來什么樣的影響或者變化?

  小馬:現在很多人在談這個概念,包括淘寶的測試團隊,他們已經推出云測試工程師,所以我覺得前端工程師以后可能會慢慢的轉化為云端工程師,因為在我的感覺里面,云其實就是一個大的存儲的中心,一個計算服務中心,他能夠提供計算的能力,能夠提供存儲,能夠提供這些SERVICE。那瀏覽器呢,又是一個比較重要的連接云端的工具,不管是瀏覽器還是基于瀏覽器的OS,我覺得前端工程師具備很多技能,可以比較容易的轉換到云端工程師,我自己是覺得這是一個很好的發展前景。

  InfoQ:最后一個問題,我們InfoQ的讀者,當中有很多一部分,可能是從事這種前端的開發,或者說以后有志于從事前端開發的,那么我想替他們問一個問題,因為您是淘寶的第一位前端工程師,可以說是經驗非常豐富,您認為一個優秀的前端工程師,他應該具備哪些的素質,或者您在招聘一個員工的時候,會看中他哪些特質?

  小馬:那我直接說招聘好了,我一般會比較注重他的從不同角度去思考問題的能力。因為前端就是這樣,很多時候處理一個問題,其實有多套的方案,關鍵是怎么去權衡,找到最合適于這個需求的一個方案,所以我特別看中他們會有這種從不同角度去看問題的這樣一個能力;然后第二點,因為前端確實是一個新的崗位,很多新的東西,我還是比較看重他的學習能力;另外還有一點就是他真的是熱愛前端的這樣的一個崗位。

0
0
 
標簽:淘寶 UED
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()