静态站点悖论The Static Site Paradox
为什么专业的软件工程师往往使用简单的静态 HTML 网站(如 Github Pages),而普通用户却依赖复杂的内容管理系统 CMS (如 WordPress)。
这就是我们接下来要谈论的内容,如果你有什么想法可以在下方评论区中与我交流。
在你面前有两个个人网站,都被用作博客和展示所有者的基本联系信息:
一个是用 PHP 编写的复杂 CMS,需要一个网络服务器、多个工作进程、一个 Redis 缓存和一个 SQL 数据库。该网站还有一个大型的前端组件,以单页应用的形式加载,然后通过请求 JSON 形式的内容来执行导航,随后在客户端进行“渲染更新”。
另一个只是纯静态 HTML 文件的集合,配有一部分 CSS、JavaScript 文件。
如果不加深入了解,你可能会认为普通用户会拥有【2】这样的简单网站,而程序员会使用类似【1】的复杂解决方案。但实际上情况恰恰相反:很少有程序员能够“负担得起”【1】作为自己的网站,往往大部分程序员会选择第二种作为个人网站,而几乎所有普通用户都被“迫使”用过度复杂的【1】解决方案。
尽管这很奇怪,但其实原因并不难理解,搭建一个 WordPress 博客比自己摸索清楚所有中间步骤要容易得多。为什么这么说呢?比如我现在要搭建一个静态网站,就需要如下步骤:
- 购买域名
- 找到一个托管平台「阿里云、谷歌云等」
- 配置 DNS「域名解析」
- 找到一个静态站点生成器(或完全手工制作所有内容)「hexo、vuepress」
- 学习如何设置一个部署流水线
因此,尽管我们软件工程师可以享受 GitHub Pages 或 Cloudflare Pages 等提供的免费托管和自定义域名支持,但普通用户却被一群贪婪的小丑困住,他们让用户为每一个细节付费,同时耗费大量计算资源来渲染本来 99% 情况下可以是静态网站的内容。
当我无意间发现 SuperHTML 时,我发现它是第一个为 HTML 提供诊断报告的语言服务器。作者写了一篇博客文章,登上了 Hacker News 的头版,没有人纠正 Loris Cro,所以你可以相信它的真实性。
起初我觉得这挺有趣,但深入思考后,觉得其实有点令人惋惜。尽管确实有代码检查工具存在,人们也可以在编辑器中获得诊断信息,但这些工具通常绑定于特定的前端框架,而非纯 HTML,这导致人们即使不需要框架带来的复杂性(也就是不需要使用框架的功能)也会选择使用它们。
在我看来,这种情况很糟糕。并不是因为对简洁的抽象偏爱,而是因为网络不仅仅属于软件工程师。我们让网络变得越复杂,就越是将普通用户推向我们称之为社交网络的“围栏”中。
当律师和会计师无法阐明他们各自领域系统的运作方式时,使他们成为不可避免的系统中介时,你难道不感到“愤怒”吗?从理论上讲,你应该能够自己驾驭这些系统。
每当我们在软件工程中,尤其是网络开发中,未能让简单的事情变得容易时,我们就在同样的方面让社会失望。
这不是初创公司或大型科技公司可以为我们解决的问题,他们的经济动机太不一致了,所以我邀请你们所有人帮助让网络更容易访问,一部分原因是我们对自己的技术感到自豪,另一部分原因是当网络更多地由不同于的人创造时,它会更有趣。
- 0
- 0
- 0
- 0
- 0