Grails vs Rails.哪个有更好的支持?哪一个是开发中型应用程序的更好选择?最重要的是哪一个插件更多?
另外值得一提的是:两种框架的设计理念在模型方面有所不同.Grails更"面向领域",而Rails更"面向数据库".
在Rails中,您基本上从定义表(具有字段名称及其细节)开始.然后ActiveRecord将它们映射到Ruby类或模型.
在Grails中,情况恰恰相反:首先定义模型(Groovy类),当你运行时,GORM(Grails ActiveRecord等效)将创建相关的数据库和表(或更新它们).这也可能是您在Grails中没有"迁移"概念的原因(尽管我认为它将在未来的某个版本中出现).
我不知道一个人是否比另一个好.我想这取决于你的背景.
话虽如此,我仍然在想自己选择哪一个.正如Tom所说,如果你依赖Java,你仍然可以使用JRuby - 因此Java重用不应该是你唯一的标准.
我想如果你是一名Java开发人员,并希望能够访问所有现有的企业Java库和功能......请使用Grails.
Rails更加成熟,拥有更多插件,拥有更大的用户群,拥有更好的文档和支持.它也可以在JRuby上运行,如果需要,可以访问Java库.
Grails有一些有趣的特质,但是还不能声称它还有轨道.但是,如果您主要是Java或groovy开发人员,您可能更喜欢它.否则,我建议立即将Rails用于中型项目.
我说Grails因为那里有很多java库.但由于我来自java背景,我有点偏颇.
如果应用程序不会很大,要么足够 - 而且选择应该依赖于现有的基础设施.假设您已经运行了一个java servlet容器服务器,那么您可以坚持使用grails而不是为rails配置另一个服务器.
这取决于您使用Ruby和/或Groovy的技能,是否有遗留的Java系统要处理,以及您希望部署应用程序的位置.
我最初对Rails很激动.当时,由于工作都是Java,因此无法在工作中部署应用程序服务器.这已经改变了.我不能放弃现有的Java基础架构和应用程序并切换到Ruby,即使我认为Rails很棒.Grails的工作原理是因为我们可以将Groovy与现有的Java解决方案混合搭配.
在工作之外,Ruby更容易找到价格范围低端的主机.因为Grails使用了很多现有的Java项目,所以.war文件,即使对于小型应用程序,也往往很大.如果您有专用服务器这不是问题,但尝试在128 MB RAM的共享主机上运行不起作用.
2008年是Groovy和Grails书籍的一年,但仍有更多的Rails资源可用.
根据您的具体标准,Rails可能是一个更好的学习框架.如果你有任何Java知识或行李;-),你应该看看Grails.
我之前使用过rails并且非常喜欢它.但是,我现在的公司有很多遗留的Java代码,因此自然选择是grails.
当我开始使用rails时,很少有网站使用它,文档非常糟糕.有一个伟大的railscast和railsforum.com,但任何不寻常的,你自己.部署它是一场噩梦,使用mongrel-clusters并不是真正的生产准备.现在这是非常不同的,因为每个人都可以看到,更成熟,并在任何地方部署.
一年多以前,由于我上面引用的原因,我不得不学习grails.过渡到grails很容易,因为它与Rails非常相似.同样,它与铁轨的早期阶段非常相似,但有一个巨大的不同.因为您可以轻松导入java代码,所以grails用户可以使用几乎所有可用的生产测试java库.我已经能够成功地将我们的遗留Java项目集成到grails项目中,并且需要进行很少的调整.您还会注意到插件开发速度很快,主要是因为开发人员只是编写grails"hooks",但底层代码是旧的Java库.部署grails也只是部署WAR文件.
你必须要看的另一件事是IDE.如果你对日食感到满意,那么graclipse的eclipse-STS会给你带来所有的花里胡哨.我仍然看到很多铁轨开发人员使用textmate,虽然rubymine已经取得了很大的进步(rubymine的早期版本曾用于研磨我的ubuntu停止).
底线,都是伟大的MVC框架.RoR更加成熟,拥有更多的开发人员.Grails是RoR在3 - 4年前的地方,但我看到进展更快.希望这可以帮助.