在傳統的web應用開發中,大多數的工作人員會將瀏覽器作為前后端的分界線。將瀏覽器中為用戶進行頁面展示的部分稱之為前端,而將運行在服務器,為前端提供業務邏輯和數據准備的所有代碼統稱為后端。
在前后端不分離的時代,在項目開發階段,前端人員負責編寫HTML頁,后端人員負責寫接口,前端人員調試頁面動態數據都需要后端人員的配合,不能單獨調試,耗時耗力。前端把前后端代碼存放於同一個代碼庫中,甚至是同一工程目錄下。頁面中還夾雜着后端代碼。前后端工程師進行開發時,都必須把整個項目導入到開發工具中。
前后端不分離
隨着時代的發展,漸漸的許多大中小公司開始把前后端的界限分的越來越明確,前端工程師只管前端的事情,后端工程師只管后端的事情。
前后端分離:
在實現前后端分離架構之后,前端工程師只需要編寫HTML、js、CSS等前端資源,然后通 過HTTP請求調用后端提供的服務即可。除了開發期的分離,在運行期前后端資源也會進行分離部署。開發期間前后端共同商定好數據接口的交互形式和數據格式。然后實現前后端的並行開發,其中前端工程師再開發完成之后可以獨自進行mock測試,而后端也可以使用接口測試平台進行接口自測,然后前后端一起進行功能聯調並校驗格式,最終進行自動化測試。
開發流程圖:
前后端分離能帶來哪些好處呢?
1為優質產品打造精益團隊
術業有專攻,通過將開發團隊前后端分離化,讓前后端工程師只需要專注於前端或后端的開發工作,是的前后端工程師實現自治,培養其獨特的技術特性,然后構建出一個全棧式的精益開發團隊。
2提高工作效率,分工更加明確
前后端分離的工作流程可以使前端只關注前端的事,后台只關心后台的活,兩者開發可以同時進行,在后台還沒有時間提供接口的時候,前端可以先將數據寫死或者調用本地的json文件即可,頁面的增加和路由的修改也不必再去麻煩后台,開發更加靈活。
3局部性能提升
通過前端路由的配置,我們可以實現頁面的按需加載,無需一開始加載首頁便加載網站的所有的資源,服務器也不再需要解析前端頁面,在頁面交互及用戶體驗上有所提升。
4增強代碼可維護性
前后端分離后,應用的代碼不再是前后端混合,只有在運行期才會有調用依賴關系。
應用代碼將會變得整潔清晰,不論是代碼閱讀還是代碼維護都會比以前輕松。
結束語:雖然說前后端分離利大於弊,但也是對於項目的性質而言,有的項目不需要前后端分離,強行前后端開發就本末倒置了。
參考鏈接:https://segmentfault.com/a/1190000009329474?_ea=2038402