在web開發(fā)中,為什么前端比后端更得到轉(zhuǎn)行程序員的青睞
Web開發(fā)分類與區(qū)別
在軟件開發(fā)行業(yè)中,通常會(huì)將web開發(fā)分成Web前端開發(fā)和Web后端開發(fā)。參照這兩個(gè)分類,因此就有了Web前端開發(fā)工程師Web后端開發(fā)工程師。通常面試過程中,說的前端開發(fā)和后端開發(fā)就是指的Web前端開發(fā)和Web后端開發(fā)。
下面我們就來大致來談?wù)勥@兩方的區(qū)別

1. 技術(shù)棧區(qū)別
我們來看看各大招聘網(wǎng)站對(duì)前端工程師和后端工程師的招聘要求:


菜鳥前端招聘
其他大大小小的公司前端招聘要求跟上面的差不多??偟膩碚f,前端的要求就是:
1.精通HTML,CSS,JS,有良好的交互設(shè)計(jì)能力。
2.熟練掌握前端的一些開發(fā)技術(shù)和框架。
3.對(duì)nodejs,webpack等一些前端技術(shù)要能夠熟練的運(yùn)用。

下面來看看百度和阿里對(duì)后端功能師的招聘要求:



總結(jié):后端開發(fā)工程師的基本要求(Java):
?精通Java,熟練掌握J(rèn)ava網(wǎng)絡(luò)編程;熟練運(yùn)用SSH等開源框架;
熟悉互聯(lián)網(wǎng)開發(fā)模式,清晰理解緩存,緩存設(shè)計(jì)和模式;
精通TCP/IP、HTTP等網(wǎng)絡(luò)協(xié)議,精通socket網(wǎng)絡(luò)編程,有用Java做大訪問量高壓力網(wǎng)絡(luò)應(yīng)用的經(jīng)驗(yàn)
熟練配置維護(hù)Apache,Tomcat,Resin等應(yīng)用服務(wù)器,掌握shell/awk/python等系統(tǒng)腳本工具;
熟練掌握SQL語句,熟練使用數(shù)據(jù)庫(MySQL,Oracle);
對(duì)大數(shù)據(jù)技術(shù),如Spark、Hadoop、Flink、ELK等有使用經(jīng)驗(yàn)者優(yōu)先
2. 學(xué)習(xí)成本區(qū)別
相對(duì)來說說,前端學(xué)習(xí)的成本不大,但是學(xué)習(xí)的知識(shí)點(diǎn)很多。后端的學(xué)習(xí)過程就是一個(gè)相對(duì)復(fù)雜漫長(zhǎng)的過程了。后端開發(fā)的接口,需要考慮到硬件,網(wǎng)絡(luò),所以學(xué)習(xí)的知識(shí)點(diǎn)很多,另外如果需要對(duì)后端有深厚的開發(fā)優(yōu)化功能,必須對(duì)后端技術(shù)源碼,框架的原理必須有深厚的了解功能。
因此,用同樣的時(shí)間學(xué)習(xí)Web前端開發(fā),多數(shù)人都能夠成為一個(gè)優(yōu)秀的Web前端開發(fā)工程師。但是用同樣的時(shí)間學(xué)習(xí)后端開發(fā),多數(shù)人只能算是入門。
Web前端開發(fā)人員需要掌握HTML,CSS,JS,對(duì)于其他框架的學(xué)習(xí)也只是熟悉下框架的用法。這三種技術(shù)很容易上手,并且也不復(fù)雜,對(duì)于后臺(tái)開發(fā)人員來說,開發(fā)語言的多樣化,技術(shù)框架的選擇,平臺(tái)性能的了解都是需要經(jīng)驗(yàn)積累的。拿Java語言來說,熟悉jdk源碼,熟悉JVM性能優(yōu)化,熟悉SSH框架,熟悉Mysql,熟悉各種技術(shù),這些都不是短時(shí)間就能上手的。
Web前端開發(fā)入門門檻低,學(xué)習(xí)曲線跟服務(wù)端開發(fā)語言先慢后快相比,趨勢(shì)是先快后慢。
錢景&前景
由于互聯(lián)網(wǎng)行業(yè)快速的發(fā)展,各公司對(duì)Web前端工程師的需求非常旺盛,自然錢景也不錯(cuò)。加上HTML5規(guī)范的最終定稿,必定引起Web的熱潮。NodeJS在服務(wù)器端的延伸也使JS大放光彩。
Web前端開發(fā)入門門檻低,但需求旺盛,特別是有經(jīng)驗(yàn)的Web前端開發(fā)人員。
Web前端開發(fā)技術(shù)發(fā)展越來越成熟,且適用范圍更廣。
比如HTML5可以替代原生APP(性能方面有待考究),JavaScript能夠用于數(shù)據(jù)庫操作(MongoDB等NoSQL支持JS語法),NodeJS能夠讓JavaScript在服務(wù)器端運(yùn)行,只要會(huì)Js語法不用后端開發(fā)語言照樣開發(fā)服務(wù)端程序。
node的技術(shù)的加入,讓現(xiàn)在前端幾乎無所不能,現(xiàn)在Web前端開發(fā)技術(shù)支持全棧式開發(fā)。

個(gè)人覺得Web前端工程師正慢慢演變?yōu)楫a(chǎn)品工程師。WAP App,響應(yīng)性UI等以HTML5技術(shù)為基礎(chǔ)的開發(fā)將成為Web前端工程師的主要工作內(nèi)容,解決產(chǎn)品跨平臺(tái)跨設(shè)備的實(shí)現(xiàn)問題。Javascript,HTML,CSS 這些Web前端工程師熟悉的,多年使用的語言,作為開放標(biāo)準(zhǔn)將被各種平臺(tái)所支持。
產(chǎn)品形態(tài)和數(shù)據(jù)的分離是形勢(shì)所趨。移動(dòng)時(shí)代對(duì)產(chǎn)品形態(tài)多元化的要求雖然可以靠不同技術(shù)分別實(shí)現(xiàn),但要付出巨大的成本。這也是HTML5這個(gè)04年就提出來的標(biāo)準(zhǔn)。
現(xiàn)階段的價(jià)值也很大。Web 產(chǎn)品交互越來越復(fù)雜,用戶使用體驗(yàn)和網(wǎng)站前端性能優(yōu)化,這些都需要專業(yè)的Web前端工程師來解決。另外,在項(xiàng)目中還要彌補(bǔ)設(shè)計(jì)師在交互設(shè)計(jì)上的不足,Web前端工程師在開發(fā)過程中起著重要的承上啟下的作用。
一兩個(gè)Web前端工程師就可以讓整個(gè)開發(fā)并行起來,讓設(shè)計(jì)到實(shí)現(xiàn)的轉(zhuǎn)換更順利。明智的公司應(yīng)該貯備Web前端工程師資源。
我不認(rèn)為Web前端工程師和產(chǎn)品經(jīng)理有什么關(guān)系,但是好的Web前端工程師一定會(huì)成為好的交互設(shè)計(jì)師,Web前端工程師對(duì)信息架構(gòu)的理解應(yīng)不亞于專業(yè)的交互設(shè)計(jì)師。

前端就是后臺(tái)實(shí)現(xiàn)和視覺表現(xiàn)的橋梁,是貫穿在整個(gè)產(chǎn)品開發(fā)過程的紐帶,起到承上啟下的作用。一個(gè)好的Web前端工程師他能夠很好理解產(chǎn)品經(jīng)理對(duì)用戶體驗(yàn)的要求,也能夠很好地理解后臺(tái)工程師對(duì)數(shù)據(jù)邏輯?;蛘叱绦蜻壿嬤M(jìn)行分離的要求,并將這些要求轉(zhuǎn)化成前臺(tái)的開發(fā)工作。前端就是網(wǎng)站的門面,它的價(jià)值遠(yuǎn)大于其他的客戶端開發(fā)。