網(wǎng)站開發(fā)開發(fā)大致分為前端和后端,前端主要負責實現(xiàn)視覺和交互效果,以及與服務(wù)器通信,完成業(yè)務(wù)邏輯。其核心價值在于對用戶體驗的追求。如果你現(xiàn)在是零基礎(chǔ)學員,大致可以按如下思路學習系統(tǒng)學習:
基礎(chǔ)部分
1、HTML + CSS 這部分學習,可以模仿一些網(wǎng)站做些頁面。在實踐中積累了一些經(jīng)驗后,可以系統(tǒng)的讀一兩本書,推薦《Head First HTML 與 CSS 中文版》,這本書講的太細了,我沒能拿出耐心細讀。你可以根據(jù)情況斟酌。
2、Javascript 要學的內(nèi)容實在很多,如果沒有其他編程語言的基礎(chǔ)的話,學起來可能要費些力,建議馬上看《Javascript語言精粹》,JS是一門很混亂的語言,這本書能夠幫助你區(qū)分哪些是語言的精華,哪些是糟粕,對于語言精華,應該深入學習。糟粕部分能看懂別人寫的代碼就行,自己就不用嘗試了。
進階部分
有了以上基礎(chǔ),就可以進行一般的靜態(tài)網(wǎng)頁設(shè)計,不過對于復雜的頁面還需要進一步學習。
1、CSS。必看《精通CSS》,看完這本書你應該對:盒子模型,流動,Block,inline,層疊,樣式優(yōu)先級,等概念非常了解了。作為練習可以看下《CSS藝門之匠》這本書,它對標題,背景,圓角,導航條,table,表單等主題都有詳細的介紹。
2、Javascript。上面提到內(nèi)容還不足以讓你勝任JS編程。在有了基礎(chǔ)之后,進一步學習內(nèi)容包括:
a) 框架。
推薦jQuery,簡單易用,學習方法也很簡單,照著產(chǎn)品文檔做幾個頁面就行了,不用面面俱到,以后遇到問題查文檔就行了。框架可以幫你屏蔽瀏覽器的差異性,讓你能更專注與Web開發(fā)學習的精髓部分。補充: 可以使用 Codecademy 學習 Javascript,jQuery,用戶體驗真的很好(感謝 TonyOuyang )。
b) Javascript 語言范式 。這個名字可能并不恰當,只是我找不到可以描述“面向?qū)ο蟆?,“函?shù)式”這個兩個概念的概念。Javascript不完全是一個面向?qū)ο蟮恼Z言,它的很多設(shè)計理念都有函數(shù)編程語言的影子,甚至說如果你不用面向?qū)ο?,完全可以把它理解成一門函數(shù)式編程語言。
Javascript的很多語言特性,都是因為他具有函數(shù)式語言的特點才存在的。這部分推薦先學習面向?qū)ο蟮幕纠碚摚瑢Ψ庋b,繼承,多態(tài)等概念要理解,維基百科,百度百科會是你的幫手,另外推薦《Object Oriented Javascript》,應該有中文版。對與函數(shù)式編程我了解的也不系統(tǒng),不好多說,可以自己百度一下。
c) Javascript 語言內(nèi)部機制。必須弄清如下概念:JS 中變量的作用域,變量傳遞方式,函數(shù)的定義環(huán)境與執(zhí)行環(huán)境,閉包,函數(shù)的四種調(diào)用方式(一般函數(shù),對象的方法,apply,call),以及四種調(diào)用方式下,‘this’指向的是誰。這部分內(nèi)容你會在《Javascript語言精粹》中詳細了解。另外,你必須理解 json。
d) dom編程,這個Web前端工程師的核心技能之一。必讀《Dom編程藝術(shù)》,另外《高性能 Javascript》這本書中關(guān)于dom編程的部分講的也很好。
e) Ajax編程,這是另一核心技術(shù)。Ajax建議在網(wǎng)上查些資料,了解這個概念的來龍去脈,百度百科,維基百科上的內(nèi)容就足夠了。真正編程是很容易的,如今幾乎所有框架都對Ajax有良好的封裝,編程并不復雜。
f) 了解瀏覽器差異性。這部分包括CSS和js兩部分,瀏覽器差異內(nèi)容很多,建議在實踐中多多積累。另外對于瀏覽器的渲染模式,DOCTYPE等內(nèi)容應該系統(tǒng)學習。
我們堅持小班教學,課程系統(tǒng)化。這樣做的優(yōu)勢就是,你接收到的是專業(yè),系統(tǒng)化得培訓,相比那些業(yè)余零零散散學習的內(nèi)容,對你以后的提升也是有很大的幫助的。