服務端渲染到前端渲染,再到「服務端渲染」

最先時期的web

若是要呈現動態網頁,以前最先的時候只能ssr。
服務端把 數據+html 渲染成一個完整的web頁面,發送給前端。這時候的web只是簡單的信息展現。html

有交互性的web

而後發現網站光是有數據的展現還不夠,還須要有交互性。
交互性的工做交給了JS來完成,這時期的服務器上面除了讀取數據的後端代碼,還夾雜着不少JS的代碼。前端

先後分離的web

夾雜着JS代碼的後端不利於維護,先後端代碼分離成爲你們的心聲。(服務器來作大量的數據渲染計算也浪費了服務器的資源)
而先後端代碼分離須要面臨的一個問題就是數據通訊的問題,後端動態的數據怎麼傳送給前端。
這時Ajax(後來有fetch)被提出,Ajax能異步請求數據,讓用戶瀏覽網頁時感受更加平滑。Ajax不只解決了數據通訊問題,讓先後端分離(先後端並行開發)成爲可能,還帶了用戶體驗上的加強(異步加載)。web

SPA出現

交互體驗的極致和各個移動端的興起,SPA開始初出茅廬。
SPA接近於Native App,除了首次加載慢的問題(這個要看如何實現,也有避免首次加載慢的解決辦法)。之後的操做都不需從新刷新整個頁面,而是隻更新部分組件。
使用戶感受更快,體驗更好。後端

SPA帶來的問題

SPA帶來了SEO和首次加載過慢的問題。服務器

服務端來渲染交互性強的web。

這時的服務端渲染已經不一樣於以往的服務端渲染了。
以往的服務端渲染只是想把數據動態的展現到網頁上。而不考慮web的交互性,實現也是由後端人員實現的。
可是如今的狀況是,咱們不只須要一個具備交互性的web,並且這個web應用是由後端生成好的。
而且還必須先後端分離,不能有代碼冗雜。還有,這種ssr 的實現是由前端人員來完成的。前後端分離

歷史的車輪感受又轉回去了,可是意義徹底不同。
技術就像是螺旋上升的。
相關文章
相關標籤/搜索