什麼是 JAMstack?

了解 JAMstack 的意義以及這組技術的優勢 你在過去幾年中一定聽過 JAMstack 這個詞語。 JAMstack 是一組技術,結合使用以實現目標,如果你熟悉 LAMP 和 MEAN 的話,你可能已經知道了。 JAMstack 是什麼意思? JAM 表示 JavaScript、API 和 Markup。 它描述了在創建網絡應用程式和網站時具有以下特點的趨勢: 有一個“愚蠢”的網絡伺服器(或者CDN),傳送運行應用所需的 HTML,通常是使用靜態站點產生器生成的。HTML 不是在伺服器上生成。 應用程式可以載入一些 JavaScript,從 API 中接收數據。頁面互動,如導航,可以導致從 API 獲取更多數據。認證也是通過 API 完成的。 這種新的方法是一種新的方式,與傳統的方式不同: 傳統網站提供應用程序中已有的內容(如靜態站點)。 基於 CMS 的網站從後端的數據庫中加載信息。 使用任何種類的後端語言進行服務器渲染的應用程式。 它也不同於具有服務器渲染部分的客戶端渲染網站(例如使用 React 構建)。JAMstack 完全不涉及服務器渲染。 使用 JAMstack 的優勢是什麼? 它快速。HTML 已經生成並且網絡伺服器只需提供它,而無需進行從數據庫查找數據或為每個請求生成頁面 HTML 等任何後端操作。它可以通過 CDN(內容傳遞網絡)輕鬆提供。 它高效。由於沒有後端,所以沒有瓶頸(例如沒有數據庫)。 它更便宜,因為通過 CDN 提供資源比通過後端伺服器提供資源要便宜得多。 它更安全,因為後端僅通過 API 公開。 傳統的動態服務器渲染網站應用程序的方式(如 WordPress、Laravel 和 Rails)在許多情況下正被一種較輕的方式所取代。 一個典型的 WordPress 網站在每次頁面加載時可能對數據庫進行30-100次請求,這取決於安裝的插件數量。除非頁面被大量緩存,否則當一個 WordPress 網站在 Hacker News、Reddit 或任何其他大型網站上變得流行時,你會看到一個空白頁面-這意味著伺服器上發生了故障,因為該網站無法應對所有的流量。這往往是一個失去的機會,因為當網站以其最高的流行度時它無法運作。 相比於這些情況,提供一個靜態 HTML 頁面要有效得多,並且在 HTML 載入後可以根據需要仍然獲取動態數據,使用獨立的 API 呼叫。...