Web前端開發(fā)工程師是一個(gè)很新的職業(yè),在國(guó)內(nèi)乃至國(guó)際上真正開始受到重視的時(shí)間不超過5年。Web前端開發(fā)是從網(wǎng)頁(yè)制作演變而來(lái)的,名稱上有很明顯的時(shí)代特征。在互聯(lián)網(wǎng)的演化進(jìn)程中,網(wǎng)頁(yè)制作是Web 1.0時(shí)代的產(chǎn)物,那時(shí)網(wǎng)站的主要內(nèi)容都是靜態(tài)的,用戶使用網(wǎng)站的行為也以瀏覽為主。
2005年以后,互聯(lián)網(wǎng)進(jìn)入Web 2.0時(shí)代,各種類似桌面軟件的Web應(yīng)用大量涌現(xiàn),網(wǎng)站的前端由此發(fā)生了翻天覆地的變化。網(wǎng)頁(yè)不再只是承載單一的文字和圖片,各種富媒體讓網(wǎng)頁(yè)的內(nèi)容更加生動(dòng),網(wǎng)頁(yè)上軟件化的交互形式為用戶提供了更好的使用體驗(yàn),這些都是基于前端技術(shù)實(shí)現(xiàn)的。
隨著Web 2.0概念的普及和W3C組織的推廣,網(wǎng)站重構(gòu)的影響力正以驚人的速度增長(zhǎng)。XHTML+CSS布局、DHTML和Ajax像一陣旋風(fēng),鋪天蓋地席卷而來(lái),包括新浪、搜狐、網(wǎng)易、騰訊、淘寶等在內(nèi)的各種規(guī)模的IT企業(yè)都對(duì)自己的網(wǎng)站進(jìn)行了重構(gòu)。
為什么它們會(huì)對(duì)自己的網(wǎng)站進(jìn)行重構(gòu)呢?有兩個(gè)方面的原因:
第一,根據(jù)W3C標(biāo)準(zhǔn)進(jìn)行重構(gòu)后,可以讓前端的代碼組織更有序,顯著改善網(wǎng)站的性能,還能提高可維護(hù)性,對(duì)搜索引擎也更友好;
第二,重構(gòu)后的網(wǎng)站能帶來(lái)更好的用戶體驗(yàn),用XHTML+CSS重新布局后的頁(yè)面,文件更小,下載速度更快。
網(wǎng)站重構(gòu)的目的僅僅是為了讓網(wǎng)頁(yè)更符合Web標(biāo)準(zhǔn)嗎?不是!重構(gòu)的本質(zhì)是構(gòu)建一個(gè)前端靈活的MVC框架,即HTML作為信息模型(Model),CSS控制樣式(View),JavaScript負(fù)責(zé)調(diào)度數(shù)據(jù)和實(shí)現(xiàn)某種展現(xiàn)邏輯(Controller)。同時(shí),代碼需要具有很好的復(fù)用性和可維護(hù)性。這是高效率、高質(zhì)量開發(fā)以及協(xié)作開發(fā)的基礎(chǔ)。
DHTML可以讓用戶的操作更炫,更吸引眼球;Ajax可以實(shí)現(xiàn)無(wú)刷新的數(shù)據(jù)交換,讓用戶的操作更流暢。對(duì)于普通用戶來(lái)說(shuō),一個(gè)網(wǎng)站是否專業(yè)、功能是否強(qiáng)大,服務(wù)器端是用J2EE+Oracle的強(qiáng)大組合,還是用ASPx+Access的簡(jiǎn)單組合,并沒有太明顯的區(qū)別。但是,前端的用戶體驗(yàn)卻給了用戶直觀的印象。隨著人們對(duì)用戶體驗(yàn)的要求越來(lái)越高,前端開發(fā)的技術(shù)難度越來(lái)越大,Web前端開發(fā)工程師這一職業(yè)終于從設(shè)計(jì)和制作不分的局面中獨(dú)立出來(lái)。