搜索

编织的网

Apr 02, 2025 pm 06:33 PM

Weaved Webs

Jamstack 的一个有趣的悖论:其概念简单,却可能导致复杂性。

核心思想是:将预渲染的静态文件部署到擅长处理静态文件的 Web 托管服务(CDN)上。就这么简单。如果需要更多功能,则使用客户端 JavaScript,通常会与无服务器函数配合使用,因为这是 Jamstack 后端的理想搭档。Guillermo Rauch 最近在 Smashing Conf 上提到,Jamstack 并非严格意义上的“技术栈”,因为它对具体实现方式几乎没有限制。尽管我喜欢“Jamstack”这个词,但这说法也有一定道理。

讽刺的是,虽然概念简单,但这简单性却可能导致复杂性

Netlify 公司是 Jamstack 的主要推动者,他们深知这一点。他们知道,如果没有后端服务器和后端语言,像基本的联系表单这样的功能实现起来会很复杂。我们不得不另寻他法来处理表单,而不是直接使用现成的解决方案。因此,他们为你解决了这个问题(以及其他一些问题,例如身份验证和无服务器函数)。但是,还有许多其他公司也想成为你系统中的一个齿轮。

这只是潜在复杂性之一。你使用什么 CMS 或其他数据存储?你的构建过程是什么样的?你如何预览内容更改?你如何进行身份验证?如果你需要一些花哨的日历小部件怎么办?如果你想卖东西怎么办?对于网站可以实现的任何功能,Jamstack 都有解决方案——只是将所有这些解决方案结合起来可能会感觉支离破碎且令人困惑。

Dave 最近尝试使用 Eleventy Tailwind Netlify CMS(这是 Jamstack 风格的),他说感觉像是在放牧牛群:

我这个小程序原本只打算使用 3 种技术,结果却让我接触到了大约 20 种不同的技术,并且让我在午夜后深入挖掘第 n 层依赖项的源代码。如果有什么比喻能说明我不喜欢现代 Web 开发的方面,那就是这个。你想使用三种工具,但你却不得不学会使用二十种工具。如果模块和组件像乐高积木,那么这就是把整个积木箱都倒在地上,只为了找到你需要的一小块积木。

“我们编织的错综复杂的网络”,确实如此。

在 Richard MacManus 和 Matt Mullenweg 之间的谈话¹中,Richard 引用了 Matt 的话:

“你可以将十几个服务拼凑在一起,每个服务都有自己的帐户和账单,每月花费数百美元,才能获得与在共享主机上使用 WordPress 获得的类似结果,”他说。“而且它会更脆弱,因为链条的强度取决于最薄弱的环节。你将不同的工具集、登录、账单、托管……连接在一起;任何一部分出现故障都可能破坏整个流程。”

如果我正在考虑为某个项目使用 Jamstack,而最终总共有十二个服务,我可能会重新考虑,特别是如果我可以使用 WordPress 并将其减少到一个服务。Jamstack 还有许多其他合理的批评,尤其是在其发展早期。例如,“带有预览功能的 CMS”的故事并不是很好,而这是 WordPress 上你甚至不会考虑的功能,因为,显而易见,它具有该功能。

Jamstack 也确实做了一些我非常看重且领先于其他技术的事情。基于 Git 的部署?所有网站都应该具备这个功能。我的拉取请求预览?太棒了。亚 100 毫秒的首个请求?求之不得。不必摆弄缓存?太爽了。赶上吧,其他技术栈。

我的意思是,这里需要做出“金发姑娘”式的选择。你可以通过做你可能已经在做的事情来做到这一点:穿上你的成人裤子,考虑你的项目需要什么,然后选择最佳方案。

我有一些生产环境的 WordPress 网站。就像这个!很棒!

我也有生产环境的 Jamstack 网站。就像这个!它不是一个复杂的网络服务。它是一个静态网站生成器,内容位于 GitHub 仓库中,并使用 Netlify 部署。虽然 CSS-Tricks 可以做大约 100 件这个网站无法做到的事情,但它也有一些 CSS-Tricks 做不到的技巧,例如接受内容的拉取请求。

我觉得在我的所有案例中,我都选择了相当不错的方案。

  1. 虽然 Matt 明显有动机来捍卫 WordPress 的方法,但我感觉这里的观点是真诚的;部分原因是 Automattic 投资于替代技术栈方法,并且 WordPress 和 Jamstack 并不相互排斥。我喜欢对此的回应,例如 Ohad Eder-Pressman 的公开信,其中也充满了带有动机但真诚的想法。

以上是编织的网的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
迭代使用样式组件的React设计迭代使用样式组件的React设计Apr 21, 2025 am 11:29 AM

在一个完美的世界中,我们的项目将拥有无限的资源和时间。我们的团队将开始使用经过深思熟虑的UX设计进行编码。

哦,制作三角形面包丝带的许多方法!哦,制作三角形面包丝带的许多方法!Apr 21, 2025 am 11:26 AM

哦,制作三角形面包屑丝带的许多方法

CSS指南中的SVG属性CSS指南中的SVG属性Apr 21, 2025 am 11:21 AM

SVG具有自己的一套元素,属性和属性集,以至于内联SVG代码可能会变得漫长而复杂。通过利用CSS和SVG 2规范的一些即将到来的功能,我们可以减少该代码以进行清洁标记。

交叉观察者的一些功能用途可以知道何时在元素中查看交叉观察者的一些功能用途可以知道何时在元素中查看Apr 21, 2025 am 11:19 AM

您可能不知道这一点,但是JavaScript最近偷偷地积累了许多观察者,而交叉观察者是其中的一部分

恢复偏爱减少运动恢复偏爱减少运动Apr 21, 2025 am 11:18 AM

我们可能不需要扔掉所有CSS动画。请记住,这更喜欢减少动作,而不喜欢不运动。

如何将进步的Web应用程序进入Google Play商店如何将进步的Web应用程序进入Google Play商店Apr 21, 2025 am 11:10 AM

PWA(Progressive Web应用程序)已经与我们在一起了一段时间。但是,每次我尝试向客户解释它时,同样的问题都会出现:“我的用户会成为

处理HTML的最简单方法包括处理HTML的最简单方法包括Apr 21, 2025 am 11:09 AM

这对我来说非常令人惊讶,HTML从未在其中包含其他HTML文件。似乎也没有任何东西

更改悬停在悬停的SVG的颜色更改悬停在悬停的SVG的颜色Apr 21, 2025 am 11:04 AM

使用SVG有很多不同的方法。取决于哪种方式,在不同状态或条件下重新定制该SVG的策略 - 悬停,

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具