如何成為一名優(yōu)秀的web前端工程師(前端攻城師)脓匿?

我所遇到的前端程序員分兩種:

  第一種一直在問:如何學(xué)習(xí)前端?

  第二種總說:前端很簡單宦赠,就那么一點(diǎn)東西陪毡。

我從沒有聽到有人問:如何做一名優(yōu)秀米母、甚至卓越的WEB前端工程師。

何為:前端工程師毡琉?

  前端工程師铁瞒,也叫Web前端開發(fā)工程師。他是隨著web發(fā)展桅滋,細(xì)分出來的行業(yè)慧耍。

  Web前端開發(fā)技術(shù)主要包括三個(gè)要素:HTML、CSS和JavaScript丐谋!

它要求前端開發(fā)工程師不僅要掌握基本的Web前端開發(fā)技術(shù)芍碧,網(wǎng)站性能優(yōu)化、SEO和服務(wù)器端的基礎(chǔ)知識号俐,而且要學(xué)會(huì)運(yùn)用各種工具進(jìn)行輔助開發(fā)以及理論層面的知識泌豆,包括代碼的可維護(hù)性、組件的易用性吏饿、分層語義模板和瀏覽器分級支持等踪危。

  隨著近兩三年來RIA(Rich Internet Applications的縮寫,中文含義為:豐富的因特網(wǎng)應(yīng)用程序)的流行和普及帶來的諸如:Flash/Flex猪落,Silverlight贞远、XML和服務(wù)器端語言(PHP、ASP.NET笨忌,JSP蓝仲、Python)等語言,前端開發(fā)工程師也需要掌握蜜唾。

  前端開發(fā)的入門門檻其實(shí)很低杂曲,與服務(wù)器端語言先慢后快的學(xué)習(xí)曲線相比,前端開發(fā)的學(xué)習(xí)曲線是先快后慢袁余。

  HTML 甚至不是一門語言擎勘,他僅僅是簡單的標(biāo)記語言!

  CSS 只是無類型的樣式修飾語言颖榜。當(dāng)然可以勉強(qiáng)算作弱類型語言棚饵。

  Javascript 的基礎(chǔ)部分相對來說不難,入手還算快掩完。

  也正因?yàn)槿绱嗽胙岸碎_發(fā)領(lǐng)域有很多自學(xué)成“才”的同行,但大多數(shù)人都停留在會(huì)用的階段且蓬,因?yàn)楹竺娴膶W(xué)習(xí)曲線越來越陡峭欣硼,每前進(jìn)一步都很難。

  Web前端技術(shù)有一些江湖氣恶阴,知識點(diǎn)過于瑣碎诈胜,技術(shù)價(jià)值觀的博弈也難分伯仲豹障,即全局的系統(tǒng)的知識結(jié)構(gòu)并未成體系,這些因素也客觀上影響了“正統(tǒng)“前端技術(shù)的沉淀焦匈!而且各種“奇技淫巧”被濫用血公,前端技術(shù)知識的傳承也過于泛泛,新人難看清時(shí)局把握主次缓熟。因此累魔,前端技術(shù)領(lǐng)域,為自己覓得一個(gè)靠譜的師兄够滑,重要性要蓋過項(xiàng)目垦写、團(tuán)隊(duì)、公司彰触、甚至薪水梯澜。

  另一方面,正如前面所說渴析,前端開發(fā)是個(gè)非常新的職業(yè),對一些規(guī)范和最佳實(shí)踐的研究都處于探索階段吮龄。

  總有新的靈感和技術(shù)不時(shí)閃現(xiàn)出來俭茧,例如CSS sprite、負(fù)邊距布局漓帚、柵格布局等母债;

  各種JavaScript框架層出不窮,為整個(gè)前端開發(fā)領(lǐng)域注入了巨大的活力尝抖;

  瀏覽器大戰(zhàn)也越來越白熱化毡们,跨瀏覽器兼容方案依然是五花八門。

  為了滿足“高可維護(hù)性”的需要昧辽,需要更深入衙熔、更系統(tǒng)地去掌握前端知識,這樣才可能創(chuàng)建一個(gè)好的前端架構(gòu)搅荞,保證代碼的質(zhì)量红氯。

  隨著手持設(shè)備的迅猛發(fā)展,帶動(dòng)了HTML5行業(yè)標(biāo)準(zhǔn)的快速發(fā)展咕痛。web領(lǐng)域的技術(shù)痢甘,大概有10年都沒有大的更新了!

  現(xiàn)在市場很需要優(yōu)秀的茉贡、高級的前端工程師塞栅。

  一方面是因?yàn)檫@是一個(gè)比較新的細(xì)分行業(yè),而且前端程序員大都自學(xué)一部分腔丧,知識結(jié)構(gòu)不系統(tǒng)放椰;另一方面作烟,大學(xué)里面沒有這種課程,最最重要的是:北大青鳥這類培訓(xùn)機(jī)構(gòu)也沒有專門的前端工程師的培訓(xùn)課程W病俗壹!

  吳亮在《JavaScript 王者歸來》第一張的序里面說:大多數(shù)程序員認(rèn)為 Javascript 過于簡陋,只適合一些網(wǎng)頁上面花哨的表現(xiàn)藻烤,所以不愿花費(fèi)精力去學(xué)習(xí)绷雏,或者以為不學(xué)習(xí)就能掌握。

  實(shí)際上怖亭,一門語言是否腳本語言涎显,往往是她的設(shè)計(jì)目標(biāo)決定,簡單與復(fù)雜并不是區(qū)分腳本語言和非腳本語言的標(biāo)準(zhǔn)兴猩。

  事實(shí)上期吓,在腳本語言里面,Javascript 屬于相當(dāng)復(fù)雜的一門語言倾芝,他的復(fù)雜度即使放在非腳本語言中來衡量讨勤,也是一門相當(dāng)復(fù)雜的語言!

Javascript 的復(fù)雜度不遜色于 Perl 和 Python晨另!

如何學(xué)習(xí)前端知識潭千?

我們生活在一個(gè)充滿規(guī)則的宇宙里面。社會(huì)秩序按照規(guī)則運(yùn)行借尿,計(jì)算機(jī)語言幾乎全部是規(guī)則的集合刨晴。計(jì)算機(jī)前輩們定義規(guī)則,規(guī)則約束我們路翻,我們用規(guī)則控制數(shù)據(jù)狈癞。大部分時(shí)候,對數(shù)據(jù)的合理控制茂契,來自于你對規(guī)則的掌握蝶桶。

  學(xué)習(xí) HTML,CSS 應(yīng)該先跟著書仔細(xì)掉冶、扎實(shí)的學(xué)一遍莫瞬。然后就需要做大量的練習(xí),做各種常規(guī)的郭蕉、奇怪的疼邀、大量的布局練習(xí)來捆固、理解自己的知識召锈。

  而學(xué)習(xí) Javascript 首先要知道這門語言可以做什么旁振,不能做什么,擅長做什么,不擅長做什么拐袜!

  如果你只想當(dāng)一個(gè)普通的前端程序員吉嚣,你只需要記住大部分 Javascript 函數(shù),做一些練習(xí)就可以了蹬铺。

  如果你想當(dāng)深入了解Javascript尝哆,你需要了解 Javascript 的原理,機(jī)制甜攀。需要知道他們的本源秋泄,需要深刻了解 Javascript 基于對象的本質(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ā)工程師要在知識體系上既要有廣度和深度逢并!做到這兩點(diǎn)之剧,其實(shí)很難。所以很多大公司即使出高薪也很難招聘到理想的前端開發(fā)工程師砍聊。技術(shù)非黑即白背稼,只有對和錯(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)站后臺開發(fā),所以現(xiàn)在不再叫網(wǎng)頁制作,而是叫Web前端開發(fā)球化。

  Web前端開發(fā)在產(chǎn)品開發(fā)環(huán)節(jié)中的作用變得越來越重要秽晚,而且需要專業(yè)的前端工程師才能做好。

  Web前端開發(fā)是一項(xiàng)很特殊的工作筒愚,涵蓋的知識面非常廣赴蝇,既有具體的技術(shù),又有抽象的理念巢掺。簡單地說句伶,它的主要職能就是把網(wǎng)站的界面更好地呈現(xiàn)給用戶。

  其次址遇,優(yōu)秀的Web前端開發(fā)工程師應(yīng)該具備快速學(xué)習(xí)能力熄阻。Web發(fā)展的很快,甚至可以說這些技術(shù)幾乎每天都在變化倔约!如果沒有快速學(xué)習(xí)能力秃殉,就跟不上Web發(fā)展的步伐。前端工程師必須不斷提升自己浸剩,不斷學(xué)習(xí)新技術(shù)钾军、新模式;僅僅依靠今天的知識無法適應(yīng)未來绢要。Web的明天與今天必將有天壤之別吏恭,而前端工程師的工作就是要搞清楚如何通過自己的Web應(yīng)用程序來體現(xiàn)這種翻天覆地的變化。

  說到這里重罪,我想起了一個(gè)大師說過的一句話:對于新手來說樱哼,新技術(shù)就是新技術(shù)。

  對于一個(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)心的是用戶對什么敏感平绩、交互的一貫性以及整體的好用性圈匆。一般來說,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)往往是盡量保持事情的簡單化,以及不在升級更新時(shí)引入新問題报咳。

4侠讯、最終用戶。指的是應(yīng)用程序的主要消費(fèi)者暑刃。盡管前端工程師不會(huì)經(jīng)常與最終用戶打交道厢漩,但他們的反饋意見至關(guān)重要。最終用戶要求最多的就是對個(gè)人有用的功能岩臣,以及競爭性產(chǎn)品所具備的功能溜嗜。

Yahoo 公司 ,YUI 的開發(fā)工程師 Nicholas C. Zakas 認(rèn)為:

  前端工程師是計(jì)算機(jī)科學(xué)職業(yè)領(lǐng)域中最復(fù)雜的一個(gè)工種架谎。絕大多數(shù)傳統(tǒng)的編程思想已經(jīng)不適用了炸宵,為了在多種平臺中使用,多種技術(shù)都借鑒了大量軟科學(xué)的知識和理念狐树。成為優(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 的書籍 推薦看老外寫的麸塞,國內(nèi)很多 Javascript 書籍的作者對 Javascript 語言了解的都不是很透徹秃臣。

  這里推薦幾本 Javascript 書籍:

初級讀物:

《JavaScript高級程序設(shè)計(jì)》:一本非常完整的經(jīng)典入門書籍,被譽(yù)為JavaScript圣經(jīng)之一哪工,詳解的非常詳細(xì)奥此,最新版第三版已經(jīng)發(fā)布了,建議購買雁比。

《JavaScript王者歸來》百度的一個(gè)Web開發(fā)項(xiàng)目經(jīng)理寫的稚虎,作為初學(xué)者準(zhǔn)備的入門級教程也不錯(cuò)。

中級讀物:

《JavaScript權(quán)威指南》:另外一本JavaScript圣經(jīng)偎捎,講解的也非常詳細(xì)蠢终,屬于中級讀物,建議購買鸭限。

《JavaScript.The.Good.Parts》:Yahoo大牛蜕径,JavaScript精神領(lǐng)袖Douglas Crockford的大作,雖然才100多頁败京,但是字字珠璣岸涤鳌!強(qiáng)烈建議閱讀赡麦。

《高性能JavaScript》:《JavaScript高級程序設(shè)計(jì)》作者Nicholas C. Zakas的又一大作朴皆。

《Eloquent JavaScript》:這本書才200多頁,非常短小泛粹,通過幾個(gè)非常經(jīng)典的例子(艾米麗姨媽的貓遂铡、悲慘的隱士础爬、模擬生態(tài)圈译株、推箱子游戲等等)來介紹JavaScript方方面面的知識和應(yīng)用方法涎才。

高級讀物:

《JavaScript Patterns 》:書中介紹到了各種經(jīng)典的模式梧乘,如構(gòu)造函數(shù)惨奕、單例彭则、工廠等等轨香,值得學(xué)習(xí)境输。

《Pro.JavaScript.Design.Patterns》:Apress出版社講解JavaScript設(shè)計(jì)模式的書蒙挑,非常不錯(cuò)宗侦。

《Developing JavaScript Web Applications》:構(gòu)建富應(yīng)用的好書,針對MVC模式有較為深入的講解忆蚀,同時(shí)也對一些流程的庫進(jìn)行了講解矾利。

《Developing Large Web Applications》:不僅有JavaScript方面的介紹姑裂,還有CSS、HTML方面的介紹男旗,但是介紹的內(nèi)容卻都非常不錯(cuò)舶斧,真正考慮到了一個(gè)大型的Web程序下,如何進(jìn)行JavaScript架構(gòu)設(shè)計(jì)剑肯,值得一讀捧毛。

要做優(yōu)秀的前端工程師,還需要繼續(xù)努力:《高性能網(wǎng)站建設(shè)指南》让网、《Yahoo工程師的網(wǎng)站性能優(yōu)化的建議》呀忧、“YSLOW”性能優(yōu)化建議、《網(wǎng)站重構(gòu)》溃睹、《Web開發(fā)敏捷之道》而账、“ jQuery 庫”、“前端框架”因篇、“HTML5”泞辐、“CSS3”。竞滓。咐吼。這些都要深入研究!

  萬事開頭難商佑!如果你能到這個(gè)境界锯茄,剩下的路自己就可以走下去了。

人們常說:不想當(dāng)裁縫的司機(jī)茶没,不是個(gè)好廚師肌幽。

  如果單純只是學(xué)習(xí)前端編程語言、而不懂后端編程語言(PHP抓半、ASP.NET喂急,JSP、Python)笛求,也不能算作是優(yōu)秀的前端工程師廊移。

在成為一個(gè)優(yōu)秀的前端工程師的道路上,充滿了汗水和辛勞探入。

最后:“相信有很多想學(xué)前端的小伙伴狡孔,今年年初我花了一個(gè)月整理了一份最適合2018年學(xué)習(xí)的web前端干貨,從最基礎(chǔ)的HTML+CSS+JS到移動(dòng)端HTML5等都有整理新症,送給每一位前端小伙伴步氏,53763响禽,1707這里是小白聚集地徒爹,歡迎初學(xué)和進(jìn)階中的小伙伴荚醒。”

祝大家早日學(xué)有所成隆嗅,拿到滿意offer界阁,快速升職加薪,走上人生巔峰胖喳。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泡躯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子丽焊,更是在濱河造成了極大的恐慌较剃,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件技健,死亡現(xiàn)場離奇詭異写穴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)雌贱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門啊送,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人欣孤,你說我怎么就攤上這事馋没。” “怎么了降传?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵篷朵,是天一觀的道長。 經(jīng)常有香客問我搬瑰,道長款票,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任泽论,我火速辦了婚禮艾少,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘翼悴。我一直安慰自己缚够,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布鹦赎。 她就那樣靜靜地躺著谍椅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪古话。 梳的紋絲不亂的頭發(fā)上雏吭,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天,我揣著相機(jī)與錄音陪踩,去河邊找鬼杖们。 笑死悉抵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的摘完。 我是一名探鬼主播姥饰,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼孝治!你這毒婦竟也來了列粪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤谈飒,失蹤者是張志新(化名)和其女友劉穎岂座,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杭措,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掺逼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瓤介。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吕喘。...
    茶點(diǎn)故事閱讀 40,013評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖刑桑,靈堂內(nèi)的尸體忽然破棺而出氯质,到底是詐尸還是另有隱情,我是刑警寧澤祠斧,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布闻察,位于F島的核電站,受9級特大地震影響琢锋,放射性物質(zhì)發(fā)生泄漏辕漂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一吴超、第九天 我趴在偏房一處隱蔽的房頂上張望钉嘹。 院中可真熱鬧,春花似錦鲸阻、人聲如沸跋涣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽陈辱。三九已至,卻和暖如春细诸,著一層夾襖步出監(jiān)牢的瞬間沛贪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留利赋,地道東北人嗅义。 一個(gè)月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像隐砸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子蝙眶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容