不知道 JAMstack 的就来了解下吧

JAMstack 是一种新的构建网站的方式。JAM 三个字母分别代表了三种技术/概念:

  • JavaScript
  • APIs
  • Markup

stack 就是将这三种技术/概念结合使用。

Jamstack 是在目前使用 React、Vue 此类框架渲染页面慢的情况下诞生的。

我们来看下利用 Vue 渲染页面的流程:

  1. 加载 HTML
  2. 加载 JS
  3. 解析模板
  4. 生成渲染函数,
  5. 执行函数渲染页面

而 Jamstack 的流程则是:

  1. 加载 HTML
  2. 渲染页面

渲染速度的差别高下力判。总结下就是:

从第一个字节到达浏览器,引擎就可以开始渲染页面。

你可能会想到 Jamstack 的渲染方式和最古老的前端开发很像,内容全写在 HTML 里面,加载即渲染。

没错,确实很像,但区别还是有的:Jamstack 并没有让你放弃好用的框架,你依然可以使用你喜欢的 Vue 或者 React 来开发。这点相较于古老的开发方式,开发效率上不可同日而语。

当然 Jamstack 并不是魔法,用框架自然就逃不开编译模板的过程。Jamstack 的核心就是利用预编译技术将页面提前解析好。

听到预编译,你是不是又有种似曾相识的感觉?没错,别怀疑自己。你之前用到过的 Next、Nuxt、VuePress 都可以成为 Jamstack 的核心。

staticgen - A List of Static Site Generators for JAMstack Sites 提供了更多可用的预编译框架。

如果你追求极致的性格,可以继续参考 JAMstack 最佳实践来进一步提升体验。里面提供了一些对你有用的建议,比如,将整个网站托管的 CDN 上(是不是有点疯狂)。

当然,Jamstack 这种构建网站的方法也是有限制的,以下的情况就不太适合使用 Jamstack 了:

  • 类似 WordPress 的 CMS
  • 单页面应用
  • 基于 SSR 渲染的网站

更多资源

  • JAMstack WTF
  • New to JAMstack?

你可能感兴趣的:(零散的随笔)