職能上的差異
首先,我們要分清Web designer(網(wǎng)頁設(shè)計師)和Web developer(網(wǎng)頁開發(fā)者,也稱程序員)的差異。兩者之間的差異主要表現(xiàn)在:一個是有關(guān)網(wǎng)站的視覺或美學(xué)方面,被稱為“前端”;另一個則是看不見的編碼方面的設(shè)計,被稱為“后端”。簡而言之,漂亮的網(wǎng)站界面都是出自網(wǎng)頁設(shè)計師之手,而牛逼強大的功能則是網(wǎng)頁開發(fā)者的杰作。
技術(shù)上的差異
我們再從技術(shù)的方面,瞧瞧在實際的招聘中,各大企業(yè)要求前端人員與后端人員分別具備怎樣的能力。
Web前端:
1. 精通HTML,能夠書寫語義合理,結(jié)構(gòu)清晰,易維護的HTML結(jié)構(gòu)。
2. 精通CSS,能夠還原視覺設(shè)計,并兼容業(yè)界承認的主流瀏覽器。
3. 熟悉JavaScript,了解ECMAScript基礎(chǔ)內(nèi)容,掌握1~2種js框架,如JQuery。
4. 對常見的瀏覽器兼容問題有清晰的理解,并有可靠的解決方案。
5. 對性能有一定的要求,了解yahoo的性能優(yōu)化建議,并可以在項目中有效實施。
Web后端:
1. 精通jsp,servlet,java bean,JMS,EJB,Jdbc,F(xiàn)lex開發(fā),或者對相關(guān)的工具、類庫以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,對Web開發(fā)的模式有較深的理解。
2. 熟練使用oracle、sqlserver、mysql等常用的數(shù)據(jù)庫系統(tǒng),對數(shù)據(jù)庫有較強的設(shè)計能力。
3. 熟悉maven項目配置管理工具,熟悉tomcat、jboss等應(yīng)用服務(wù)器,同時對在高并發(fā)處理情況下的負載調(diào)優(yōu)有相關(guān)經(jīng)驗者優(yōu)先考慮。
4. 精通面向?qū)ο蠓治龊驮O(shè)計技術(shù),包括設(shè)計模式、UML建模等。
5. 熟悉網(wǎng)絡(luò)編程,具有設(shè)計和開發(fā)對外API接口經(jīng)驗和能力,同時具備跨平臺的API規(guī)范設(shè)計以及API高效調(diào)用設(shè)計能力。
總而言之,兩者的差異在于職能上,前端主要負責(zé)界面的設(shè)計;后端主要是制作界面后的功能。
形象上,前端注重形式、美觀;后端注重功能、實用性(為此,小編還特地去了喬布堂的研發(fā)部做了實地考察,發(fā)現(xiàn)我們的前端工程師買了2臺Macbook,而后端工程師買了2個鍵盤。驚人的符合!)
企業(yè)招聘中,前端工程師需要精通JS,能熟練應(yīng)用JQuery,懂CSS,能熟練運用這些知識,進行交互效果的開發(fā);后端開發(fā)人員需要會寫Java代碼,會寫SQL語句,能做簡單的數(shù)據(jù)庫設(shè)計,會Spring和iBatis,懂一些設(shè)計模式等。