日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3分钟搞懂前后端开发的区别

發(fā)布時間:2023/12/4 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3分钟搞懂前后端开发的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上周末見了好多開發(fā)的年輕朋友,問了我一個問題:“前后端的區(qū)別和要求是什么?”分不清前后端開發(fā)的區(qū)別和要求,一種是因為前后端都了解,號稱“全棧工程師”,但又什么都不是很精通;另一種是前端的不理解后端,后端的不理解前端。那前后端的區(qū)別到底在哪里呢?

一、前后端開發(fā)崗位的區(qū)別

1、對于初學(xué)者來說

(1)前端:入門簡單,先易后難,能看到自己做出來的展示界面,有成就感;

(2)后端:入門難,深入更難,枯燥乏味,沒有太大成就感,看一堆業(yè)務(wù)邏輯代碼。

2、對于程序員來說

在實際的開發(fā)過程中,這個階段對前后端的要求還是蠻低的,尤其是后端,新員工經(jīng)過培訓(xùn)之后都可以參與到后端開發(fā)中,這些都是比較淺的技術(shù)層面,沒有太高的技術(shù)門檻,唯一需要做的是先編碼成為熟練工種。

(1)前端開發(fā)人員精通HTML、CSS和JS,能熟練使用JQuery,并能熟練應(yīng)用于頁面布局、頁面樣式和屏幕分辨率自適應(yīng)以及交互效果的開發(fā)等工作;

(2)后端開發(fā)人員熟練使用一門編程語言(比如:Java、C#、Python、C++等)和懂一些設(shè)計模式,會編寫SQL語句并懂?dāng)?shù)據(jù)庫設(shè)計。

3、對于工程師來說

(1)對于有了一定經(jīng)驗的前端軟件工程師來說,這個階段需要懂Node.js、Vue.js、React.js等前端框架,涉及到前端開發(fā)架構(gòu)和開發(fā)效率(比如:組件、模版和驗證/解析方法封裝等等)等一系列問題。

(2)對于有了一定經(jīng)驗的后端軟件工程師來說,這個階段需要懂Spring/MVC、iBatis等框架,涉及到數(shù)據(jù)結(jié)構(gòu)、設(shè)計模式、后端開發(fā)架構(gòu)和開發(fā)效率(比如:業(yè)務(wù)功能和方法封裝等等)等一系列問題。

4、對于技術(shù)經(jīng)理或者架構(gòu)師來說

這個階段編程已經(jīng)不是主要工作了,但必須具備上面的技能,還需要具備架構(gòu)能力,跟開發(fā)者已經(jīng)不在一個level上了,主要區(qū)別在于技術(shù)領(lǐng)導(dǎo)力,本文只探討前后端開發(fā),就不再往下延伸了。

二、前端和后端開發(fā)內(nèi)容的區(qū)別

1、運(yùn)行環(huán)境不同

(1)Web前端代碼主要在客戶端(PC、手機(jī)、pad)運(yùn)行;

(2)Web后端的代碼主要在服務(wù)端運(yùn)行,服務(wù)器可以在提供服務(wù)廠家的數(shù)據(jù)中心,也可以在云端。

2、與用戶緊密關(guān)系不同

(1)前端重用戶體驗,主要是考慮怎樣能讓用戶覺得用起來更舒服,考慮界面布局、交互效果、大數(shù)據(jù)量頁面加載速度等等,主要是偏向用戶看得見的部分,客戶端(pc、手機(jī)、pad)上瀏覽web頁面,處理各個瀏覽器平臺的兼容和對界面的渲染差異,對UI庫的依賴較強(qiáng);

(2)后端更多是考慮業(yè)務(wù)邏輯、數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計、數(shù)據(jù)的事務(wù)操作、跨平臺API設(shè)計、負(fù)載均衡、應(yīng)用和服務(wù)部署等等,更多的是考慮用戶看不到的部分,保證業(yè)務(wù)邏輯處理數(shù)據(jù)的嚴(yán)謹(jǐn),保證用戶訪問數(shù)據(jù)吞吐的性能。

3、需求變更帶來的影響不同

(1)前端主要怕系統(tǒng)原型的頻繁變更,布局樣式、交互效果的需求變更;

(2)后端主要怕業(yè)務(wù)邏輯變更,或者當(dāng)使用規(guī)模增大之后對穩(wěn)定性帶來的影響。

4、前后端通吃的全棧工程師

作為一個前端開發(fā)人員,如果它懂得后端,那他可能會很容易理解為什么要通過多個后端接口獲取數(shù)據(jù)后,才能組裝上它所需要的數(shù)據(jù)?

而作為一個后端開發(fā)人員,如果它懂得前端,那他可能會很容易理解為什么后端接口都設(shè)計得如此完整,而前端還要求我再定義一個接口來返回一部分的數(shù)據(jù)呢?

這兩種情況下如果大家相互理解,如果全棧工程師就不需要大量溝通提高了開發(fā)效率;而為了解決這個問題,很多開發(fā)架構(gòu)分離出數(shù)據(jù)操作的職責(zé)給ViewModel,它是由MVC框架演變?yōu)镸VP和MVVM框架而來的,在MVP框架中View 與 Model 不發(fā)生聯(lián)系,由后端實現(xiàn)通過 Presenter 傳遞;而MVVM框架中ViewModel 只關(guān)心數(shù)據(jù)和業(yè)務(wù)的處理,不關(guān)心 View 如何處理數(shù)據(jù),在這種情況下,View 和 Model 都可以獨(dú)立出來,由前端實現(xiàn)雙向數(shù)據(jù)綁定。

三、前后端開發(fā)業(yè)務(wù)應(yīng)用的區(qū)別

很多開發(fā)者跟我交流,大多數(shù)開發(fā)人員認(rèn)為:做后端開發(fā)天生是有優(yōu)越感的。因為與前端相比,后端更加接近業(yè)務(wù)本質(zhì),數(shù)據(jù)結(jié)構(gòu)基本上都是后端來設(shè)計的,對公司的業(yè)務(wù)后臺開發(fā)也更加了解,所以在很多人眼中或者潛意識里:后端比前端要重要。這也是很多人選擇做后臺開發(fā)的原因。然而事實真的如此嗎?

如果非得下個結(jié)論的話,就從軟件項目和軟件產(chǎn)品兩個維度說一下側(cè)重點(diǎn):

如果是做項目的思路:初期以功能為主,更側(cè)重后端開發(fā),后期功能穩(wěn)定后更側(cè)重前端開發(fā),做得好可以把項目軟件提升檔次;

如果做產(chǎn)品的思路:更多的是采用MVP(minimum viable product,最小化可行產(chǎn)品)不斷迭代的開發(fā)方式,而MVP方式更注重在前端界面等涉及到用戶體驗方面的模塊開發(fā),當(dāng)然相對應(yīng)的后端功能開發(fā)也必須跟上。

總體來說,不管是前端還是后端,大家都是為了把項目或者產(chǎn)品做好,通過項目或者產(chǎn)品實現(xiàn)其用戶或社會價值,都是朝著這樣一個共同的目標(biāo)努力。

想學(xué)好任何一門技術(shù),還要看自己對這門技術(shù)的興趣度,如果是想從事軟件開發(fā)又不喜歡的朋友,真得想好了是不是要保護(hù)自己的發(fā)際線位置和頭發(fā)的顏色。

總結(jié)

以上是生活随笔為你收集整理的3分钟搞懂前后端开发的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。