Web前端開(kāi)發(fā)工程師,主要職責(zé)是利用(X)HTML/CSS/JavaScript/Flash等各種Web技術(shù)進(jìn)行客戶(hù)端產(chǎn)品的開(kāi)發(fā)。完成客戶(hù)端程序(也就是瀏覽器端)的開(kāi)發(fā),開(kāi)發(fā)JavaScript以及Flash模塊,同時(shí)結(jié)合后臺(tái)開(kāi)發(fā)技術(shù)模擬整體效果,進(jìn)行豐富互聯(lián)網(wǎng)的Web開(kāi)發(fā),致力于通過(guò)技術(shù)改善用戶(hù)體驗(yàn)。
隨著互聯(lián)網(wǎng)的迅猛發(fā)展和普及,一個(gè)新型的行業(yè)和新興的職位正在上升到技術(shù)的層面:web前端開(kāi)發(fā)工程師。Web前端開(kāi)發(fā)工程師,除了主要職責(zé)外,還要為網(wǎng)站上提供的產(chǎn)品和服務(wù)實(shí)現(xiàn)的Web界面,優(yōu)化代碼并保持良好兼容性,配合后臺(tái)開(kāi)發(fā)人員實(shí)現(xiàn)產(chǎn)品界面和功能。精通HTML/XHTML、CSS,熟悉頁(yè)面架構(gòu)和布局,對(duì)Web標(biāo)準(zhǔn)和標(biāo)簽語(yǔ)義化有深入理解,熟悉Ajax、JavaScript(或者ActionScript)、DOM等前端技術(shù),掌握面向?qū)ο缶幊趟枷?,是一個(gè)Web前端開(kāi)發(fā)工程師所要掌握的基本語(yǔ)言。當(dāng)然,除了這些還遠(yuǎn)遠(yuǎn)不夠,還要對(duì)IT其他編程語(yǔ)言有所了解如:PHP,Java,.net!有一些公司還要求懂一點(diǎn)SEO優(yōu)化!
Web前端的學(xué)習(xí)路線(xiàn)
1 HTML
超文本標(biāo)記語(yǔ)言(HyperText Mark-up Language 簡(jiǎn)稱(chēng)HTML)是一個(gè)網(wǎng)頁(yè)的骨架,無(wú)論是靜態(tài)網(wǎng)頁(yè)還是動(dòng)態(tài)網(wǎng)頁(yè),最終返回到瀏覽器端的都是HTML代碼,瀏覽器將HTML代碼解釋渲染后呈現(xiàn)給用戶(hù)。因此,我們必須掌握HTML的基本結(jié)構(gòu)和常用標(biāo)記及屬性。
HTML的學(xué)習(xí)是一個(gè)記憶和理解的過(guò)程,在學(xué)習(xí)過(guò)程中可以借助Dreamweaver的“拆分”視圖輔助學(xué)習(xí)。在“設(shè)計(jì)”視圖中看效果,在“代碼”視圖中學(xué)本質(zhì),將各種視圖的優(yōu)勢(shì)發(fā)揮到機(jī)制,這種對(duì)照學(xué)習(xí)的方法彌補(bǔ)了單純識(shí)記HTML標(biāo)簽和屬性的枯燥乏味,想必對(duì)各位初學(xué)的小盆友們來(lái)說(shuō)必定是極好的!
在學(xué)習(xí)了HTML之后,我們只是掌握了各種“原材料”的制作方法,要想蓋一幢樓房就還需要把這些“原材料”按照我們?cè)O(shè)計(jì)的方案組合布局在一起并進(jìn)行一些樣式的美化。
2 CSS
于是進(jìn)入第二個(gè)階段——CSS的學(xué)習(xí)。
CSS是英文Cascading Style Sheets的縮寫(xiě),叫做層疊樣式表,是能夠真正做到網(wǎng)頁(yè)表現(xiàn)與內(nèi)容分離的一種樣式設(shè)計(jì)語(yǔ)言。相對(duì)于傳統(tǒng)HTML的表現(xiàn)而言其樣式是可以復(fù)用的,這樣就極大地提高了我們開(kāi)發(fā)的速度,降低了維護(hù)的成本。
同時(shí)CSS中的盒子模型、相對(duì)布局、覺(jué)對(duì)布局等能夠?qū)崿F(xiàn)對(duì)網(wǎng)頁(yè)中各對(duì)象的位置排版進(jìn)行像素級(jí)的精確控制。通過(guò)此階段的學(xué)習(xí),我們就可以順利完成“一幢樓房”的建設(shè)。
“樓房”建設(shè)完成之后,我們可以交給用戶(hù)使用,但是如果想讓用戶(hù)獲得更佳的體驗(yàn),我們還可以對(duì)“樓房”進(jìn)行更深一步的“裝修”,讓它看起來(lái)更“豪華”一些。
3 JavaScript
為了完成這個(gè)任務(wù),我們進(jìn)入第三個(gè)階段——JavaScript的學(xué)習(xí)。
JavaScript是一種在客戶(hù)端廣泛使用的腳步語(yǔ)言,在JavaScript當(dāng)中為我們提供了一些內(nèi)置函數(shù)、對(duì)象和DOM操作,借助這些內(nèi)容我們可以來(lái)實(shí)現(xiàn)一些客戶(hù)端的特效、驗(yàn)證、交互等,使我們的頁(yè)面看起來(lái)不那么呆板,屌絲瞬間逆襲高富帥!有么有?
此時(shí),也許你還沉浸在JavaScript給你帶來(lái)的驚喜之中,但你的項(xiàng)目經(jīng)理卻突然對(duì)你大吼道:
“這個(gè)效果在××瀏覽器下不兼容,重新搞……”
“不兼容?”瞬間石化了有木有?
“我擦,坑爹啊!那可是花了我一個(gè)晚上寫(xiě)了幾百行代碼搞定的啊,吐血了都!”
JavaScript的兼容性和復(fù)雜性有時(shí)候的確讓我們頭疼,還好有“大神”幫我們做了封裝。
4 jQUery
接下來(lái)我們進(jìn)入第四個(gè)階段——jQUery的學(xué)習(xí)。
jQuery是一個(gè)免費(fèi)、開(kāi)源的輕量級(jí)的JavaScript庫(kù),并且兼容各種瀏覽器(jQuery2.0及后續(xù)版本放棄了對(duì)IE6/7/8瀏覽器的支持),同時(shí)現(xiàn)在有很多基于jQuery的插件可供選擇。
這樣在我們實(shí)現(xiàn)一些豐富的動(dòng)態(tài)效果時(shí)更方便快捷,大大節(jié)省了我們開(kāi)發(fā)的時(shí)間,提高了開(kāi)發(fā)速度,這也充分體現(xiàn)了其write less,do more的核心宗旨。這個(gè)Feel倍兒爽!有么有?
“豪華大樓”至此拔地而起,但是每天這樣日復(fù)一日,年復(fù)一年的蓋樓,好繁瑣!能不能將大樓里面每一個(gè)單獨(dú)部件模塊化,當(dāng)需要蓋樓時(shí)就像堆積木一樣組合在一起,這樣豈不是爽歪歪?可以實(shí)現(xiàn)嗎?答案是肯定的。
5 前端框架
這種思想在Web前端開(kāi)發(fā)中也是適合的,于是乎就出現(xiàn)了各種前端框架,在這里推薦給大家的是Bootstrap。
Bootstrap是Twitter推出的一個(gè)開(kāi)源的用于前端開(kāi)發(fā)的工具包,是一個(gè)CSS/HTML框架,并且支持響應(yīng)式布局。一經(jīng)推出后頗受歡迎,一直是GitHub上的熱門(mén)開(kāi)源項(xiàng)目。
在項(xiàng)目開(kāi)發(fā)過(guò)程中,我們可以借助Bootstrap提供的CSS樣式、組件、JavaScript插件等快速的完成頁(yè)面布局和樣式設(shè)置,然后再有針對(duì)性的微調(diào)樣式,這樣基于框架進(jìn)行開(kāi)發(fā)大大縮短了開(kāi)發(fā)周期。站在巨人的肩膀上就是爽!
Web前端的學(xué)習(xí)建議
醉后給大家聊聊在學(xué)習(xí)Web前端中的一些建議和方法。
在CSS布局時(shí)需要注意的一個(gè)問(wèn)題是很多同學(xué)缺乏對(duì)頁(yè)面布局進(jìn)行整體分析,不能夠從宏觀(guān)上對(duì)頁(yè)面中盒子間的嵌套關(guān)系進(jìn)行把握,就急于動(dòng)手去做,導(dǎo)致頁(yè)面中各元素間的關(guān)系很混亂,容易出現(xiàn)盒子在浮動(dòng)時(shí)錯(cuò)位等情況。
建議大家在布局時(shí)采用“自頂向下,逐步細(xì)化”的思想,先用幾個(gè)盒子將頁(yè)面從整體上劃分,然后逐步在盒子中繼續(xù)嵌套盒子。
“君子生非異也,善假于物也”,在學(xué)習(xí)的過(guò)程中還要多瀏覽一些優(yōu)秀的網(wǎng)站,善于分析借鑒其設(shè)計(jì)思路和布局方法,見(jiàn)多方能識(shí)廣,進(jìn)而才可以融會(huì)貫通,取他人之長(zhǎng)為我所用。
同時(shí)還要善于使用Firebug這個(gè)利器。Firebug一方面可以在我們學(xué)習(xí)過(guò)程中幫助我們調(diào)試自己的頁(yè)面,另一方面我們可以使用Firebug方便地查看、分析別人網(wǎng)站的源代碼,“偷”也是一種技能!
隨著移動(dòng)互聯(lián)網(wǎng)熱潮的到來(lái),移動(dòng)開(kāi)發(fā)越來(lái)越受到大家的追捧,響應(yīng)式布局、微網(wǎng)站等需求量不斷增加,也是我們Web前端未來(lái)的發(fā)展方向之一,有余力的同學(xué)可以多多關(guān)注。