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