前端工程師與后端工程師的區(qū)別主要體現(xiàn)在三個(gè)方面,其一是工作的職責(zé)不同,其二是知識(shí)結(jié)構(gòu)不同,其三是發(fā)展領(lǐng)域不同。后端開發(fā)主要做的是邏輯功能等模塊,是用戶不可見的,前端和后端通俗點(diǎn)講就是,前者是為了呈現(xiàn)給用戶視覺上的開發(fā),后者是給前端需要的一些數(shù)據(jù),這些數(shù)據(jù)經(jīng)過業(yè)務(wù)處理加工而來。
1、前端開發(fā)是做什么的,后端是做什么的?
前端和后端通俗點(diǎn)講就是,前者是為了呈現(xiàn)給用戶視覺上的開發(fā),后者是給前端需要的一些數(shù)據(jù),這些數(shù)據(jù)經(jīng)過業(yè)務(wù)處理加工而來。二者相輔相成,但并不是缺一不可沒有前端,程序照樣運(yùn)行,只是用戶看不到而已,但是能感受到,比如定時(shí)任務(wù)沒有后端,用戶看到的就是一個(gè)靜態(tài)頁(yè)面。這個(gè)靜態(tài)指的是數(shù)據(jù)都是固定寫死的,要么沒數(shù)據(jù),比如純粹的html。
說了這些,那么前端開發(fā)和后端開發(fā)針對(duì)不同平臺(tái)也劃分不同崗位,對(duì)技術(shù)要求也是有所差別。比如web系統(tǒng)或者說一個(gè)b/s架構(gòu)的網(wǎng)站,這個(gè)前端開發(fā)人員統(tǒng)稱為web前端開發(fā)工程師,后端統(tǒng)稱后端開發(fā)工程師,后端因?yàn)橛玫郊夹g(shù)不同,title也不一樣。比如用Java做后端,那后端開發(fā)就是Java開發(fā)工程師,go就是go開發(fā)工程師等等。
剛才說到是web方向,其實(shí)對(duì)于移動(dòng)端來說,前端又可以細(xì)分為安卓和ios開發(fā)工程師,還是那句話因?yàn)榧夹g(shù)用到的不一樣。但是不管怎么說,前端要求最基礎(chǔ)的語(yǔ)言會(huì)htmlcssjs還有像angularreactvue等等框架肯定得多多少少會(huì)點(diǎn)吧,后端不緊需要會(huì)點(diǎn)前端的這些東西,后端自身的框架技術(shù),包括運(yùn)維的一些也都最好會(huì)。
所以為什么同等經(jīng)驗(yàn)的前后端開發(fā),后端普遍工資高于前端,因?yàn)楹蠖诵枰私獾募夹g(shù)真的很廣,多說幾句,在選擇前端還是后端開發(fā)崗位來說。個(gè)人覺得看自己愛好,前端有一點(diǎn)是開發(fā)完立馬能看到效果,能快速增加自信心,用戶感官上體驗(yàn)很好。后端代碼邏輯優(yōu)化,縮短響應(yīng)時(shí)間,如果本來一個(gè)接口返回需要800毫秒優(yōu)化后變成500毫秒,可能用戶感知不是非常明顯,
如果剛開始返回需要10秒,后來優(yōu)化成1秒,那么體驗(yàn)就很明顯了。后端優(yōu)化可能底層上在特定場(chǎng)景下才發(fā)揮效果,相對(duì)前端實(shí)時(shí)的反饋用戶,后端更像是默默耕地的老牛。但是一個(gè)棘手的問題,經(jīng)過后端不斷的一步步分析最后解決,其實(shí)這種成就感和自信心會(huì)很強(qiáng)烈,只是比前端可能來的慢一點(diǎn)而已。OK,基本上就這樣了,希望對(duì)你有幫助。
2、程序里的前端和后端是什么意思?
通俗一點(diǎn)的說,[前端]就是我們可以直接查看的內(nèi)容,包含用戶可以看到和體驗(yàn)的一切,比如你瀏覽網(wǎng)站或使用APP的時(shí)候,各種各樣的頁(yè)面布局、圖片、按鈕、菜單、文字、視頻等等,而[后端]是程序中無法被用戶看到的這部分,進(jìn)行數(shù)據(jù)交互及網(wǎng)站數(shù)據(jù)的保存和讀取,它包含著所有的邏輯功能,支撐著前端,前端和后端在項(xiàng)目開發(fā)過程中都起著至關(guān)重要的作用,它們就像同一個(gè)硬幣的兩面,都起著重要的作用。
前端開發(fā)涉及到的技能主要有:Html、CSS、JavaScript、Java或kotlin(Android開發(fā))、Object-C或Swift(iOS開發(fā));當(dāng)然也有很多前端的開發(fā)框架:Vue、React、Angular等等;后端開發(fā)語(yǔ)言比較多,現(xiàn)在Java占了大半壁江山,常用的框架或中間件諸如Spring全家桶、關(guān)系型數(shù)據(jù)庫(kù)MySQL、Oracle等、非關(guān)系型數(shù)據(jù)庫(kù)Redis、MongoDB、ES等、消息中間件等等,
可以看到前端開發(fā)和后端開發(fā)的差別還是比較大的。現(xiàn)在有一個(gè)非常流行的詞兒叫做“前后端分離”,也就是前端工程和后端代碼分開部署,前后端通過接口的方式進(jìn)行連接,這樣前后端的開發(fā)人員在約定好接口之后,就可以并行開發(fā),并且一套后端可以支持不同的前端,實(shí)現(xiàn)后端代碼的復(fù)用,作者:會(huì)點(diǎn)代碼的大叔,一個(gè)寫代碼的架構(gòu)師,專注程序員的學(xué)習(xí)和成長(zhǎng),關(guān)注并私信我數(shù)字“1”,送你一份程序員大禮包。