前端發(fā)展空間大?后端才是王道?開發(fā)者何去何從?
原創(chuàng)【51CTO.com原創(chuàng)稿件】后端飽和,前端發(fā)展空間大?前端沒前途,后端才是王道?開發(fā)人員究竟何去何從?51CTO社群就此展開激烈辯論,開發(fā)者各執(zhí)己見,定將觀點(diǎn)針鋒相對,預(yù)知結(jié)果如何,且看下文分解。
觀點(diǎn)一、論前端后端重要性
正方:
前端如水,后端如魚,魚離不開水,而水卻不一定需要魚,就像一個簡單HTML,不一定數(shù)據(jù)庫來支持,也可以做出一個界面出來,而后端如果沒有前端界面,一般人是很難操作后端程序的,所以我覺得前端重要一些。(Java—小劉—長沙)
只要你接口協(xié)議、結(jié)構(gòu)定好,大前端根本不會關(guān)心你怎么實(shí)現(xiàn),你后端只要沒按時間給我提供接口實(shí)現(xiàn),沒保證質(zhì)量,我就慫你沒商量,再不行,給你捅到老板那里,說你們耽誤我工作進(jìn)度,你說領(lǐng)導(dǎo)支持哪個?
我只是認(rèn)為前端工作很重要哈,它的反應(yīng)速度,說它的質(zhì)量直接決定一個產(chǎn)品或者業(yè)務(wù)成敗一點(diǎn)都不為過。
對于大多數(shù)應(yīng)用工程師來說,以后前端的頁面集成、后端的業(yè)務(wù)實(shí)現(xiàn)才是重要工作,其他的都不重要,所謂的操作系統(tǒng)、中間件、基于XX語言的技術(shù)平臺、性能、質(zhì)量、多線程、信息安全都會產(chǎn)品化,說拿來就用一點(diǎn)都不為過,只要你的硬件支持就可以了。(架構(gòu)師-崔一凡-北京)
作為一個全棧偏后端的來說,如果非要選擇一個,我這次站前端啦!被坑多了沒辦法啊,你要知道,如果不是做大型架構(gòu),不走訪問量,后端實(shí)現(xiàn)一些功能似乎沒什么重要性,而且自用系統(tǒng)的功能完全可以用框架快速開發(fā)或是用現(xiàn)成的系統(tǒng)。(天津-xwaqdyw-運(yùn)維)
反方:
后端也可以不需要前端啊,后端大量的接口服務(wù),不是每一個服務(wù)都有頁面的。我大后端也不需要關(guān)心你的實(shí)現(xiàn),接口給你,界面給我寫出來,只要你沒按時間寫出頁面,我不需要懟你,老板會找你的。我覺得都重要,對于創(chuàng)業(yè)的互聯(lián)網(wǎng)公司,前端更重要,后面發(fā)展還是需要服務(wù)端支持。(Java-玉璽-深圳)
那如果后端響應(yīng)巨慢,你前端再漂亮又如何。我覺得后端就像大樓的鋼筋混凝土,而前端就是外立面的涂料及其他,但外立面再漂亮,內(nèi)里不強(qiáng)勁。大家根本不會買賬。所以我覺得后端重要。我之前還寫寫前端頁面,但是我覺得還是后端更有意思。很多的自用系統(tǒng),都不太注重前端好不好看。主要是要實(shí)現(xiàn)功能。(Java-史國俊-南京)
我認(rèn)為后端好,理由如下,沒有前端各種適配用戶界面,表示后端的寫頁面,各種調(diào)整位置,適配頁面,頭大。(Java+李賽+鄭州)
后端可以干前端的活,前端干不了后斷的活,前端在小城市找不到工作的。(Java-QiiQ-蘇州)
我是做后端的,前端了解少,我感覺前段技術(shù)更新特別快,學(xué)習(xí)的投入也不小。后端相對好一些。(Java-casec12-北京)
重要不重要是相對來說,從整體系統(tǒng)架構(gòu)上來說,后端服務(wù)重要。后端服務(wù)支撐了前端。只是說架構(gòu)上,100的比重,后端占的略大。不論前端還是后端代碼優(yōu)化,那是從代碼層面而言,但是都需要優(yōu)化的。所以重要不是說誰寫代碼寫了多少,后端不僅僅是給接口提供服務(wù)一種后端哦。后端很多的,人工智能算法,也算后端,負(fù)載均衡,高可用系統(tǒng)搭建。僅理解給前端提供服務(wù)的后端就狹隘了。是支撐。而且不代表沒有前端。只是在整體架構(gòu)中,占得比重。(大數(shù)據(jù)-益達(dá)-廣州)
小結(jié):前端后端是相親相愛的一家人,在編程路上分別扮演著不同角色,有做全棧開發(fā)的攻城獅支持前端重要,前端質(zhì)量直接決定一個產(chǎn)品或者業(yè)務(wù)成敗,非大型架構(gòu),后端的實(shí)現(xiàn)似乎沒有多重要,因?yàn)樽杂孟到y(tǒng)的功能完全可以用框架快速開發(fā)或是用現(xiàn)成的系統(tǒng)。也有做Java開發(fā)的程序猿支持后端更重要一些,后端是整個系統(tǒng)的支撐,決定系統(tǒng)運(yùn)行快慢。人工智能算法,負(fù)載均衡,高可用系統(tǒng)搭建都是需要后端完成的。
觀點(diǎn)二、網(wǎng)站體驗(yàn),界面先入為主,性能更加重要
正方:
如果前面的賣相不好,誰會嘗嘗你家的果子好不好吃啊(北京-通信-天天)
對于使用者來說,界面美觀與人機(jī)交互是非常重要的(系管-明亮-廣州)
你的用戶可看不見你系統(tǒng)用的是什么架構(gòu),能處理多少并發(fā) ,只要好看 用戶體驗(yàn)好 ,就能吸引用戶。***印象都不好的網(wǎng)站 用戶怎么能慢慢體會你的后端架構(gòu)有多厲害呢,可能打開網(wǎng)頁 看一眼就關(guān)掉了 。我這里可以舉一個反例 深度學(xué)習(xí)對于前端也有很大的幫助,并不是后端的專長,點(diǎn)擊查看>>
深度學(xué)習(xí)助力前端開發(fā):自動生成GUI圖代碼,這是前段時間比較火的一個項(xiàng)目 通過機(jī)器學(xué)習(xí)設(shè)計稿 自動生成簡單的前端代碼,可以解放前端工程師,去做更復(fù)雜的交互和效果。(前端-豬豬-上海)
我認(rèn)為前端好,前端是用戶的***印象,前端的好壞決定的用戶的去留,如果你前端做的不好,給用戶不了吸引力,這就是失敗的,用戶就不會更深層的去了解你。后端做的更好,用戶也不會去關(guān)注體驗(yàn)。如果非得較真,說一些low的前端頁面的某些網(wǎng)站。你不得不用的,那就沒辦法了。都是技術(shù)人員,都會上網(wǎng),體驗(yàn)好不好自己知道。如果不用前端的美化交互,那現(xiàn)在的公司為什么還得高薪聘請前端人員,都整成一個樣就行了嘛!只要后端的強(qiáng)大技術(shù)就行啦。那不現(xiàn)實(shí),現(xiàn)在注用的是用戶體驗(yàn)。就算你再有才華,再有能力,長的丑的一逼,人家也不會高看你一眼。前端如同臉面,就算只有個空殼,大眾也能接受。(網(wǎng)頁-南南-山東)
反方:
不是說找政府網(wǎng)站,丑就對了嗎,太漂亮很可能是假的。(Java-玉璽-深圳)
國企網(wǎng)站咋做的:核安全所的官網(wǎng)是算法工程師突擊學(xué)了一天HTML,套模板改出來的。(Android -玖哥-合肥)
小官有沒有經(jīng)歷過大學(xué)里面,選課。一共才多少人同時選課訪問頁面,但是只要一到選課時間,立馬頁面卡死。服務(wù)進(jìn)不去。但是如果沒有前端給后端提供界面支持,后端的服務(wù)也不能更好為人們所用。期初的操作系統(tǒng)是沒有界面的比如DOS,比如Linux,后來為了更直觀、更方便讓人們操作,提供了可視化界面設(shè)計。都是很重要的。
校園網(wǎng)卡頓是服務(wù)的問題。寫后臺服務(wù)的人水平的問題。訪問別的網(wǎng)站都很順暢。就像人們在上淘寶。和用12306一樣。人們總在詬病12306的服務(wù)那么垃圾。當(dāng)然12306后臺服務(wù)也做了不斷的完善了。(大數(shù)據(jù)-益達(dá)-廣州)
我們學(xué)校一年到頭99%的流量都在校內(nèi)的視頻服務(wù)器上,那1%就是選課的時候。有些省級政府網(wǎng)站還是很牛逼的,至少招標(biāo)要求超專業(yè)。(PHP-Coeus-安徽)
界面交互,做的炫,提交一個訂單一直卡,你認(rèn)為好嗎?還有就是我用一個電商網(wǎng)站改密碼,居然出現(xiàn)404。(Java-哈韓浪子-成都)
小結(jié):政府類網(wǎng)站界面都比較丑,但只要是存在競爭關(guān)系的網(wǎng)站,界面一個比一個高大上,留給訪客的***印象簡潔清新,給人很舒服的感覺。談及到體驗(yàn),不得不考慮網(wǎng)站性能,無論是PC端還是移動端,一旦出現(xiàn)卡頓、退出、轉(zhuǎn)圈圈,定會被人們關(guān)掉。體驗(yàn)不僅需要前端的美感,同時需要后端的穩(wěn)固支撐。
觀點(diǎn)三、前端是門面,后端做全能
正方:
一個漂亮的前端才能引起用戶的興趣。用戶不一定是技術(shù)人員,他們看到的往往就是界面上的東西,這種***印象比較重要,有時還會影響用戶的使用決定。(Android-小包-重慶)
我認(rèn)為前端好,因?yàn)樗苯佑绊懥擞脩羰褂媒缑娴囊曈X效果,在設(shè)計和廣告都打著以人為本的服務(wù)的今天,操作界面的視覺傳達(dá)是首當(dāng)其沖的要點(diǎn)。前端的界面設(shè)計與布局能夠帶給客戶最直觀的操作感受,相對于用戶來說,前端是更為重要的。
HTML總比Java/C/C++/C#/Python好學(xué),還因?yàn)樗腴T簡單,更符合程序員安身立命養(yǎng)家糊口的基本需求,且進(jìn)階相對容易。相對于服務(wù)端的開發(fā)來說,它不需要過于雄厚的編程語言作為基礎(chǔ),開始可以由切圖入行,然后學(xué)習(xí)簡單的HTML代碼,而且可以直觀的看到自己的每一項(xiàng)作品,比起服務(wù)端寫完幾十上百行代碼才能看到運(yùn)行結(jié)果相比,它也更加能夠使人獲得成就感,也更加有了繼續(xù)學(xué)習(xí)的動力。
1.前端可以首先對一個項(xiàng)目做出規(guī)劃,而后端只是為了實(shí)現(xiàn)前端想要達(dá)到的效果,它是為前端進(jìn)行服務(wù)的。
2.我沒有否認(rèn)后端有發(fā)展前景,但是我認(rèn)為前端的發(fā)展前景遠(yuǎn)遠(yuǎn)大于后端,因?yàn)橹灰岸擞袆?chuàng)新,后端才有可能去進(jìn)一步實(shí)現(xiàn)。
3.我認(rèn)為總有一日前端語言也可以覆蓋后端,js正在走向這條路!
4.作為用戶來講,會使用后端的人永遠(yuǎn)是少數(shù),而前端服務(wù)的是幾乎所有網(wǎng)民。
前端更貼近產(chǎn)品本身,沒有前端為你規(guī)劃需求,你的后端該如何進(jìn)行開發(fā)?一堆堆代碼摞一起,你知道入口放哪兒?(新媒體-幽晴草-南昌)
不過做后端有時候也挺難的 你辛辛苦苦做了很多優(yōu)化,老板看不見,就覺得你啥都沒干。前端每個版本都有UI上的改進(jìn),老板就覺得前端做的很好。(前端-豬豬-上海)
早期前端都是比較簡單,基本以頁面為工作單元,內(nèi)容以瀏覽型為主,也偶爾有簡單的表單操作,這個時期每個界面上只有很少的JavaScript邏輯,基本不太需要框架。(廣州-明亮-系管)
反方:
因?yàn)楹蠖顺绦虻牟町愋?**(深圳-Levi/架構(gòu))
因?yàn)榍岸诵阅軆?yōu)化比較明顯,也就那幾個方面,后端優(yōu)化的話涉及的范圍就多了,當(dāng)然這個又扯到運(yùn)維了。我認(rèn)識一個在省級單位做服務(wù)器管理的朋友,前端、數(shù)據(jù)庫、偶爾還寫寫PHP,他們領(lǐng)導(dǎo)就覺得你是做IT的,這些東西你就應(yīng)該啥都會。(PHP-coeus-安徽)
一個漂亮的前端頁面點(diǎn)不動,你要不要,一直卡在主頁,而且誰說用戶就一定是只看頁面的網(wǎng)頁瀏覽著了。前端是面子,是***映像,這個就像看人一樣,你是要金玉其外,敗絮其中的呢?還是要表里如一的呢?俗話說日久見人心,系統(tǒng)也是一樣,還不好,多用才知道。這個和看人是一樣一樣的。(網(wǎng)工-sevenot-成都)
給客戶演示,要是后端回包有問題,也會出問題啊,性能很重要。(Java-哈韓浪子-成都)
如果只有前端怎么維護(hù)?。吭趺锤??(廣州-明亮-系管)
大后端支撐起的是整個服務(wù)。前端支撐起的是直觀化、視覺上等的可操作性。(廣州-大數(shù)據(jù)-益達(dá))
小結(jié):前端猶如一個公司的門面,留給人的***印象至關(guān)重要,公司項(xiàng)目好賣與否,界面是否優(yōu)美,是吸引客戶的直觀因素。而前端設(shè)計和前端開發(fā),主導(dǎo)了一個產(chǎn)品的方向,風(fēng)格,面向人群,考慮的因素要面面俱到。然而后端又是支撐起整個服務(wù)的,屬于內(nèi)在美,后端的存在是全部系統(tǒng)/項(xiàng)目的***支持。
觀點(diǎn)四、后端按需支持前端,但不是所有后端都要去支持前端
前端:
后端是支撐前端,但是沒有前端,還要后端干嘛(網(wǎng)頁-南南-山東)
根據(jù)需求流量來偏重后端或前端,但是后臺端做不好會被罵死的,前端做不好可以忍一下,前端體驗(yàn)再差都可以忍下,我只能說前端起碼沒有后端那么多坑。(廣州-明亮-系管)
而且現(xiàn)在是產(chǎn)品驅(qū)動技術(shù),產(chǎn)品就是展示出來的效果。(天津-xwaqdyw-運(yùn)維)
后端:
我想說一點(diǎn)哈,不是所有后端都是給前端支持的,當(dāng)前業(yè)務(wù)系統(tǒng) ,決定響應(yīng)時間的,感覺并不只是代碼質(zhì)量了,對于什么PHP是***的語言這一類話題,個人覺得PHP可能對開發(fā)者比較友好。
前端需要給人漂亮的感覺,前端還要給人提示作用,讓用戶知道該如何操作,一個強(qiáng)大的后臺才能支撐起一個漂亮的前端,身為運(yùn)維的我,深知一點(diǎn),不是所有后臺都是要去支持前端的。(網(wǎng)工-sevenot-成都)
因?yàn)楹笈_的東西看不到,領(lǐng)導(dǎo)都以為很簡單,你可能在后臺加班通宵,第二天領(lǐng)導(dǎo)(不是技術(shù)部的領(lǐng)導(dǎo))一看前端沒有任何變動,就會返回你加班一晚上啥都沒干?
所以要談?wù)撉岸撕貌缓玫那疤崾呛蠖艘呀?jīng)OK了,老板不管你怎么實(shí)現(xiàn)功能的前提是你后端功能實(shí)現(xiàn)了。(PHP-Coeus-安徽)
小結(jié):從產(chǎn)品角度來看,一個項(xiàng)目從設(shè)計到實(shí)踐,前期的規(guī)劃總是在最初,給后面的實(shí)踐工作是在前期設(shè)計基礎(chǔ)上加以實(shí)施的,然而并非所有后端都是為前端做支撐的,談?wù)撉岸撕脡牡那疤崾呛蠖艘呀?jīng)OK了。
觀點(diǎn)五、從前端和后端的薪資水平來對比誰更有“錢途”
前端:
感覺前端需要有藝術(shù)細(xì)胞,設(shè)計很重要。我們藝術(shù)學(xué)院專門有學(xué)習(xí)網(wǎng)頁和產(chǎn)品設(shè)計的。(大數(shù)據(jù)和移動開發(fā)-張策-北京)
有一種前端,叫做原畫,這***藝術(shù)天賦和繪畫技巧。尤其是游戲里面的視覺設(shè)計和原畫,這些人才很稀缺,而且薪水也高高過了網(wǎng)頁開發(fā)的后端。(云計算-恩威-成都)
目前前端好像是要火些。(后端接口開發(fā)-劉聲杰-成都)
最近兩年薪資蹭蹭的。(PHP-Coeus-安徽)
前端行業(yè)發(fā)展比較快了,因?yàn)榍岸擞蒙詈笮枰芏嗟慕?jīng)驗(yàn),再加上前端少入門簡單深入難的特典,在未來也屬于越老越吃香的行業(yè),而后端程序員就目前來看實(shí)在是太多了,歲數(shù)大了效率低了想轉(zhuǎn)項(xiàng)目經(jīng)理的競爭壓力特別大,所以被淘汰的概率也非常高。經(jīng)驗(yàn)豐富的前端工程師因?yàn)榻?jīng)常和客戶打交道已經(jīng)明白客戶的需求,可以直接轉(zhuǎn)產(chǎn)品經(jīng)理,然后再深入轉(zhuǎn)型成管理層,所以前端是前途無量的。
前端相比其它工程師,入門門檻低,隨便花個幾千塊錢路邊的各種培訓(xùn)機(jī)構(gòu)都能學(xué)到「切圖」、「網(wǎng)頁制作」這樣的所謂前端技能。但是這樣的人真的能被稱為「前端工程師」嗎?
前端開發(fā)人員的出路是什么呢?我認(rèn)為有兩種。拿服裝行業(yè)來對比,如果你要的是普通的,就使用工業(yè)手段批量生產(chǎn),使用MV*框架,做好架構(gòu)和組件重用,做得快,細(xì)節(jié)不是很講究。如果你想要更好的,有特色的,就需要名家設(shè)計,手工打造,非常精巧,高端大氣上檔次。所以,這也就代表著前端開發(fā)的兩種發(fā)展方向。
隨著前端行業(yè)的蓬勃發(fā)展,前端負(fù)責(zé)的工作在一個產(chǎn)品開發(fā)環(huán)節(jié)中占據(jù)的比例越來越大。比如angular.js等MV*框架的出現(xiàn),讓后端人員只需要負(fù)責(zé)提供接口,所有的頁面渲染呈現(xiàn)以及頁面跳轉(zhuǎn)邏輯都由前端負(fù)責(zé),再也不用套模板什么的了,大大的減輕了后端們的開發(fā)工作。(系管-明亮-廣州)
后端深,做起來慢,但是更長遠(yuǎn)來說還是后端好,入門前端是高,感覺如果只打算掙幾年錢,可以選擇前端。(程序員-shikoku-杭州)
后端:
我認(rèn)為后端才是王道,所有的業(yè)務(wù)代碼都在后臺展開寫的。這里面就涉及到性能等問題。每當(dāng)系統(tǒng)隨著業(yè)務(wù)量的增加,都是對后端進(jìn)行優(yōu)化。比如后端,我們的js可以做成zip包,到了客戶端,瀏覽器負(fù)責(zé)解壓。(Java-哈韓浪子-成都)
看側(cè)重點(diǎn)吧,互聯(lián)網(wǎng)公司前端相對重要,但后期還是需要服務(wù)的支持,傳統(tǒng)的公司后臺最重要,前端被弱化很多很多,傳統(tǒng)公司用extjs easyui等框架,不需要前端,也不考慮前端優(yōu)化,內(nèi)網(wǎng)無所謂,更多的是定時任務(wù),異構(gòu)集成,第三方對接,都是服務(wù)接口。不需要專業(yè)的前端人員,我們寫后臺用extjs等框架就可以展示了。
現(xiàn)在分的很細(xì)了,設(shè)計叫設(shè)計工程師,前端工程師寫HTML和JS,不管設(shè)計。
我們設(shè)計+切圖都是設(shè)計人員搞,前端搞瀏覽器兼容,后臺數(shù)據(jù)交互,本地數(shù)據(jù)存儲,但是有點(diǎn)前端會設(shè)計的,他就不會搞數(shù)據(jù)交換和前端邏輯,出個HTML給我們后臺,我們后臺改成JSP,添加邏輯,調(diào)后臺數(shù)據(jù)接口。(Java-玉璽-深圳)
到后期不會區(qū)分這么細(xì),做前端到后期也會懂一些后端的技術(shù),反之,后端也是。像我司還有專門的前端構(gòu)建部門,無需開發(fā)和運(yùn)維的參與,直接線上發(fā)布新的前端版本。(云計算-恩威-成都)
當(dāng)JavaScript開始用于服務(wù)端的時候,JavaScript程序員也開始慢慢的了解后端的邏輯,當(dāng)后端程序員開始僅僅用接口返回數(shù)據(jù)給客戶端或者用戶代理的時候,后端程序員也在慢慢的了解前端知識,感覺前端和后端的界限越來越模糊了。
對于數(shù)據(jù)統(tǒng)計類的,很大不分都是后端處理好,然后傳遞到前端,由前端的JavaScript框架進(jìn)行渲染,除了一次要傳遞超級多的數(shù)據(jù)以為,就目前來看,很多中小互聯(lián)網(wǎng)企業(yè),更依賴于前端。(后端接口開發(fā)-劉聲杰-成都)
不同的方向。重不重要是相對而言的。站在純用戶體驗(yàn)視覺角度,肯定前端好呀。但是視覺體驗(yàn)完成后,就是服務(wù)體驗(yàn)好不好了,服務(wù)又是后臺維護(hù)搞的。(大數(shù)據(jù)-益達(dá)-廣州)
小結(jié):說到錢途,程序猿的爭辯再次被推向高潮,正方認(rèn)為,后端市場已經(jīng)趨于飽和,前端發(fā)展空間大。因?yàn)榍岸俗償?shù)多,技術(shù)革新、界面優(yōu)化要跟上時代的步伐,近兩年人工智能的興起,很多設(shè)計出來的界面給人耳目一新的感覺。相比后端,語言和框架迭代沒有那么頻繁,對開發(fā)者的挑戰(zhàn)也是前途無量的。然而反方則覺得,前端沒有技術(shù)含量,后端才是王道。在架構(gòu)師這條技術(shù)路上,只有懂后端的開發(fā)者才會有可能做到架構(gòu),技術(shù)人要不斷學(xué)習(xí)新技能來追逐革命浪潮。
【寫在***】
介入程序猿這個行當(dāng), 從前端入手好還是從后端入手好?這個還是要看個人,畢竟前后端邏輯還真不是一樣的,所以選擇前端還是后端還是要看個人的。對于急于求成的新手來說,前端是個不錯的入行選擇,入門簡單上手快,網(wǎng)頁三劍客分分鐘讓你看到成果。后臺最重要的是邏輯,邏輯思維強(qiáng)的人可以先學(xué)后端開發(fā)。深度都是一樣的,只是前后端的開發(fā)思維有點(diǎn)不同而已,前端是視覺和操作驅(qū)動,后端是數(shù)據(jù)驅(qū)動。
無論前端還是后端,在項(xiàng)目中都起到至關(guān)重要的作用,只有相互配合,***銜接,才會為任務(wù)加分。
此次辯論賽開發(fā)者們意猶未盡,在碼字的生活中增添點(diǎn)爭辯的樂趣,其樂無窮也,期待下次辯論賽的到來,再將開發(fā)者的觀點(diǎn)一決高下。
歡迎加入開發(fā)者QQ交流群:312724475 討論。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請注明原文作者和出處為51CTO.com】