淺談從后端開發的角度去理解 為什么要前后端分離


  本人是寫 C/S 端開始工作,后來寫了2年 ASP.Net 然后最近4年開始接觸 TypeScript,Angular,Vue。為什么不學 React ?太專業了,學習成本太高。

  在 Angularjs(不是 Angular2+), Vue, Rect,還沒出現之前,Net 體系都是 ASP.Net + Razor + JQuery 整體的開發整個網站。如下圖:

  

 

 

  那么問題來了,整個東西全部由 Net 開發去做,前端做啥?我記得那個時候前端就是做原型,后端開發再拿去改改,聯調。  

  然后 前后端分離 已經成了一個必然的趨勢,有沒有感覺這個場景好像在哪見過?沒錯,就是解耦,高內聚,低耦合。

  后端的開發做解耦就是用接口去做分離,比如新手(包括我以前)總覺得創建一個類再加個接口,然后用 DI 去注入一個實例感覺多此一舉,

然而並不是那樣,這樣的設計目的是保持程序擴展性,利用面向對象的特性來設計。(PS: 關於接口我可能還會再單獨寫點東西)

  那么前后端分離到底有哪些好處呢。

  1.分離關注點

    前端只關心數據如何展示,用戶體驗,美觀炫酷,以及前端自己的邏輯流程(比如頁面跳轉,數據存儲等),至於后端是什么語言都不用關心

    后端只關心數據接口,業務邏輯的接口,通常就是 Webapi 接受前端的 http 請求,只要能接收 http 請求,甚至可以是 RPC ,至於是誰請求並不關心,只要有類似 JWT, OAuth 認證

  2.提高開發效率

    當前后端雙方將初步設計的接口敲定,雙方可以開始並行工作,相比較以前的工作模式,前端必須等待后端完成的進度來繼續工作,相當於 多線程同步 直接轉換為 並行計算。PS: 前端還可以

自己去 Mock 數據,完全不要服務端寫一些偽數據接口,自己玩耍,早早下班 Happy ,階段工作總是比后端先寫完。。

  整體結構如下圖:

  

 

   寫在最后:以后的工作模式肯定是細化工作,專精某一領域去工作,團隊越大越細化,並不是說全棧不好,高級全棧工資很高,而是人的精力有限(如果你是非常熱愛編程,每天70%~90%時間都在編程的那種鬼才請無視我這句話)

專注某一個領域去鑽研更容易提高你的核心競爭力,也就是工資更高。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM