内容管理系统 (CMS) 是一个多产的软件类别,涵盖用于创建和修改数字内容的所有类型的应用程序。因此,CMS 的历史可以追溯到 1990 年 蒂姆·伯纳斯-李创建的史上第一个网站,这应该不足为奇,该网站以基于互联网的超文本系统 HTML 为模型,HTML 仅表示文本和链接。

万维网的简陋开端在于静态站点,这些站点提供内容而无需后端数据库。它们消耗的计算资源非常少,因此加载速度很快——因为没有数据库查询,没有要渲染的模板,也没有要处理的客户端-服务器请求。考虑到与今天相比,很少有人是经常“上网冲浪者”,网络流量也很少。
当然,正是所有开源软件促进了这种互操作性。实际上,开源在 CMS 的发展中一直发挥着重要作用。
CMS 的兴起
快进到九十年代中期,随着万维网的普及程度不断提高,网站增加了频繁更新的需求——这与最初托管宣传册式静态内容有所不同。这导致了大量 CMS 产品的推出,例如 FileNet、Vignette 的 StoryBuilder、Documentum 以及许多其他产品。这些都是专有的闭源产品,这在那个时期并不罕见。
然而,在 2000 年代初期,开源 CMS 替代方案涌现,包括 WordPress、Drupal 和 Joomla。WordPress 包含可扩展的插件架构,并提供了可用于构建网站的模板,而无需用户具备 HTML 和 CSS 知识。WordPress CMS 软件安装在 Web 服务器上,通常与 MySQL 或 MariaDB 数据库(当然,两者都是开源的)配对使用。向 WordPress 的重大转变在一定程度上是由于 CMS 是开源的这一事实而加速的。
即使在今天,大约三分之一的网站是使用这些第一代内容管理系统构建的。这些传统 CMS 是整体式系统,包括后端用户界面、插件、前端模板、级联样式表 (CSS)、Web 服务器和数据库。对于用户对网站页面的每个请求,服务器首先查询数据库,然后将结果与页面标记和插件中的数据结合起来,以在浏览器中生成 HTML 文档。
LAMPstack 趋势
开源 CMS 的出现与构建在 LAMP(Linux、Apache、MySQL 和 PHP/Perl/Python)堆栈上的基础设施相一致。这种新结构代表了整体式 Web 开发的开始,它能够创建动态网站,这些网站使用数据库查询为不同的最终用户提供独特的内容。在这一点上,以前的静态站点位于服务器上的模型——其中由文本和链接组成的单个文件(HTML、CSS、JavaScript)以相同的方式传递给所有最终用户——真正开始消失。
移动 Web 改变一切
当我们越来越深入 2000 年代的第一个十年时,像 Palm 和 Blackberry 这样的早期移动设备提供了对 Web 内容的访问,然后在 2010 年左右智能手机和平板电脑的推出将越来越多的用户通过移动设备带到 Web。2016 年,天平倾斜,来自移动设备和平板电脑的 Web 访问量在全球范围内超过了台式电脑。
整体式 CMS 不适合为这些不同类型的访问设备提供内容,这需要不同版本的网站——通常是为移动用户提供的网站的精简版本。像智能手表、游戏机和像 Alexa 这样的语音助手等新型 Web 就绪设备类型的出现,只会加剧这个问题,并且对全渠道内容交付的需求变得清晰起来。
Headless CMS 和 JAMstack 的出现
Headless CMS 将后端(存储所有内容、数据库和文件)与前端分离。通常,Headless CMS 使用 API,以便可以访问来自数据库(SQL 和 NoSQL)和文件的内容,以便在网站、智能手机甚至物联网 (IoT) 设备上显示。此外,Headless CMS 与前端框架无关,使其与各种静态站点生成器和前端框架(例如,Gatsby.js、Next.js、Nuxt.js、Angular、React 和 Vue.js)兼容,这使开发人员可以自由选择他们喜欢的工具。
Headless CMS 特别适合 JAM(Javascript、API 和 Markup)堆栈 Web 开发架构,该架构正在成为一种流行的解决方案,因为它提供更好的 Web 性能和 SEO 排名,以及强大的安全考虑因素。JAMstack 不依赖于 Web 服务器,并在发出请求时立即提供静态文件。无需查询数据库,因为文件已经编译并提供给浏览器。
向 Headless CMS 的转变是由新一波参与者推动的,他们要么采用 SaaS 方法(例如 Contentful),要么采用自托管开源替代方案(例如 Strapi)。Headless 还在颠覆电子商务行业,新的软件编辑器(例如 Commerce Layer 和 Saleor(也是开源的))提供在真正的全渠道方式中管理多个 SKU、价格和库存数据的解决方案。
结论
在内容管理系统的整个发展过程中,这种发展受到互联网上信息消费方式的驱动,开源软件也沿着相同的趋势线发展,新技术不断涌现以解决不断出现的需求。实际上,CMS、万维网和开源之间似乎存在相互依赖性。管理不断增长的内容量的需求不会很快消失。完全有理由期望在未来更广泛地采用开源软件。
1 条评论