JAMStack(JAM 表明JavaScript,API 和Markup)是一種使用Static Site Generators(SSG) 技術、不依賴 Web Server 的前端架構。前端
它的核心是:不依賴 Web Server。vue
這看起來和把一個靜態網站部署到文件服務器沒什麼區別。我理解,JAMStack = 現代 SSG 框架 + DevOps + Serverless,是一種「究極」的先後端分離。git
激進的說,「Static is the new dynamic」。github
一種有趣的比喻是:「CDN 優先應用程序」。數據庫
對比 Client Side Rendering(CSR),SSG 的 TTFB 有明顯的優點;同時因爲提早渲染,SEO 也更友好。npm
對比 Server Side Rendering(SSR),SSG 部署簡單,直接放到 CDN 便可,不依賴 Node Server 動態渲染。TTFB 也優於 SSR。後端
Next.js的做者之一Guillermo Rauch提到,因爲 JAMStack 的易部署特性,給整個前端的開發測試流程帶了翻天覆地的變化:「The Deploy URL, the Center of Gravity」,即在開發、測試、驗收等等的流程中,核心是圍繞 URL。瀏覽器
如今「三大框架」都有相應的 SSG 方案,既知足了多樣化、複雜化的前端開發須要,又能簡單的生成靜態網頁:安全
部署方面有Vervel、Netlify、騰訊云云開發等等。服務器
Ledge(源自 know-ledge,意指承載物)知識平臺是基於咱們所進行的一系列 DevOps 實踐、敏捷實踐、精益實踐提煉出來的知識體系。
Ledge 網站使用 Angular 開發。做爲一個類 Wiki 型的網站,它使用 Markdown 做爲編寫內容的語言,使用Ledge Framework動態的將 Markdown 轉換爲 HTML。這就涉及到,若是轉換過程在瀏覽器進行,勢必致使性能的降低,和對 SEO 的影響。
因此咱們選擇了Scully做爲 SSG 框架,在 build 階段依據路由將內容提早轉換爲 HTML 頁面:
各方面性能都有了大幅提升: