隨着近幾年來RIA(Rich Internet Applications的縮寫,中文含義爲:豐富的因特網應用程式)的流行和普及,前端開發這個行業也開始備受關注。
前端開發的入門門檻其實很低,與伺服器端語言先慢後快的學習曲線相比,前端開發的學習曲線是先快後慢。Web前端開發核心技術主要包括HTML、CSS、JavaScript等。HTML僅僅是簡單的標示語言!CSS 只是無型別的樣式修飾語言。當然可以勉強算作弱型別語言。Javascript 的基礎部分相對來說不難,入手還算快。也正因爲如此,很多人認爲前端很簡單。其實不然,雖然前端開發領域有很多自學成「才」的同行,但大多數人都停留在會用的階段,因爲後面的學習曲線越來越陡峭,每前進一步都很難。
那麼,一名優秀的、甚至卓越的前端開發工程師應該具備什麼條件?
1、明確前端的工作內容
Web前端開發是一項很特殊的工作,涵蓋的知識面非常廣,既有具體的技術,又有抽象的理念。簡單地說,它的主要職能就是把網站的介面更好地呈現給使用者。前端作爲一個工作,其主要工作領域是瀏覽器端,核心技術包括 JavaScript,css,html 等。還要處理伺服器通訊,以及部分伺服器指令碼開發的工作,比如發佈、測試指令碼,jsp、php頁面指令碼。有時,還需要與產品經理、互動設計,共同完成一些互動設計。可以看出,前端處於設計與後臺的中間領域,起到承上啓下的作用。這也就要求前端工程師的知識面在橫向上必須要廣。伺服器技術要懂,產品與互動也要懂。所以經常有前端工程師稱自己遊走在設計與編碼的邊緣。
2、明確前端在專案開發中的必備技能
A. 全瀏覽器相容。後臺工程師、用戶端工程師,無論你們用什麼語言開發,都會有一套可以信賴的統一的介面(框架,或sdk)。前端?沒有!我們需要同時懂得至少三種瀏覽器內核的介面,還有面對各種莫名其妙的bug。
B. 優秀的Web前端開發工程師要在知識體系上既要有廣度和深度!做到這兩點,其實很難。
橫向技能面要廣。懂互動設計;懂視覺設計;略懂後臺技術;精通http協定;linux操作;shell;vim;git;svn;至少熟練使用一門後端語言(java,c#,php,python);至少使用過一個MVC開發框架,還有前端的各種開源專案(jquery,requirejs,seajs,bootstrap,yui,……);還要能夠靈活運用「物件導向」,「程序導向」,「函數式」的程式設計方法,否則很容易在JS這門靈活的語言中迷失自己;還要懂設計模式,和用戶端應用的常用架構模式。
縱向技能要深。Js、css、html5、css3、……
C. 優秀的Web前端開發工程師應該具備快速學習能力。Web發展的很快,甚至可以說這些技術幾乎每天都在變化!如果沒有快速學習能力,就跟不上Web發展的步伐。前端工程師必須不斷提升自己,不斷學習新技術、新模式;僅僅依靠今天的知識無法適應未來。Web的明天與今天必將有天壤之別,而前端工程師的工作就是要搞清楚如何通過自己的Web應用程式來體現這種翻天覆地的變化。說到這裏,我想起了一個大師說過的一句話:對於新手來說,新技術就是新技術。對於一個高手來說,新技術不過是舊技術的延伸。
D. 關注使用者體驗,懂得互動設計。幫助產品經理和互動設計師校驗錯誤是前端工程師的義務和責任。很多問題只有在實現時纔會發現,如果作爲實現者的你,沒有及時發現前置環節中出現的錯誤。那這些錯誤很可能最後直接交給使用者「欣賞」。有時,人手緊張,一個懂互動,懂產品的前端工程師可以一個人當三個人用。
3、明確前端需要儲備的知識結構
Web前端開發是一項很特殊的工作,涵蓋的知識面非常廣,既有具體的技術,又有抽象的理念。
總之,在這樣一個技術發展迅猛的時代,數聚傳媒秉承CARE2企業文化,力求緊緊跟隨時代的步伐,做出讓客戶滿意的頁面體驗效果,也要求數聚傳媒研發團隊的前端小夥伴們,爲成爲更優秀的高階前端開發工程師而努力着。