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