SpringSource (现在的VMWare)有两个非常相似的技术: Grails和Spring Roo。我一直在使用Grails,但我看到SpringSource正在积极地开发该技术的竞争对手,这让我对Grails的未来感到担忧。
有谁知道这些技术是如何关联的,它们是将被合并,还是其中一项将被放弃?
此外,Grails和Roo之间有什么重要的技术差异吗?
发布于 2010-01-09 05:22:36
SpringSource的目标是让人们尽可能快速、轻松地构建、运行和管理基于Spring的解决方案,我们同时拥有Grails和Spring Roo,因为我们非常关心开发人员的生产力,毫无疑问,这两个工具都能极大地提升团队在Spring之上所能实现的目标。
我们拥有这两种技术,因为Roo和Grails在哲学和实现层面上有很大的不同(正如在其他回复中已经提到的)。每种技术的主要语言(Java或Groovy)和操作模型(开发时或运行时)都遵循这样的理念:“我们如何使用这种语言和操作模型的组合,让价值主张变得令人难以置信地好?”因此,您将看到每种技术采用一种不同的风格来最大化这种组合(Roo的Java+Dev-time或Grail的Groovy+Runtime)以及相应的好处。
这些差异实际上是非常积极的,因为它们意味着Spring社区可以选择他们喜欢的生产力解决方案的“味道”。虽然围绕语言选择和运行时/开发时操作的这些初始差异是显而易见的,但Grails或Roo的选择也扩展到更微妙的考虑因素,如使用的默认技术、用户交互模型、IDE支持、依赖项、标准、路线图、扩展等。几乎所有这些差异都是为特定语言风格追求最佳解决方案的自然结果。
我们最好的建议是同时考虑两种解决方案。每种技术都有自己的甜蜜点,但两者之间存在差异,这将使您在给定的上下文中使用一种或另一种技术的整体体验更好。这两个参考指南都详细介绍了each solution的respective benefits。当然,请记住,尝试这两种方法的时间投入是最小的。只需10分钟,你就可以用Roo或Grails构建一个项目,所以你可以试一试,看看在你特定的背景和项目需求下,哪一个更适合你。
发布于 2010-01-05 18:04:58
主要区别在于Roo是一个纯Java框架,而Grails既利用了Java又利用了Groovy。这两个库都构建在核心Spring库之上,并且都使用了流行的Java开源库。
当Roo宣布时,这个问题被问了回来,Graeme Rocher (Grails的负责人)说,这两个框架在Spring中都有一席之地,并且得到了同等的支持。
如果说有什么不同的话,那就是我认为Grails的未来比Roo更光明。我喜欢用它开发,看不出它不是纯Java有什么坏处。
发布于 2010-01-05 21:20:37
Grails和Roo是非常不同的。第一个主要区别是使用的语言。虽然您可以像编写传统Java代码一样编写Groovy代码,但是仍然需要Groovy依赖项来运行Grails应用程序。为了在Grails中尽可能地高效,您还需要掌握Groovy中当前不是Java一部分的特性,比如闭包。另一个不同之处在于框架生成代码的理念。Grails在运行时生成大量方法,而Roo在开发过程中根据请求生成这些方法。Roo没有幕后接受面向方面编程的魔力,您可以查看Roo生成的所有代码。例如,在Roo中,您必须使用一个命令让它生成动态查找器方法,比如findByBook(),然后在.aj文件中查看生成的代码。在Grails中,findByBook()方法是在运行时创建的,您不能查看生成的代码。如果您愿意,Roo还允许您停止使用框架,同时通过将所有生成的代码合并到普通的.java文件来继续运行应用程序。这样,无论在运行时还是设计时,您都不需要依赖任何Roo库。如果您决定不喜欢Grails,那么就没有办法停止使用该框架,同时继续拥有一个正常运行的应用程序。
https://stackoverflow.com/questions/2004669
复制相似问题