JAMstack 是一种新的构建网站的方式。JAM 三个字母分别代表了三种技术/概念:
- JavaScript
- APIs
- Markup
而 stack 就是将这三种技术/概念结合使用。
Jamstack 是在目前使用 React、Vue 此类框架渲染页面慢的情况下诞生的。
我们来看下利用 Vue 渲染页面的流程:
- 加载 HTML
- 加载 JS
- 解析模板
- 生成渲染函数,
- 执行函数渲染页面
而 Jamstack 的流程则是:
- 加载 HTML
- 渲染页面
渲染速度的差别高下力判。总结下就是:
从第一个字节到达浏览器,引擎就可以开始渲染页面。
你可能会想到 Jamstack 的渲染方式和最古老的前端开发很像,内容全写在 HTML 里面,加载即渲染。
没错,确实很像,但区别还是有的:Jamstack 并没有让你放弃好用的框架,你依然可以使用你喜欢的 Vue 或者 React 来开发。这点相较于古老的开发方式,开发效率上不可同日而语。
当然 Jamstack 并不是魔法,用框架自然就逃不开编译模板的过程。Jamstack 的核心就是利用预编译技术将页面提前解析好。
听到预编译,你是不是又有种似曾相识的感觉?没错,别怀疑自己。你之前用到过的 Next、Nuxt、VuePress 都可以成为 Jamstack 的核心。
扫描二维码关注公众号,回复:
11049885 查看本文章
staticgen - A List of Static Site Generators for JAMstack Sites 提供了更多可用的预编译框架。
如果你追求极致的性格,可以继续参考 JAMstack 最佳实践来进一步提升体验。里面提供了一些对你有用的建议,比如,将整个网站托管的 CDN 上(是不是有点疯狂)。
当然,Jamstack 这种构建网站的方法也是有限制的,以下的情况就不太适合使用 Jamstack 了:
- 类似 WordPress 的 CMS
- 单页面应用
- 基于 SSR 渲染的网站
更多资源