内容管理系统在流程中的位置

Avatar of Geoff Graham
Geoff Graham

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200美元免费信用额度!

Chris 之前发布了一篇文章,介绍了样式指南在团队流程中的位置。我非常喜欢这篇文章,因此决定分享我对内容管理系统在流程中位置的看法。

我写这篇文章的另一个原因是,这是一个常见的争论点。我合作过的不同团队更喜欢在流程的不同阶段集成内容管理系统。一种方法优于另一种方法本身并没有错,但在深入项目之前,进行讨论并做出决定是一个好主意。

CMS优先方法

这种方法将 CMS 放在流程的最前端。例如,假设您已经知道 WordPress 将作为 CMS,并且您有一个基本主题,该主题循环使用您在项目之间使用的许多常用功能和模板,但设计和样式是开放式的。或者,假设您购买了一个高级主题,并计划从那里修改前端。这关乎提前完成框架。

这很好。我之前使用过一个简单的基本 WordPress 主题,也见过其他人使用 WordPress 子主题 做了一些很棒的工作。但话说回来,我老实说没有参与过任何将内容管理系统的集成真正放在流程首位的项目,其中所有后端代码都是首先完全开发的;在集成之前,总有一些程度的前端工作是在前端完成的,这让我们转向下一种方法。

一次性方法

前端?后端?不,这里没有真正的区别。

例如,我们知道 WordPress 需要大量的 PHP 模板、循环和函数来输出网站的内容和视图。此方法与前端标记一起构建这些内容。

这种方法有很多好处。首先,它可以节省大量时间。与其先编写所有 HTML、CSS 和 JS,然后将其拆分为各种 PHP 代码段,不如一次性处理所有内容,并消除流程中的一个完整步骤。如果您在一个小型团队中工作,并且需要在一个快速周转的项目中承担任务,那么这非常理想。

但它也存在一些缺陷:想象一下,编写了一堆复杂的后端代码,结果项目范围发生了变化,导致代码变得过时。这当然取决于您对更高级编程语言的熟悉程度和技能水平,但我发现修改 HTML 和 CSS 比修改 PHP 之类的东西要容易得多。在这种方法中,出现失误可能会造成巨大的时间浪费。

CMS最后方法

这里的区别在于,使前端开发成为后端开发的强制性和独立交付成果。与其提前处理 CMS 或在项目开始时将前端和后端结合起来,不如将它们分成不同的交付成果,以防止事情变得过于混乱。

我发现这种方法在分阶段处理项目时非常有用。例如,我喜欢 直接在浏览器中设计 的想法,因为它让我可以自由地进行播放和实验,而无需担心在创建样机时后端开发的限制。

这里也存在潜在的缺陷。首先,分阶段工作时,事情可能会在翻译过程中丢失。这有点像古老的传话游戏,在将短语低声传递给一长串人之后,最终得到的短语与最初的短语不同。还有如何维护项目的问题——我们是在前端还是后端交付成果中进行更改,以及如何使它们保持同步?答案因项目而异。

权衡选择

虽然我坚定地站在为合适的项目选择合适方法的一边,但我确实发现自己越来越频繁地将 CMS 放在最后,即使 CMS 已经被选择。我有一个 我用于 WordPress 的样板项目,它创建了这些框并使用 Grunt 自动执行在它们之间传输资产的过程。如果我没有长时间碰过它,我会认为这是一个毫无掩饰的存储库推广。如果您觉得这种东西方便,请随时拆解它并使用它。

您怎么看?您是否有集成内容管理系统的特定方法?这是否对您很重要?这似乎是经常出现的事情,但听听不同的人和团队如何处理它会很有趣。