前端開發(fā)工程師是一個很新的職業(yè),在國內(nèi)乃至國際上真正開始受到重視的時間不超過5年,是指Web前端開發(fā)工程師的簡稱。 Web前端開發(fā)是從美工演變而來的,名稱上有很明顯的時代特征。在互聯(lián)網(wǎng)的演化進程中,Web 1.0時代,網(wǎng)站的主要內(nèi)容都是靜態(tài)的,用戶使用網(wǎng)站的行為也以瀏覽為主。2005年以后,互聯(lián)網(wǎng)進入Web 2.0時代,各種類似桌面軟件的Web應用大量涌現(xiàn),網(wǎng)站的前端由此發(fā)生了翻天覆地的變化。網(wǎng)頁不再只是承載單一的文字和圖片,各種富媒體讓網(wǎng)頁的內(nèi)容更加生動,網(wǎng)頁上軟件化的交互形式為用戶提供了更好的使用體驗,這些都是基于前端技術實現(xiàn)的。
隨著Web 2.0概念的普及和W3C組織的推廣,網(wǎng)站重構的影響力正以驚人的速度增長。XHTML+CSS布局、DHTML和Ajax像一陣旋風,鋪天蓋地席卷而來,包括新浪、搜狐、網(wǎng)易、騰訊、淘寶等在內(nèi)的各種規(guī)模的IT企業(yè)都對自己的網(wǎng)站進行了重構。
網(wǎng)站重構折疊編輯本段
優(yōu)化 折疊
根據(jù)W3C標準進行重構后,可以讓前端的代碼組織更有序,顯著改善網(wǎng)站的性能,提高網(wǎng)站訪問速度,還能提高可維護性,對搜索引擎也更友好;
加速 折疊
重構后的網(wǎng)站能帶來更好的用戶體驗,用XHTML+CSS重新布局后的頁面,文件更小,下載速度更快。
目的 折疊
網(wǎng)站重構的目的僅僅是為了讓網(wǎng)頁更符合Web標準嗎?不是!重構的本質是構建一個前端靈活的MVC框架,即HTML作為信息模型(Model),CSS控制樣式(View),JavaScript負責調(diào)度數(shù)據(jù)和實現(xiàn)某種展現(xiàn)邏輯(Controller)。同時,代碼需要具有很好的復用性和可維護性。這是高效率、高質量開發(fā)以及協(xié)作開發(fā)的基礎。
DHTML可以讓用戶的操作更炫,更吸引眼球;Ajax可以實現(xiàn)無刷新的數(shù)據(jù)交換,讓用戶的操作更流暢。對于普通用戶來說,一個網(wǎng)站是否規(guī)范、功能是否強大,服務器端是用J2EE+Oracle的強大組合,還是用ASP+Access的簡單組合,并沒有太明顯的區(qū)別。但是,前端的用戶體驗卻給了用戶直觀的印象。
隨著人們對用戶體驗的要求越來越高,前端開發(fā)的技術難度越來越大,Web前端開發(fā)工程師這一職業(yè)終于從設計和制作不分的局面中獨立出來。
三要素折疊編輯本段
Web前端開發(fā)技術包括三個要素:HTML、CSS和JavaScript,但隨著RIA的流行和普及,F(xiàn)lash/Flex、Silverlight、XML和服務器端語言也是前端開發(fā)工程師應該掌握的。Web前端開發(fā)工程師既要與上游的交互設計師、視覺設計師和產(chǎn)品經(jīng)理溝通,又要與下游的服務器端工程師溝通,需要掌握的技能非常多。這就從知識的廣度上對Web前端開發(fā)工程師提出了要求。如果要精于前端開發(fā)這一行,也許要先精十行。然而,全才總是少有的。所以,對于不太重要的知識,我們只需要“通”即可。但“通”到什么程度才算夠用呢?對于很多初級前端開發(fā)工程師來說,這個問題是非常令人迷惑的。
前端開發(fā)的入門門檻其實非常低,與服務器端語言先慢后快的學習曲線相比,前端開發(fā)的學習曲線是先快后慢。所以,對于從事IT工作的人來說,前端開發(fā)是個不錯的切入點。也正因為如此,前端開發(fā)領域有很多自學成“才”的同行,但大多數(shù)人都停留在會用的階段,因為后面的學習曲線越來越陡峭,每前進一步都很難。另一方面,正如前面所說,前端開發(fā)是個非常新的職業(yè),對一些規(guī)范和最佳實踐的研究都處于探索階段??傆行碌撵`感和技術不時閃現(xiàn)出來,例如CSS sprite、負邊距布局、柵格布局等;各種JavaScript框架層出不窮,為整個前端開發(fā)領域注入了巨大的活力;瀏覽器大戰(zhàn)也越來越白熱化,跨瀏覽器兼容方案依然是五花八門。為了滿足“高可維護性”的需要,需要更深入、更系統(tǒng)地去掌握前端知識,這樣才可能創(chuàng)建一個好的前端架構,保證代碼的質量。
掌握技術折疊編輯本段
1.掌握各種修圖軟件,如PSAI,不要求專業(yè)設計師水平,但要會用會改,今天是一專多能的時代,光會編程討不飯碗的,熟悉Adobe系列圖形圖像工具。
2.掌握JS、Jquery等相關前端主流腳本語言技術,這是前端工程師的最核心技能,該技術除了能幫助實現(xiàn)各種頁面效果以外,還能提高系統(tǒng)穩(wěn)定性,促進系統(tǒng)更加符合需求、更加優(yōu)雅、更加友好。
3.精通DW,能制作網(wǎng)頁;和普通的網(wǎng)頁設計師不同的是:一般的網(wǎng)頁設計師要求有過硬的交互設計和UI美化能力,而前端研發(fā)更加注重前端執(zhí)行的靈活性和高效性,比較側重編碼能力。
4.精通一二種模板語言,并能修改,如織夢或wordpress的模板。
5.掌握thinkphp與zend框架,能修改此類開源源碼。
6.掌握html5與sencha,這是做手機等移動設備的頁面前端技術。
7.能夠熟悉或掌握一些主流動態(tài)網(wǎng)頁技術,如:PHP、.NET、JSP等。