很多人并不了解前端開發(fā)到底是什么狱庇,即使是那些從事相關(guān)工作的業(yè)內(nèi)人員也不是很清楚惊畏,這點(diǎn)在我工作的幾年中深有體會(huì)恶耽,甚至有些時(shí)候整個(gè)項(xiàng)目下來本來應(yīng)該幾個(gè)人員合作完成的內(nèi)容完全由一個(gè)人來實(shí)現(xiàn),當(dāng)然這樣的結(jié)果常常并不理想颜启,所以如果你打算學(xué)習(xí)前端開發(fā)工作最好事先了解下前端開發(fā)的相關(guān)內(nèi)容偷俭,比如工作范圍、存在問題缰盏、工作標(biāo)準(zhǔn)涌萤、工作要求等等。
1.被誤解的前端開發(fā)
什么是前端開發(fā)呢口猜?大多數(shù)人的回答可能是不就是設(shè)計(jì)網(wǎng)頁的美工嘛负溪,也有些人認(rèn)為那些會(huì)使用 Dreamware這些編輯器完成一些網(wǎng)頁功能就是前端開發(fā)了……因?yàn)榇蠹覍?duì)前端開發(fā)的認(rèn)識(shí)不同所以對(duì)于前端開發(fā)工作內(nèi)容也有很大不同,比如很多人覺的美工就是前端济炎,他們認(rèn)為美工應(yīng)該完成所有的前端工作川抡,但是真實(shí)的美工大多可能是從一些平面設(shè)計(jì)專業(yè)轉(zhuǎn)行過來的,他們一點(diǎn)也不了解軟件到底是什么须尚,指望這些人去完成符合后端期待的前端實(shí)現(xiàn)崖堤,根本不可能。那么到底是什么原因造成大家對(duì)前端開發(fā)工作的誤解呢耐床?
造成前端開發(fā)工作誤解很大原因和Web的發(fā)展有密切的關(guān)系密幔。在最初的Web發(fā)展階段,網(wǎng)頁主要以展示為主撩轰,內(nèi)容基本上都是靜態(tài)的胯甩,從事相關(guān)工作的人員要求很低,只要可以保證頁面的整齊美觀就好堪嫂。但是自2005年Web進(jìn)入2.0時(shí)代后偎箫,網(wǎng)頁的功能 越來越豐富,內(nèi)容不再只是靜態(tài)頁面溉苛,而且和用戶交互也逐步增加,對(duì)于這種變化使得前端的開發(fā)也變得越來越復(fù)雜弄诲,對(duì)于開發(fā)人員的要求也越來越高愚战。
另外最初從事網(wǎng)站開發(fā)的人員只要掌握那些制作網(wǎng)頁的工具就好,更多的時(shí)間更側(cè)重于后端的開發(fā)工作齐遵。他們隨著網(wǎng)頁功能的變化走到現(xiàn)在寂玲,依然在負(fù)責(zé)網(wǎng)頁功能的實(shí)現(xiàn),這也就不難讓人對(duì)前端工作產(chǎn)生誤解了梗摇。
2.前端開發(fā)的職責(zé)
在工作中前端的工作范圍很難界定拓哟,因?yàn)樗鼤?huì)涉及到網(wǎng)站開發(fā)的方方面面。他需要確定UI設(shè)計(jì)師設(shè)計(jì)的界面是否可以通過技術(shù)實(shí)現(xiàn)伶授,同時(shí)需要按照界面內(nèi)容和后端開發(fā)人員確定是否可以提供相關(guān)的數(shù)據(jù)断序,所以作為前端工程師既需要有一定的審美眼光流纹,保證頁面的美觀,同時(shí)有需要關(guān)注前端代碼的質(zhì)量违诗。
在傳統(tǒng)意義上的軟件開發(fā)一般都是首先考慮后端可以提供哪些服務(wù)來確定前端的界面內(nèi)容和風(fēng)格漱凝,在這樣的情況下,大多數(shù)情況下負(fù)責(zé)項(xiàng)目整體結(jié)構(gòu)的都是多年從事后端開發(fā)工作的人員诸迟。但是隨著web 的不斷發(fā)展茸炒,出現(xiàn)一種模式是前端先設(shè)計(jì)相關(guān)的界面和內(nèi)容,然后后端再設(shè)計(jì)方案實(shí)現(xiàn)相關(guān)的功能阵苇,這時(shí)候負(fù)責(zé)項(xiàng)目的就是前端開發(fā)人員壁公,當(dāng)然這種模式下前端開發(fā)人員不僅需要掌握前端實(shí)現(xiàn)的相關(guān)技術(shù)同時(shí)還需要了解后端的實(shí)現(xiàn)技術(shù)。不過這種模式只是在一些博客中見到過绅项,大多數(shù)情況下我們還是和第一種情況類似都是后端確定數(shù)據(jù)后再確定前端界面和內(nèi)容紊册,不過這兩種不同的方式對(duì)于前端人員的要求和工作內(nèi)容還是有很大區(qū)別的。
3.前端開發(fā)的技能要求
雖然前端技術(shù)興起的時(shí)間不是很長趁怔,沒有明確的界限湿硝,不同的web 項(xiàng)目中要求的前端技術(shù)有所不同,但是還是有些技能是這些從業(yè)人員必須具備的润努,下面就是工作中前端開發(fā)人員必備技能的總結(jié)关斜。
(1)HTML
HTML,簡單的說HTML就像一個(gè)骨架铺浇,整個(gè)網(wǎng)頁的結(jié)構(gòu)都是在HTML中定義的痢畜,而且HTML本身內(nèi)容并不復(fù)雜,只要掌握幾類常用的標(biāo)簽就好鳍侣,如用于鏈接丁稀、顯示圖片、列表倚聚、表格线衫、表單等。在實(shí)現(xiàn)前端的技術(shù)中HTML很容易惑折,十分容易上手和學(xué)習(xí)授账,但是編寫語義良好、整齊簡潔的HTML代碼需要大量的練習(xí)才可以惨驶,因?yàn)閺?fù)雜的HTML結(jié)構(gòu)不僅不利于搜索引擎的檢索白热,而且對(duì)于使用CSS樣式和JavaScript實(shí)現(xiàn)一些效果也會(huì)很困難。
(2)CSS
CSS粗卜,樣式就是為定義好的HTML結(jié)構(gòu)添加一層外衣屋确,使得頁面變得美觀,這種美好的樣式也是吸引用戶的方式。和HTML一樣CSS也不復(fù)雜攻臀,只要掌握一些常見的樣式就好焕数。真正CSS部分要做到的就是使得CSS樣式簡潔、易讀茵烈、可維護(hù)百匆、性能良好,要實(shí)現(xiàn)這些需要我們重點(diǎn)理解CSS選擇器以及繼承相關(guān)的內(nèi)容呜投。
(3)JavaScript
JavaScript加匈,通過HTML定義骨架、CSS添加外衣之后仑荐,要讓網(wǎng)頁變得富有活力就需要使用JavaScript雕拼,這一部分也是真正編程的部分。對(duì)于JavaScript要掌握的內(nèi)容就不像HTML粘招、CSS那樣簡單啥寇,因?yàn)槭紫菾avaScript是一種腳本語言,所以它具有很大的靈活性洒扎,有時(shí)候可能造成錯(cuò)誤辑甜,另外不同瀏覽器之間的兼容性問題也可能造成JavaScript語言出現(xiàn)錯(cuò)誤。鑒于如上這些原因在學(xué)習(xí)JavaScript語言時(shí)要特別注意袍冷,本套課程涵蓋基礎(chǔ)語法磷醋、面向?qū)ο蟆⒑瘮?shù)胡诗、事件邓线、BOM和DOM操作、表單處理煌恢、錯(cuò)誤處理機(jī)制等內(nèi)容骇陈,希望可以幫助大家更好的掌握J(rèn)avaScript。
(3)前端框架
框架技術(shù)瑰抵,隨著前端框架的出現(xiàn)很大程度上降低了工作難度你雌,使得即使是從事后端工作的人員也可以編寫一個(gè)漂亮美觀的頁面。這些前端框架不僅統(tǒng)一了編碼方式同時(shí)還解決了瀏覽器兼容問題二汛。雖然前端框架的應(yīng)用為開發(fā)帶來福音婿崭,但是也造成了誤解,很多人認(rèn)為只要掌握這些框架就好了习贫,對(duì)于那些基礎(chǔ)內(nèi)容就沒必要再去掌握了逛球,這點(diǎn)是非常錯(cuò)誤的千元。我把接觸的前端框架分為兩類苫昌,針對(duì)CSS的框架、針對(duì)JavaScript的類庫。雖然前端框架這部分內(nèi)容并不在本套課程計(jì)劃之內(nèi)祟身,但是我計(jì)劃隨后針對(duì)jQuery奥务、Bootstrap、AngularJS這三種框架做一系列的課程來完善我們?cè)诒咎渍n程中的博客系統(tǒng)袜硫,同時(shí)利用Bootstrap氯葬、AngularJS結(jié)合后端服務(wù)語言開發(fā)一個(gè)博客系統(tǒng)的管理系統(tǒng),希望可以幫助大家掌握三個(gè)經(jīng)典的前端框架婉陷,當(dāng)然除了這三個(gè)之外還有很多類似的內(nèi)容帚称,如果大家覺的有需要可以在QQ交流群或者公眾號(hào)中發(fā)消息給我,我會(huì)盡可能為大家提供幫助秽澳。
(4) 調(diào)試
調(diào)試闯睹,不管是前端人員還是后端人員調(diào)試都是一項(xiàng)必不可少的技能,在調(diào)試的過程中發(fā)現(xiàn)頁面結(jié)構(gòu)的變化担神、樣式渲染效果楼吃、JavaScript代碼執(zhí)行情況以及后端返回?cái)?shù)據(jù),甚至可以直接修改網(wǎng)頁的結(jié)構(gòu)和樣式⊥叮現(xiàn)在大部分瀏覽器都提供了供調(diào)試的控制臺(tái)孩锡,而且值得一提的是之前的火狐瀏覽器需要按照Firebug才可以,現(xiàn)在已經(jīng)不需要了亥贸,在最新版的火狐瀏覽器中已經(jīng)查找不到相關(guān)的插件了躬窜。
如上所說的這些內(nèi)容都是前端人員必備的技能,另外隨著Web技術(shù)的發(fā)展砌函,特別是越來越多的人習(xí)慣使用手機(jī)斩披,所以在日常也要注意一些跨平臺(tái)、跨瀏覽器的問題讹俊。