由LAMP Stack 到 JAM Stack ——— 傳統架構前後端之分離

May 29, 2024 | 堆疊探討

傳統網站的堆疊方法「LAMP Stack」,是前後端程式也在同一頁面上(試想想index.php 這頁面),然後放在伺服器等待使用者透過瀏覧器作出頁面的要求。當使用者開啟 Web 的某網站時,伺服器會產生顯示相關HTML 之頁面,然後將這些頁面傳送給使用者。

這個過程是相當緩慢的,在使用者可以檢視這些頁面之前,他們必須等待後端應用程式執行和產生 HTML,以及等待 HTML 到達他們的裝置。

JAM Stack 在這方面改善了速度,為使用者帶來更快的使用者體驗和為開發者帶來更簡單的建置網站的方法。

J 代表JavaScript,是 Web 應用的程式設計語言。

A 代表API(應用程式程式設計介面),是一種從第三方應用程式要求資料的方法。

M 代表Markup ,是為瀏覽器提供格式化指令的代碼(HTML 和 CSS)。

在 JAMstack Web 應用程式中,會預先建立好HTML 和 CSS 標記代碼,並儲存在內容傳遞網路 (CDN) 中;不同於在伺服器端執行一個單一的後端應用程式來產生動態內容,此類應用程式的動態元件是基於 API,而JavaScript 則負責呼叫 API。

比方說,使用 JAMstack 方法建置Web 應用程式,開發者不用編寫整個後端應用程式,而是建立了一系列靜態且輕量級的 HTML 頁面,並將其儲存在 CDN 中。當使用者開啟應用程式時,CDN 會立即將相應的 HTML 頁面交付給使用者,因為 CDN 比網站的伺服器更接近使用者,再配合呼叫 API 來渲染動態資料,載入的速度較快。

而從開發者角度看,亦省卻了大量編寫後端程式代碼的工作。

如欲深入了解這網站建置的進化過程,可學習本網站此課程。

JAM Stack – RedTechSchool