2

尝试使用Joomla或Drupal来设计除了小册子软件或博客网站之外的任何内容是否切实可行?这些模块/扩展框架是否足够灵活用于设计具有大量数据输入和报告功能的Web应用程序,或者您是否更好地使用MVC框架,ASP.NET或简单的金属PHP来设计它?使用CMS设计Web应用程序

假设您要设计一个主要用于输入数据和报告数据的Web应用程序。例如:你想为拥有赛马的人设计一个网站。

  • 主要数据录入涉及用户输入的 物理属性和种族记录 他们所有的马匹。

  • 报告可用于根据数据库中所有马匹的物理属性和比赛记录查找统计数据和其他指标:用户和其他人已输入的内容。

在CMS中这样做的原因或好处是什么?

回答

5

我一直用专有的CMS来做这件事。我敢肯定,这可以编写任何类型的插件/子系统为Drupal等

优点:

  • 希望熟悉MVC的代码库,你得到的东西出了门快的。
  • 因为您已经在CMS环境中,因此在需要时可与网站免费集成。否则,您必须在自定义Web应用程序之上实现基本的CMS功能。
  • 与底层CMS的依赖关系。您可以从更新中受益,如新功能,安全修复,性能优化等

缺点:

  • 背着CMS的“权重”。也许它有你永远不会使用的表格,对象和子系统。
  • 较大的代码库。对于现在必须了解CMS和业务逻辑的维护人员来说,学习曲线更陡峭。
  • 与底层CMS的依赖关系。至少你的控制器(也可能是持久层)将被绑定到CMS的方式。尽量保持模型和业务逻辑独立于CMS'es MVC框架。
+0

与更多的锅炉板框架(比如前面提到的MVC)相比,它是否乏味?我觉得它应该是。 – Merritt 2009-08-22 19:16:35

+0

一个CMS引擎通常比一个普通的MVC引擎更重,因为CMS应该已经包含一个MVC(希望)。 – cherouvim 2009-08-23 05:32:21

+0

真的,我宁愿它是另一种方式:顶部带有CMS框架的MVC框架。 – Merritt 2009-09-03 22:15:52

4

如果CMS的模块化/可扩展性足以让您可以编写自己的扩展而没有太多限制,我肯定会走这条路线。想想一些你需要实现的“非核心”任务:

  • 用户管理(登录,忘记密码处理,用户页面等) - CMS通常附带'准备使用')
  • 模板(CMS通常会提供一个完善的模板引擎)
  • '环绕'页面(除了核心表单/报告页面,您可能会有相当多的数量那很容易创建/使用CMS管理)
  • 安全性(一个好的CMS会为您提供了很多与安全相关的API来缓解防范SQL注入,XSS和其他安全问题,例如在表单生成&其他页面处理)
  • 数据库抽象(一个好的CMS应该为你提供)
  • 基于URL的调度(你有w蚂蚁自己管理自己的URL空间?)

大量工作使用Drupal最近,我可以说,这是非常适合像这样的东西(除了缺乏一定的有关数据库抽象,因为它目前只支持MySQL和PostgreSQL)。

您可以设置一个标准的网站相当快,并通过创建一个完成所有的数据收集的一个或多个自定义模块和报表需要的任务集中你的定制开发上的核心任务。

其缺点当然是学习曲线 - 您应该将CMS看作是一个像其他任何框架一样的框架,它会在学习内部和外部的过程中付出代价。