區別:前後端不分離中,前端頁面看到的效果都是由後端控制,由後端渲染頁面或重定向,即後端需要控制前端的展示,前端與後端的耦合度很高。前後端分離中,後端僅傳回前端所需的數據,不再渲染HTML頁面,不再控制前端的效果,前端與後端的耦合度相對較低。
本文操作環境:windows10系統、thinkpad t480電腦。
相關推薦:《程式設計影片》
一、前後端分離的概念
1、前後端分離
(JSP | HTML)
,後端給前端提供接口,前端調用後端提供的REST
風格接口就行,前端專注寫頁面(html|jsp)
和渲染(JS|CSS|各種前端框架)
;後端專注寫程式碼就行。 1、軟體架構模式
最熟悉MVC
設計模式,Model—View-Controller
模型-視圖-控制器
(請求-Request)
,這個網址跑到哪裡去了呢?就去呼叫介面(REST風格)
,這個介面其實就是存取後端的一段程式碼(方法),後端有很多方法。 177.25.26.7/idp/user/login
,這裡面的idp
就表示一 user
表示一個類,login
表示具體要呼叫的那個方法,你一旦回車,就直接呼叫了後端這個方法,後端這個方法就去資料庫(MySQL| Oracle|其他)
取數據,資料庫表中每一行數據就表示一個對象,也就是一個JavaBean
,最後用pojo
方式存到集合框架( List|Map|Set|等)
中,方法把這個集合回,那麼呼叫這個介面的結果就是會響(Response)
給你一個結果集,前端就拿到了這個數據,然後透過頁面(html|Jsp)
展現出來,這個使用者看到的就是View
層做的事情。 2、前後端分離的原因
#以前,聽說TDD (Test-driven development,測試驅動開發)
可以改善程式碼的質量,我們便實作了TDD
;接著,聽說BDD (Behavior-driven development,行為驅動開發)
可以交付符合業務需求的軟體,我們便實作了BDD;後來,聽說DDD (Domain-driven design,領域驅動設計)
可以分離業務程式碼與基礎程式碼,我們便實作了DDD
。今天,聽說了前後端分離很流行,於是我們就實施了前後端分離——這就是傳說中的 HDD(Hype-driven Development,熱鬧驅動開發)
。
過程:TDD -》 BDD -》 DDD =》 HDD
3、前後端分離的優點
前後端分離則可以很好的解決前後端分工不均的問題,將更多的交互邏輯分配給前端來處理,而後端則可以專注於其本職工作,例如提供API
接口,進行權限控制以及進行運算工作。而前端開發人員則可以利用nodejs
來建立自己的本機伺服器,直接在本機開發,然後透過一些外掛程式將api
請求轉送到後台,這樣就可以完全模擬線上的場景,並且與後台解耦。前端可以獨立完成與使用者互動的整個過程,兩者都可以同時開工,不互相依賴,開發效率更快,而且分工比較均衡。
總結優點如下:
二、前後端分離與前後端不分離的差異
##1、前後端不分離
App
時,App
可能不需要後端回傳一個HTML
網頁,而只是資料本身,所以後端原本返回網頁的介面不再適用於前端App
應用,為了對接App
#後端還需再開發一套接口。 2、前後端分離
HTML
頁面,不再控制前端的效果。至於前端使用者看到什麼效果,從後端請求的資料如何載入到前端中,都由前端自己決定,網頁有網頁的處理方式,App
有App
的處理方式,但無論哪種前端,所需的資料基本上相同,後端僅需開發一套邏輯對外提供資料即可。 API
,前端透過存取接口對資料進行增刪改查。 想要查閱更多相關文章,請造訪PHP中文網! !
以上是前後端分離和不分離的區別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!