Christian Heilmann 在 Typo3 开发者日 做了这个演讲。我分享它是因为它触及了我内心深处的一个痛点。网络开发的日益复杂与进入网络开发领域的人数减少之间存在反比关系。
我喜欢 Christian 如何比较两个假设的开发栈。
那时
index.html
现在
- 获取带有所有正确扩展名的正确编辑器
- 使用正确的字体和所有酷炫的点文件设置您的终端
- 使用捆绑器 wolperdinger.io 安装框架 flügelhorn.js
- 转到终端并运行
packagestuff –g install
- 查看所有有趣的警告消息并更新依赖项
- 无法运行?使用 SUDO,所有酷孩子都在……
- 不要理会模块文件夹的大小
- 学习抽象 windfarm.css - 它确实让你更加高效
- 使用模板语言 funsocks - 它比 HTML 小得多
- 一小时后查看惊人的 hello world 示例…
他确实有点轻率,但重点是坚实的。与比方说十年前相比,如今事物变得更加复杂。我记得 当时在与 Grunt 搏斗,并认为我永远不会 把它做好。我最终做到了,此后我的 IDE 就发生了翻天覆地的变化。
很容易被复杂性所淹没,即使对于该领域的经验丰富的人员也是如此
不幸的是,这个领域正在消失或至少正在退化——这并不是因为无法再查看网页的源代码,而是因为即使在简单的网页上,源代码也常常难以理解。
— Pixel Envy “查看源代码网页”
Christian 的文章提醒我,网络的本质不仅仍然存在,而且每天都在变得更好
- 浏览器不断更新。
- 网络标准化过程比以往任何时候都快。
- 我们并不都需要构建下一个杀手级应用。许多框架承诺无限扩展,但我们中只有少数人会真正需要它。
他接着提出了许多从项目中移除复杂性和抽象的方法。我最大的收获被一个标题概括了
网络建立在弹性技术之上——我们只是没有使用它们
这让人想起 Molly White 今年早些时候所说的话,即始终有机会让钟摆摆回
问题是:这一切都没有消失。网络的任何方面都没有发生变化,阻止我们回到过去。如果说有什么变化的话,那就是它变得容易多了。我们可以回归。更好的是:我们可以恢复我们对旧网络的喜爱之处,同时融入自那时以来出现的精彩事物,在我们前进的过程中开发出更好的事物,并将我们过去常常在戴上玫瑰色眼镜时忘记的一些早期网络时代的事物抛在脑后。
我们可以回归。我们可以恢复所有事物。所以,告诉我:你是选择 红色药丸还是蓝色药丸?
这个论点基本上是说我们应该回到化油器,因为燃油喷射系统更精密复杂。然而,您看不到任何新车是这样制造的。
如果您的技术栈没有让您更高效,就不要使用它(您可能使用方式不对)。但对许多人来说,它使我们能够构建庞大而复杂的系统,这些系统可以扩展并允许您对其进行推理、迭代并保持开发/调试体验正常。
(对于精通 HTML 的人,请尝试将 htmx 与您最喜欢的后端配对,或者使用 ssr 模板以原始方式进行操作 ♂️)
归根结底,市场上现有的所有东西都只是选项。
我认为论点比这更进一步——更多的是关于在简单(而且通常同样有效)的解决方案一直存在的情况下,默认选择复杂性。我们不必选择那个方向。
我们总是回到旧事物。
人生就像一个大钟摆,不是吗?!
复杂性本身并不是一件坏事,但我确实怀念在记事本、Notepad++甚至 Vim 和 Nano 中编辑 HTML 的简单时光。我认为更大的问题是选择。我们可以选择 Node、Deno 或 Bun,我确定还有其他我遗漏的东西。Yarn、npm、pnpm 等。Vite、Webpack 等。然后您终于可以使用 React、Angular、SvelteKit、Next 以及其他许多重叠的内容。
但您还没有完成……您想要 Tailwind、Mantine、MUI 还是其他几十个提供帮助的工具?
我想这大部分始于 PHP 鼎盛时期。更具体地说,是 WordPress。人们有如此多的插件和选项可以探索。当然还有其他选择,但 WordPress 设定了可定制性的标准。现在,当人们无法像使用任何有强烈意见的框架一样自定义内容时,就会感到胆怯。
HTML 很简单。包含一些内容以保持整洁,瞧,一个网站就出现了。即使添加 CSS 也很容易。然后出现了对大量额外内容的需求,以实现一些闪亮的东西。我会回到纯 HTML 吗?不会。但我是否会尽量减少不必要的选项?当然会。
你能举个例子吗?通常,复杂的东西是为了解决复杂的问题而出现的,一旦它们被开发出来,人们往往会转向更简单的变体。以从 Webpack 到 Vite 的转变为例。