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