網頁應用程式架構的演變(4) : 前端渲染和後端提供API

2023 年 1 月 28 日 | 千探程式

傳統LAMP stack 架站,每當使用者在瀏覽器每次要求某網頁頁面時,侍服器便先在頁面「渲染(render)」好樣式和資料,才將頁面回傳到瀏覧器。正因如此,有時渲染和傳輸來不及,瀏覧器便會短暫出現白頁,須等待侍服器徹底的回傳頁面,這使得使用者體驗大大降低。

約在2010年,JavaScript 結合chrome 的直繹器V8 引挈,編製了Nodejs程式,從而可建立一個執行環境(runtime environment 」,令JavaScript 跳出瀏覧器,直接在電腦的作業系統中運行;由此,架站方法起了結構性改變。

過往後端PHP所做的事,逐步移向前端,由前端的三個主要JavaScript 框架:Angular、React 或Vue代勞。

最關鍵的分別是後端再不是回傳整個網頁「頁面」,而是只透過前端程式碼呼叫API 來回傳「資料」,而資料多以JSON 格式傳輸;至於渲染的工作,則一次過由侍服器傳輸所有頁面的程式碼到瀏覧器,再由前端JavaScript的框架(Angular、React 或Vue)控制和負責渲染頁面樣式。

這架站方法無異提供了傳輸的效能,加強了使用者的體驗,典型的堆疊方法有MEAN stack 和JAM stack。