20

我目前正在使用 Zend Framework,对此我感到非常满意。我想知道的是在什么样的要求下使用 Joomla 或 Drupal 等 CMS 更好。

考虑到我当前的项目,它是一个门户应用程序。它完全是在 Zend 中从头开始制作的。然后一些人来评论说它宁愿在drupal中实现,你可以为你努力构建的东西获得插件。

所以我需要一个关于如何在启动阶段在 CMS 和 A Framework 之间进行选择的指南?

4

7 回答 7

21

您的问题是使用现成的 CMS 还是使用框架创建自己的系统。正确答案取决于以下几点:

  • 预算
  • 您将拥有的用户数量(长期性能问题)
  • 进一步维护
  • 您想在网站上提供的详细信息(花里胡哨)总数
  • 使用第三方/自定义 API 实现
  • 需要高度自由的特殊/自定义功能(例如:StackOverflow 奖励积分和徽章)

由于这是我们大多数人经常面临的一个问题,以下是现成的 CMS 与框架的优缺点:

现成的CMS

优点

  • 如果您的项目通常适合 CMS 提供的内容,则启动和开发时间会更快
  • 可用的模块和主题
  • 由社区支持,这意味着将免费为您提供新功能、错误修复、支持、教程等
  • 统一的标准集 - 继续在现有 CMS 站点上工作比采用其他人的自定义应用程序更容易(这是相对的,但重点是在使用现有 CMS 的站点中,大多数事物/设置将是熟悉的您在自定义应用程序中时,以前的开发人员有更多的自由)
  • 安全性是您无需像在自定义应用程序中那样担心的事情

缺点

  • 如果您的要求非常具体,则需要覆盖系统的默认工作流程;在某些情况下,这可能会很棘手,并且会让您花费更多时间而不是自己编写
  • 模块/插件中的冗余代码
  • 性能——现成的 CMS 很少能像定制的应用程序一样快
  • 不适合每个大型网站(除非您适合 CMS 提供的几乎所有内容)
  • 在某些情况下学习曲线陡峭(Typo3Drupal

自定义应用程序

优点

  • 由您来定义应用程序的结构和逻辑
  • 应用程序设计专为您正在处理的项目而设计 - 因此没有多余的代码
  • 做任何你想做的事的自由

缺点

  • 昂贵 - 在大多数情况下,您/您的客户将需要更多的钱来购买定制应用程序
  • 进一步的维护将更加困难
  • 结构的更改和修改可能非常耗时
  • 如果您不使用 CMF,您将不得不在某些方面重新发明轮子

底线

花几天时间了解一些关于 CMS 的知识,例如:

  • Drupal - 我的第一个建议;适用于大中型网站;良好的社区;中等/陡峭的学习曲线
  • WordPress——我的第二个推荐;适合中小型网站
  • Typo3——企业级系统;相当复杂,结合一个可以在项目中独立使用的框架
  • Joomla - 我个人不喜欢它,也不推荐它,因为它是业余插件,但它很受欢迎
  • 银条
  • MODX
  • 混凝土5

我认为任何更大、更严肃的项目,至少需要 1-2 名程序员随时负责系统,都应该是定制的。仅当它完全符合现有 CMS 提供的内容时例外。

希望这可以帮助 :)

于 2012-07-24T11:42:45.350 回答
8

在 StackExchange.com 上查看CMS 和 Web 开发框架之间的区别

CMS内容管理系统)用于管理网站上的内容。它通常提供工具来使这项任务尽可能简单。

CMS 的示例:Drupal、Joomla、DotNetNuke 等。

框架就像一组用于构建 Web 应用程序的库/类。许多框架为数据库访问、模板引擎等提供库。这样,您不必重新发明轮子。

CMS 通常建立在框架之上。

框架示例:CodeIgniter、CakePHP、Kohana...

于 2012-07-24T11:03:44.253 回答
4

@Voles 提到了 CMS 和框架是什么

所以你的问题是“如何在 CMS 和 A 框架之间进行选择的指南”

想要建立一个博客或一个简单的网站?

去 WordPress , Drupal 等。

想要构建下一个您自己的 facebook 或 stackoverflow 或应用程序,而当前的 cms 对您来说很难学习或功能受限?

然后去一些框架或定制的。确保您知道如何以正确的方式构建它。

您也可以查看http://cmf.symfony.com/

希望说明清楚。

于 2012-07-24T11:22:06.223 回答
0

除了 CMS 和 Framework 的所有优点和缺点之外,据我所知,您需要在启动时研究您的要求。列出您想要在应用程序中使用的模块。现在检查您所知道的 CMS 中有多少模块可用,例如 drupal、joomla、wordpress 等,并检查您需要在这些可用模块中进行多少自定义以及您可能需要根据您的要求开发的自定义模块。而且,如果您发现只需进行最少的定制,您就可以使用任何特定的 CMS,然后继续使用它。

但是,如果您的应用程序本质上可能比我建议的任何 MVC 框架(如 Zend、Cakephp、codeigniter 等)复杂得多。

是的,与您精通的任何 CMS 或框架有关的另一件事。

于 2012-07-24T12:06:51.700 回答
0

框架就像一个库,使用这个库我们可以开发新的东西。CMS 作为名称是否暗示它是管理内容的内置源。像 wordpress 一样,我们不需要开发任何东西。

于 2012-07-25T06:04:57.233 回答
0

框架是 CMS 的创建者,CMS 基本上是一个内容管理系统,专注于内容管理,其中一切都为您完美设置,只需几行代码和逻辑,您的网站或小型应用程序都可以开发

而在框架中,它比 CMS 更深入,您必须从头开始编写或使用通常用于制作大型应用程序的现有库。希望这会有所帮助

于 2015-07-16T18:17:25.987 回答
0

据我所知,CMS 和 MVC 是带有编码库的 Web 应用程序框架。CMS 对于初学者来说更容易使用,因为它具有可用的预制功能,因此您不需要复杂的编码。我在 Wiredelta 的文章中找到了有用的信息,也许这对您也有帮助:https ://blog.wiredelta.com/cms-mvc-framework-comparison/

于 2017-03-13T13:08:51.907 回答