Groovy/Grails :: Ruby/Rails :: 2011框架的状态

vir*_*yes 43 grails frameworks ruby-on-rails

是的,存在几个类似的线程,但我们现在在2011年,并且已经发生了很大变化.

当我最初尝试学习框架(并放弃了慢编译时间和其他呻吟诱导事件)时,Grails 1.3.6与v1.3相比有了很大的改进.

在最新版本中花了几个月的时间,给我留下了深刻的印象,对应用程序进行原型设计是一件轻而易举的事(GORM很棒!).在开发模式下,不再需要重新启动,禁止更改域类.Groovy.lang非常棒(请记住,这与我在PHP中的日常工作生活相比).

现在,另一方面是Ruby/Rails,我对于浏览Ruby文档和探索Active Record(与GORM进行比较)几乎没有什么经验.来自PHP/Jquery,groovy语法是cake,ruby不是那么多,虽然可以访问.

Ruby/Rails风靡一时,而Groovy/Grails似乎正在加快速度.

我想听听两个阵营的说法(火焰引发战争欢迎)re:2011年langs/frameworks的优点/缺点.在选择框架时,重要的是要知道你正在进入什么,所以有在它,新手将受益,专家可以发泄; - )

小智 56

Rails和Grails都是当前版本的优秀框架.你真的也不会出错.以下是我发现有趣的一些事情:

轨道

  • Rails(Ruby)不像Grails(Groovy)那样扩展.您将需要更多的马力来运行您的应用程序.对于像EngineYard这样的PaaS选项(并且希望将来有一个AWS BeanStalk Rails选项),这根本不是什么大不了的事情,但是运行Rails应用程序和Grails应用程序可能需要多花一点钱(显然JRuby也是一个虽然选项).
  • 目前使用NoSQL替代品的Rails略胜一筹,但Grails正在迅速赶上
  • Rails有更多的插件,但如果你使用一些没有维护的插件,这会导致麻烦(其​​中很多当前也没有使用Rails 3).
  • Rails更加成熟,并且在这个时间点具有更多功能,因为它的存在时间更长
  • Rails REST支持令人惊叹
  • 还有比Grails更多的"大"Rails网站
  • Ruby比Groovy - TIOBE更受欢迎
  • 不依赖Oracle,哈!(Grails显然需要JVM)

Grails的

  • Grails比JRuby更好地集成了JVM
  • Grails GORM比ActiveRecord(恕我直言)更好,虽然Rails 3为其他持久性选项打开了一点门,但所有书籍,教程等都使用ActiveRecord
  • Grails View taglibs在视图中优于<=%...%>
  • Grails插件已有详细记录,并清楚说明它们是否受SpringSource支持
  • SpringSource正在大力投资Grails
  • 未来Grails比Rails会有更多的企业工作,但更多初创公司使用Rails(你想在哪里工作?)

我的观点

  • 几年前我使用过Rails,我现在正在开展一个Grails项目
  • 我比Django(Python)或Zend Framework(PHP)更喜欢它们
  • 我计划接下来学习Lift(Scala)

我的建议

  • 如果您从未完成过Java开发并且正在为一个中小型网站开展一个侧面项目,请使用Rails
  • 如果您在使用Java的大公司工作,请尝试将Grails作为他们应该投资的"下一个Java框架"向您的管理层推销
  • 如果你正在"下一个推特或foursquare"工作,那么你很聪明,自己回答这个问题!:)

  • 关于Rails的最大问题对我来说是所有rails版本和所有ruby版本之间宝石的不兼容性......与几乎总是适用于任何最新版本的jar相比,它是疯狂的(感谢编译)... (2认同)

小智 9

我第一次用Rails开始一个项目时我真的很惊讶:

  • 如何将"存储库"与"服务"分开?哦,我的上帝:我必须把业务逻辑放在控制器上......我无法想象一个真正的大项目使用Ruby on Rails:是否有人在37signals上记住了分离业务和域/存储库的基础知识.Rails文件夹/类结构不关心这一点.

  • 第二袜子:"活跃记录".尝试设计一个真正复杂的面向对象的业务层,并使用Rails模型(活动记录)映射它......真的:不要.

  • 6个月后,我们的项目正在运行:R&R在四核服务器上使用apache + passanger消耗80%的CPU(和内存......),Postgresql数据库处于假期(占CPU的3-4%). ..哦,我的上帝(新)

    我的旧ASP/VB6应用程序,能够在真实的后台环境中为300个并发用户提供页面,并在独立的机器上安装真正复杂的数据库和复杂的业务(2001年1 CPU核心服务器).

当然,约定和Ruby语法都很可爱......并且没有人需要编译器(好吧......单元测试在90%的时间用于此代理...只是为了解决每次更改代码时消失的类型......"请编程上帝,注意我的手指错误")

第一次使用Grails:

  • 基于Spring框架(IoC,Hibernate,...)的专业强大功能激发了Rails的"酷"堆栈

是的!!!

  • 有一个干净的域/服务分离.NICE!
  • 最终,你可以忘记Java.


Jef*_*tte 5

Rails相当成熟,拥有一个巨大的生态系统.我不熟悉Grails或者它在网上的支持,但是我在帖子中看到的红旗是你承认Grails正在追赶Rails.

Ruby是一个绝对的快乐工作(这来自一个古老的C++黑客......为什么,在我以前用一个十六进制键盘编程的那一天,年轻的whippersnapper ...现在得到我的草坪!).

有些东西关于红宝石有时难以跟进(方法_我正在看你)但我确信可以说任何语言.

我?我会选择红宝石和铁轨.