零基礎(chǔ)開始學(xué) Web 前端開發(fā),有什么建議嗎
如果你只想當(dāng)一個(gè)普通的前端程序員,你只需要記住大部分 Javascript 函數(shù),做一些練習(xí)就可以了。
如果你想當(dāng)深入了解Javascript,你需要了解 Javascript 的原理,機(jī)制。需要知道他們的本源,需要深刻了解 Javascript 基于對(duì)象的本質(zhì)。
還需要 深刻了解 瀏覽器宿主 下 的 Javascript 的行為、特性。
因?yàn)闅v史原因,Javascript一直不被重視,有點(diǎn)像被收養(yǎng)的一般! 所以他有很多缺點(diǎn),各個(gè)宿主環(huán)境下的行為不統(tǒng)一、內(nèi)存溢出問題、執(zhí)行效率低下等問題。
作為一個(gè)優(yōu)秀的前端工程師還需要深入了解、以及學(xué)會(huì)處理 Javascript 的這些缺陷。
那么一名優(yōu)秀的、甚至卓越的 前端開發(fā)工程師的具備什么條件?
首先,優(yōu)秀的Web前端開發(fā)工程師要在知識(shí)體系上既要有廣度和深度!做到這兩點(diǎn),其實(shí)很難。所以很多大公司即使出高薪也很難招聘到理想的前端開發(fā)工程師。技術(shù)非黑即白,只有對(duì)和錯(cuò),而技巧則見仁見智。
在以前,會(huì)一點(diǎn)Photoshop和Dreamweaver的操作,就可以制作網(wǎng)頁。
現(xiàn)在,只掌握這些已經(jīng)遠(yuǎn)遠(yuǎn)不夠了。無論是開發(fā)難度上,還是開發(fā)方式上,現(xiàn)在的網(wǎng)頁制作都更接近傳統(tǒng)的網(wǎng)站后臺(tái)開發(fā),所以現(xiàn)在不再叫網(wǎng)頁制作,而是叫Web前端開發(fā)。
Web前端開發(fā)在產(chǎn)品開發(fā)環(huán)節(jié)中的作用變得越來越重要,而且需要專業(yè)的前端工程師才能做好。
Web前端開發(fā)是一項(xiàng)很特殊的工作,涵蓋的知識(shí)面非常廣,既有具體的技術(shù),又有抽象的理念。簡(jiǎn)單地說,它的主要職能就是把網(wǎng)站的界面更好地呈現(xiàn)給用戶。
其次,優(yōu)秀的Web前端開發(fā)工程師應(yīng)該具備快速學(xué)習(xí)能力。Web發(fā)展的很快,甚至可以說這些技術(shù)幾乎每天都在變化!如果沒有快速學(xué)習(xí)能力,就跟不上Web發(fā)展的步伐。前端工程師必須不斷提升自己,不斷學(xué)習(xí)新技術(shù)、新模式;僅僅依靠今天的知識(shí)無法適應(yīng)未來。Web的明天與今天必將有天壤之別,而前端工程師的工作就是要搞清楚如何通過自己的Web應(yīng)用程序來體現(xiàn)這種翻天覆地的變化。
說到這里,我想起了一個(gè)大師說過的一句話:對(duì)于新手來說,新技術(shù)就是新技術(shù)。
對(duì)于一個(gè)高手來說,新技術(shù)不過是就技術(shù)的延伸。
再者,優(yōu)秀的前端工程師需要具備良好的溝通能力,因?yàn)榍岸斯こ處熤辽俣家獫M足四類客戶的需求。
1、產(chǎn)品經(jīng)理。這些是負(fù)責(zé)策劃應(yīng)用程序的一群人。他們會(huì)想出很多新鮮的、奇怪的、甚至是不可是實(shí)現(xiàn)的應(yīng)用。一般來說,產(chǎn)品經(jīng)理都追求豐富的功能。
2、UI設(shè)計(jì)師。這些人負(fù)責(zé)應(yīng)用程序的視覺設(shè)計(jì)和交互模擬。他們關(guān)心的是用戶對(duì)什么敏感、交互的一貫性以及整體的好用性。一般來說,UI設(shè)計(jì)師于流暢靚麗、但并不容易實(shí)現(xiàn)的用戶界面,而且他們經(jīng)常不滿前端工程師造成 1px 的誤差。
3、項(xiàng)目經(jīng)理。這些人負(fù)責(zé)實(shí)際地運(yùn)行和維護(hù)應(yīng)用程序。項(xiàng)目管理的主要關(guān)注點(diǎn),無外乎正常運(yùn)行時(shí)間、應(yīng)用程序始終正常可用的時(shí)間、性能和截止日期。項(xiàng)目經(jīng)理追求的目標(biāo)往往是盡量保持事情的簡(jiǎn)單化,以及不在升級(jí)更新時(shí)引入新問題。
4、最終用戶。指的是應(yīng)用程序的主要消費(fèi)者。盡管前端工程師不會(huì)經(jīng)常與最終用戶打交道,但他們的反饋意見至關(guān)重要。最終用戶要求最多的就是對(duì)個(gè)人有用的功能,以及競(jìng)爭(zhēng)性產(chǎn)品所具備的功能。
Yahoo 公司 ,YUI 的開發(fā)工程師 Nicholas C. Zakas 認(rèn)為:
前端工程師是計(jì)算機(jī)科學(xué)職業(yè)領(lǐng)域中最復(fù)雜的一個(gè)工種。絕大多數(shù)傳統(tǒng)的編程思想已經(jīng)不適用了,為了在多種平臺(tái)中使用,多種技術(shù)都借鑒了大量軟科學(xué)的知識(shí)和理念。成為優(yōu)秀前端工程師所要具備的專業(yè)技術(shù),涉及到廣闊而復(fù)雜的領(lǐng)域,這些領(lǐng)域又會(huì)因?yàn)槟阕罱K必須服務(wù)的各方的介入而變得更加復(fù)雜。專業(yè)技術(shù)可能會(huì)引領(lǐng)你進(jìn)入成為前端工程師的大門,但只有運(yùn)用該技術(shù)創(chuàng)造的應(yīng)用程序以及你跟他人并肩協(xié)同的能力,才會(huì)真正讓你變得優(yōu)秀。
————————————
關(guān)于書籍:
HTML、CSS 類別書籍,都是大同小異,在當(dāng)當(dāng)網(wǎng)、卓越網(wǎng)搜索一下很多推薦。如果感覺學(xué)的差不多了,可以關(guān)注一下《CSS禪意花園》,這個(gè)很有影響力。
Javascript 的書籍 推薦看老外寫的,國(guó)內(nèi)很多 Javascript 書籍的作者對(duì) Javascript 語言了解的都不是很透徹。
這里推薦幾本 Javascript 書籍:
初級(jí)讀物:
《JavaScript高級(jí)程序設(shè)計(jì)》:一本非常完整的經(jīng)典入門書籍,被譽(yù)為JavaScript圣經(jīng)之一,詳解的非常詳細(xì),最新版第三版已經(jīng)發(fā)布了,建議購(gòu)買。