少即是多:反对功能臃肿的 CMS

在企业内容管理系统领域工作了十多年后,我见证了 Web 开发和内容管理的发展。虽然人们普遍认为功能越多意味着内容管理越好,但情况已经发生了巨大变化。今天,我将挑战这一假设,并探讨为什么更简单的解决方案可能更适合大多数应用程序。

为什么我们需要复杂的 CMS

过去,有几个因素推动了功能丰富的内容管理系统的采用:

  • 部署复杂性:部署耗时且复杂,因此拥有能够有效管理变更的系统至关重要。
  • 有限的预览环境:在现实环境中测试内容变化具有挑战性且耗费大量资源。
  • 客户端-服务器分离:客户端和服务器端逻辑之间的明确划分通常需要专门从事不同领域的多个团队协调工作。
  • 内容作者授权:非技术内容作者需要无需编写代码即可创建和修改内容并快速“部署”更改的方法。
  • 这些挑战导致了强调可重用组件的 CMS 系统的开发,开发人员可以创建网页片段,内容作者可以在各个页面上混合搭配。

    不断变化的形势

    一些技术和文化的转变对复杂的 CMS 解决方案的需求提出了挑战:

    1. 人工智能辅助内容创作的兴起

  • 内容作者现在可以利用AI工具来编写技术脚本,即使他们这样做,我们也有专门的Prompt Engineering(Gen AI)工具来帮助他们。
  • 技术用户和非技术用户之间的差距正在缩小,并将继续缩小。
  • 2. 开发工具的演变

    发展格局发生了巨大变化:

  • 现代元框架支持快速开发和部署。
  • 较小的团队现在可以在一天内构建和部署解决方案。
  • 一次性预览环境使测试和迭代更加容易
  • 反对功能丰富的 CMS 的论点

    企业 CMS 系统通常会引入:

  • 额外的编码模式会减慢开发速度。
  • 复杂的抽象层使调试变得具有挑战性。
  • 每增加一个功能,学习难度就很大。
  • CMS 中的过度拟合问题

    在《生存算法:人类决策的计算机科学》中,作者 Brian Christian 和 Tom Griffiths 讨论了“过度拟合”的概念,这是一种常见的机器学习问题,模型对训练数据的学习太好了,包括其噪声和异常值。

    Overfitting in Machine Learning

    这一概念完美地类比了当前 Web 应用程序功能复杂性的现状。当我们在 Web 应用程序中引入多层复杂性时,我们冒着“过度拟合”边缘情况和功能请求的风险,同时却忽视了我们的主要目标:**为 Web 用户提供价值**。

  • 在演示中看起来令人印象深刻但在实践中很少有价值的功能。
  • 复杂的个性化选项未被使用或仅提供极低的投资回报率。
  • 大多数网站从未充分利用复杂的 A/B 测试功能,或者不值得花费太多开销。
  • 虽然这些功能对于高流量、数据驱动的网站来说可能至关重要,但对于大多数企业网站来说,它们往往会成为不必要的开销。

    简化的理由

    网络开发的未来可能更多地与真正满足网络用户需求的正确功能有关。

    极简主义方法的好处

  • 更快的开发周期:更低的复杂性意味着更快的实施
  • 更易于维护:更简单的系统更易于调试和更新
  • 更好的性能:更少的功能通常意味着更好的网站性能
  • 降低学习曲线:新团队成员可以更快地提高工作效率
  • 现代替代品

    Web 开发领域现在提供了更简单、更有针对性的解决方案:

  • 元框架(如 Astro):提供性能和简便性,同时不牺牲功能
  • 内容管理系统(如 TinaCMS):提供基于 Git、以 Markdown 为中心的方法
  • 现代无服务器基础设施:Cloudflare 的 R2(对象存储)、KV(键值存储)和 D1(SQL 数据库)等服务无需复杂的基础设施即可实现强大的功能
  • 现实世界的例子:个人旅程

    我最近对 ​​Astro 等定制应用程序和框架的探索让我意识到了简单之美。用 Markdown 编写内容、利用 AI 进行增强以及在数小时内部署更改的能力表明了现代工具如何取代复杂的 CMS 功能。

    例如,这篇文章就是在 AI 工具的帮助下用 Markdown 编写的,将在数小时内部署。虽然这看起来微不足道,但它代表了与传统 CMS 工作流程的重大转变,传统 CMS 工作流程涉及多个步骤、系统,甚至可能涉及团队。

    结论

    虽然企业 CMS 平台仍然有其一席之地,特别是在具有复杂内容管理和个性化需求的大型组织中,但我们应该批判性地评估它们的复杂性是否为我们的特定用例增加了价值。 Web 开发的未来可能不是拥有更多功能,而是拥有真正为 Web 用户增加价值的正确功能。

    **参考:**

  • 《算法的生存之道:人类决策的计算机科学》,作者 Brian Christian 和 Tom Griffiths
  • 过度拟合 - AWS
  • 过度拟合,Ken Hoffman 在 Medium 上发表的一篇文章