Rails生态系统是否适合替代drupal

时间:2010-06-27 20:36:09

标签: ruby-on-rails drupal

我想建立一个基于社区的网站,这是Drupal的优势。但是我也想尝试其他框架,尤其是Rails。

drupal最棒的一点就是它庞大的模块库。如果我要切换到Rails,我是否能够找到类似插件免费提供的功能,还是我必须重建?

Rails是否具有(作为插件或宝石)的等价物:

CCK/Fields?
Node Reference?
Views / Views Relationships?
PathAuto?
Threaded Commenting?
Multisite Functionality?
Apache Solr (or equivalent) Integration?

感谢。

6 个答案:

答案 0 :(得分:9)

我担心你很可能会听到这个答案,但这不是一个合适的比较。

Drupal最终是一个CMS,Rails是一个框架。苹果到橘子,或者甚至苹果汁到橘子。开箱即用,你启动Drupal,它做'事情':它有一个数据库结构,节点的概念,接口等等,等等。如果你启动Rails你有一个空项目。

据我所知,没有一个“Drupal-on-Rails”项目是一个合适的等价物。但是,我可以证明,有很多Ruby / Rails社区和O / S在那里工作,你可能会发现一些合适的东西。我还说Ruby和Rails中的模块化程度往往意味着可以使用的插件/模块/ gem的范围要大得多。

我个人的0.02美元。如果Drupal能够满足您的需求,那就使用Drupal:它已经成熟并且拥有一个很棒的社区。尝试将Project X移植到一种新语言作为学习练习并不是一个好主意,因为你将不可避免地陷入“那就是它在X语言中的表现!”陷阱并对新系统不再抱有幻想。

如果你想学习Rails(你应该这样做,它很棒)我建议你最好在一个小项目上工作,看看生态系统提供什么,然后再决定它是否适合你更大的需求项目

答案 1 :(得分:3)

我必须说明Govan所说的内容,但要加入它。

使用Drupal,除非您真的想要构建自己的模块和扩展,否则您实际上正在与应用程序进行交互。即使你开始使用CCK,你所做的只是翻转开关,填写表格并为网站上的内容定义新的选项。

Ruby on Rails是两件事,它们都与Drupal没什么相似之处。你问“这有多难?”。要回答这个问题,你需要了解Ruby和Rails是什么。 Ruby是一种编程语言,旨在使对象纯粹程序员的生活更简单,更愉快。所以,第一部分有多难简单地回答“你认为学习一种全新的编程语言需要多长时间,比如PHP但不同”。

Rails是一个'自以为是'的框架。它的主要内容在于它规定了如何构建Ruby Web项目,以及为从数据库访问到Web演示的所有内容提供多个API。为了回答Rails的“有多难”问题(假设你已经知道了Ruby),你必须回答你需要学习多少关于缓存,数据库设计,页面设计,RESTful编程等等。

这不是一个短暂的旅程。你问过是否有相当于Ruby和Rails的CCK,这对我来说意味着你的编程知识有点受限。 Ruby和Rails与数据库交互。 CCK允许您在数据库中定义事物。因此,使用Ruby和Rails,您实际上绕过了CCK为您提供的精彩对话框和表单,并在代码中手动执行数据定义位。

根据经验,当我聘请另一种编程语言和框架的专家加入我的Rails团队时,他们花了1至3个月的时间来提高工作效率,并且还需要3至6个月的时间才能提高他们的工作效率并接近我团队中的Rails专家。

因此,在您的特定情况下,我不建议从Drupal切换到Ruby on Rails。

答案 2 :(得分:3)

这是社区的力量,这是你永远无法复制的东西。我记得有一个人试图将Drupal移植到python,称之为drupy,但该项目在有用的东西出现之前就已经死了。即使您复制代码,也无法复制社区。

你需要意识到的是,每个社区都是不同的。因此,即使您找到一个可以在RoR或不同语言/框架中解决您的代码需求的项目,它也永远不会像Drupal那样,反之亦然。

所以不要试图找到Drupal的替代品,而是去探索并尝试新事物。您最终可能会学习新的东西,可以用于Drupal项目。

答案 3 :(得分:3)

我已经阅读过这段时间和次数,人们说比较正在比较苹果与橙子这是错误的。

我认为这句话本身就是BS。是的,我们想比较苹果和橙子,找出哪个更好。我们甚至想比较苹果和牛排。说,他们是不同的。是的,我们都知道。我对两者的经验都很有限。我首先想到Drupal很棒,可以帮助我建立一个我想要的网站(或一周或一个月)然后它没有发生(不是责怪Drupal)。

我的印象是,Drupal可能仍然很棒,但它有一个学习曲线,需要很多其他知识或才能才能很好地使用它并调整它。另一方面,RoR是一个更通用的框架,需要编程(Drupal实际上也需要)。

如果你是一个有点PHP的网页设计师,Drupal可能更合适。

如果您更像是一个Web开发人员类型,不想花时间寻找模块并让它们工作,而是自己做(不是真的从头开始)那么也许RoR适合你(具有相同数量的学习)。所以是的,它们对于不同的目的,背景等都有好处。

现在我将使用RoR(或dJango和其他ORANGE)。我的2美分。

答案 4 :(得分:3)

自从3.0版开始,Rails正式采用了曾经引起争议的引入第三方应用程序的引擎方式。从10k英尺的角度来看,这大致相当于Drupal的模块/插件。要构建基于社区的站点,您可以使用称为“社区引擎”的引擎。 http://communityengine.org/features.html

Rails生态系统没有任何与Drupalists可用的模块相同的模块,但是有足够的高质量模块来涵盖主要的基础知识。

答案 5 :(得分:2)

Drupal有很多强大的领域,只有一两个人用任何语言在相当长的时间内重新创建它很难。 PHP,Ruby,Python等

您拥有核心节点系统,分类,别名,菜单,用户,权限和模块,数据库api和表单api等。

你必须知道如何独立地组装所有这些部分,并创建所有这些部分所需的结构。

这需要超过“几个小时”。我想说,即使你是一名ROR大师,你也会看到为期一年到两年的坚实一致的工作,以便为新系统获得Drupal的最佳部分。