2012-06-27 67 views
11

我最近偶然发现了Play框架,同时评估了在项目中使用的框架。 我需要使用Java语言和JVM(所以grails不是一个选项)。使用Spring Roo优于Play框架(如果我们使用Spring框架)?

从最初的印象来看,Play框架看起来与Django(或Rails)非常相似,但Spring Roo看起来很有趣,因为我使用Spring框架作为核心组件。

如果我已经使用核心Spring框架(比如说集成),使用Spring Roo是否有优势?

Spring Roo有什么已知的重大问题吗? (比如像我们为自己生成的代码一样失去对代码的控制)

+0

grails在jvm上运行 – NimChimpsky

+0

@NimChimpsky真的,但问题是我们不能使用groovy。 – 18bytes

+4

Play framwork不涉及Spring,这是最大的优点;) –

回答

7

这是我的私人印象,所以它可能是(非常)主观的。我也是主播

我被强制给Spring MVC一试......这是某种%$%@ $%#......不舒服对我来说,不必担心XML文件...

所以我发现Roo它可以支撑应用程序相当不错(特别是与Spring相比)我认为使用它是明智的,但是当您的项目正在增长时,也需要花费太多精力来关注所有依赖的文件(我不知道,也许可能错误的IDE,也许没有太多的耐心...)一个星期后,我准备回到PHP,永远;)

最后,我发现玩,这是我的观点,我不需要处理没有更多的是受到驱动的XML“支持” 我疯了。通用结构比Spring- *更清洁。我不需要关心配置或重新部署应用程序。一切都从第一步开始。唯一我需要做的就是......发展!

所以,总结我认为你应该应该给玩一个机会,也许它会比庆祝不舒服的习惯更好的选择。也许。你必须选择自己。

顺便说一句:两者都是真正不同的方法,如果没有对同一主题的两种解决方案进行可靠的比较,您将无法正确判断。

+2

我个人认为Roo和Play一样简单。以此为例:http://static.springsource.org/spring-roo/reference/html-single/#intro-first-steps – djangofan

+2

_I被强制给Spring MVC一个尝试......这是某种%$%@ $%#....让我感到不舒服仍然担心XML文件......_ - 你显然不是在谈论现代Spring MVC,因为它可以配置为0 xml,全部是纯java,不是即使是web.xml – SergeyB

+0

@ike_love - 是的,那是很久以前的,而且当我开始时:这是我非常主观的看法;) – biesior

9

从我以前看到的,Roo和Play之间的巨大差异在于Roo为您创建了样板代码,然后您继续维护,而Play只是简化您需要开发的代码数量,因此可以减少您需要维护的代码量。

如果您从零开始,我不会看到Roo对Play的好处(个人认为是Play提倡者)。但是,由于您已经来自Spring背景,因此Roo可能是更好的选择,因为您没有学习曲线(并且取决于您想要的是哪个版本的播放,这可能是一个因素)。

+0

Play 1.x的学习曲线非常平坦。 2.x更灵活,并会提出Scala问题。 @Codemwnci是对的,你选择的播放版本是一个考虑因素 – iwalktheline

11

这一切都取决于你正在开发什么样的应用程序。如果你想要一个简单的应用程序与少数控制器,我相信Play是一个很好的候选人。但是,如果您正在编写大型企业应用程序,并希望充分利用Spring提供的所有功能,那么Roo就是您的选择。春天是事实上的企业Java框架,每个软件厂商确保提供Spring的集成,例如它需要一行XML推出了SOAP Web服务:

<jaxws:endpoint implementor="org.apache.cxf.jaxws.service.Hello" address="http://localhost:8080/test" /> 

要连接到的RabbitMQ

<rabbit:connection-factory id="connectionFactory"/> 
<rabbit:template id="amqpTemplate" connection-factory="connectionFactory"/> 

但这只是核心Spring,Roo使事情更简单,想添加一个数据库?在Roo的命令行中键入一行。安全?还有一行。启动Cloud Foundry?还有一行。自动建议功能将告诉你所有可用的命令和每个命令所需的参数。 Roo的最大优点(对于一个经验丰富的Spring开发人员)不需要学习任何新的框架,只需键入Roo命令并获得标准的Spring代码,然后就可以随心所欲地执行任何操作。如果您对普通弹簧感觉更舒适,则可以使用Roo来启动项目并将其移除。我不是一个跳上最新的科技带头人的人,对于“这会改善你的生活!”很怀疑。承诺,但Roo确实使开发更简单和更快。

-3

我不知道Spring Play Framework,但我一直试图通过遵循"Getting started with Roo" pdf来使用Spring Roo 1.2.3,并且经验相当令人失望。它不起作用,没有解决方法,也不支持互联网中已知的问题。下载我之前提到的指南,并尝试一步一步使用它:您将看到我在说什么。至于你的问题:选择至少没有损坏或遗弃的框架。 Spring Roo做出了很多承诺,但是当你花了几天的时间努力工作,没有成功,你开始怀疑自己:我得到的优势在哪里?不要误解我的意思,我很乐意使用Spring Roo,但这样做是完全不可能的。

+1

请添加您遇到的具体问题,以回答OP的特定问题,值得使用。 –