JAMstack 是否只有品牌宣传而没有实质内容?
上周,当被要求分享一个与主流观点相悖的看法时,妮可·沙利文发布了一条消息,引起了很多人的关注:
毋庸置疑,那些讨厌 JAMstack 的人对它爱不释手,而我们其他人(我想应该是喜欢 JAMstack 的人)则感到非常失望。
事实上,妮可的说法没错。JAMstack 这个术语的确完全是一种品牌营销手段。它是由 Netlify 的开发者在 2016 年创造的,目的是重新包装我们之前称之为“静态网站”的东西。在开发者生态系统中,我们已经见过太多类似的品牌重塑案例,所以难免心存疑虑——比如 Netscape 当年为了借助 Sun 的 Java 品牌效应,将 LiveScript 更名为 JavaScript,尽管两者之间并无任何实际联系。但我认为,从静态网站到 JAMstack 的转变,其目的并非用空洞的营销术语来操纵开发者,而是为了让名称更贴合解决方案本身。
静态网站有什么问题?
我们仍然称 Hugo 或 Gatsby 等工具为静态网站生成器,那么为什么该过程的最终结果不是“静态网站”呢?
事实上,很长一段时间以来,它们基本上都是静态网站。早在2015年,我为O'Reilly撰写《静态网站生成器》报告时,就列出了判断你的网站是否适合成为静态网站的三个标准:
- 专注于内容交付——当时的静态网站生成器主要专注于创建和交付长篇内容(通常用 Markdown 编写),这也是它们针对此进行了优化。
- 用户交互程度低——当然,当时已经存在 API,但向静态网站添加登录或购物车之类的功能很复杂,而且支持这些功能的服务在很大程度上还不存在或还处于起步阶段。
- 更新频率低——构建和部署这些网站既繁琐又缓慢。像 Netlify 这样的服务当时还很新,所以大多数网站都是通过 FTP 部署的。
如您所见,这些内容与现代 JAMstack 完全不符。这是因为静态网站仅仅描述了最终结果(静态文件),而 JAMstack 的核心在于构建网站的方式。虽然这些网站最终部署为静态文件,但无论在构建过程还是最终结果中,它们都远非静态。
为什么人们又爱又恨 JAMstack 这个名字
首先,开发者们一边痛恨所谓的流行语,一边又不断地滥用它们。想想看,你一提到“无服务器”(serverless)这个词,就不得不面对“这里面肯定有服务器”的质疑(你认识哪个开发者不知道无服务器代码最终还是要运行在某个服务器上的?)。我们谈论物联网(IoT)、虚拟现实/增强现实(VR/AR)(甚至是扩展现实XR)、DevOps、DesignOps、持续部署……等等等等。我们这群人口口声声说讨厌流行语,结果却又爱用。而且,尽管我们抱怨连连,但通常也没人能想出一个更贴切、更不落俗套的词来形容这些东西。(就算有人想出来,最终不也成了新的流行语吗?)
所以,一部分原因是对泛泛流行语的反感。另一部分则源于一个合理的抱怨:JavaScript、API 和标记语言(JAMstack 中的 JAM)几乎可以描述网络上的所有网站。过于笼统的流行语会立刻触发大多数开发者的“胡扯探测器”。
我的回答包含两方面:
-
尽管JAMstack是JAMstack的缩写,但它更侧重于网站的构建方式,而不是网站的组成要素。或者,正如Divya在她的文章《是什么让一个网站成为JAMstack?》中所说:
JAMstack 是一种方法论,而非最终成果。你可以说 JAMstack 网站是静态网站,但静态网站未必就是 JAMstack 网站。
-
我没有更好的名字建议。2016年Netlify第一次跟我分享这个名字的时候我没有,现在也没有。你有吗?
JAMstack 有实质内容吗?
到目前为止,我们已经讨论了“静态网站”需要重新命名的原因,以及人们对 JAMstack 这个名称的一些看法。但回到妮可最初的观点,即这个名称缺乏实质内容。大约三年前,这种说法或许成立,因为即使迁移到 JAMstack,静态网站的本质也没有改变,即便重新命名是为了消除人们的误解。然而,这三年间发生了翻天覆地的变化,围绕 JAMstack 构建的生态系统也日趋完善,因此我不认同“重新命名仅仅是营销手段”这种说法。
如今的 JAMstack 生态系统不再仅仅是静态网站生成器与一些无服务器函数和 API 调用的简单组合。它拥有专门针对这种架构而构建的公司和工具,涵盖了从添加注册/身份验证、启用电子商务和购物车,到允许非技术内容创作者在线创建/编辑内容等各个方面。短短几年间,变化如此之大,以至于在考虑更新我们与 O'Reilly 合作出版的《使用静态网站》一书时,我和 Ray 最终决定对其进行彻底重写。
没错,JAMstack 这个术语听起来或许仍然过于笼统和包罗万象。它是一个并不完美的术语,可以被恰当地称为营销术语,但它仍然描述了一些重要的东西,不容忽视。
文章来源:https://dev.to/remotesynth/is-jamstack-all-branding-and-little-substance-1pih