Grails或Play!对于前RoR开发人员?

Ked*_*are 21 java grails groovy web-frameworks java-ee

我计划开始学习Java Web框架(我喜欢Java API)我已经使用过Rails和Django.

我想要一些接近Java的东西,但没有J2EE的复杂性.

我找到了2个可能对我有用的框架:

Grails的

Grails看起来很棒,它使用Groovy,它比Java更适合Web应用程序(我认为..)但它比基于纯Java的框架慢(Hibernate,Strut,Spring)它看起来很简单(发送.war并且没关系) !),GSP很棒!调试起来有点困难(需要在每次修改时重启服务器,堆栈跟踪包含Java和Groovy跟踪的混合,这并不总是最容易理解)

玩!

这个框架看起来也很棒; 它比Grails更快(它使用Java)但我真的不喜欢它如何使用Java,它修改源代码以将属性调用转换为setXXX/getXXX,我不喜欢这样......框架也有一个缓存Grails没有的功能.我真的不喜欢模板引擎.它也更容易调试(无需重启服务器,堆栈跟踪更清晰)

您有什么推荐的吗?我正在寻找易于学习的东西(我有很多Ruby经验,而不是Java经验,但我喜欢Java API),功能齐全(这对所有可用的Java库都没有问题,但如果它是捆绑和集成的我更喜欢),具有良好的可扩展性并且不会太慢(比Ruby快)理想情况下我想使用一个体面的社区框架来轻松找到支持.

PS:我对JRuby on Rails不感兴趣

Sak*_*aba 29

我从Grails切换到Play,我从不回头.我对Grails的最大问题是整体稳健性和开发人员的可用性.大部分时间我都被Grails粘在一起,因为Grails将通常的Spring MVC和Hibernate堆叠在一起,同时试图隐藏这个事实并给你一个类似Rails的API(我的个人意见).这个问题是,一旦超出了琐碎的样本,它很容易破坏,并没有为我工作.用它开发就像走在鸡蛋上(对我而言).每当我用Google搜索我需要的功能的文档时,我都没有被重定向到示例,教程,博客,而是向Grails JIRA解释我为什么该功能不能用于我的用例,并且该错误未解决,因为该版本之前有两个版本我在用.

虽然这可能不是每个开发人员的整体体验(我不是写这个来抨击Grails,但是为了在这里给我的经验),我需要一些帮助我的东西,不会阻挡我或者在我的时候打败我我最需要它.多数民众赞成在我发现Play时,我发现了它后迅速将我的应用程序迁移到它(约1.0版本).

到目前为止,这是一个很好的旅程,在我的网络开发生涯中,我第一次停止寻找其他框架,试图找到我想要更好的东西.

如果我不得不关闭一件Play比Grails更好的东西 - 至少对我而言 - 那就是Play从头开始构建,并考虑到开发人员的可用性.它不会牺牲企业流行语的易用性.它有勇气抛弃那些不适合这种范式的东西(例如,在开发期间放弃基于Servlet的运行时间以获得更快的周转时间).它愿意妥协,以保证令人敬畏.在我找到Play之前,这是我在Rails或Django等社区中见过的东西.

  • 实际上,在Play2中所做的改变肯定会杀死那种蜜月般的感觉. (8认同)
  • 这听起来像你有很多Grails经验,并且仍然在你的蜜月期间玩Play (5认同)

Ted*_*eid 23

我建议Grails.它拥有比play框架更大的社区(~350个插件几乎涵盖了所有基本需求).此外,grails几乎完全用Java编写,它只是让您使用Groovy进行特定于域的实现.

如果您遇到性能问题,即您创建的groovy页面是瓶颈,您可以随时切换到Java实现.那么你就和你一直在使用Play框架一样.你已经通过推迟Java编码来优化你的开发时间,直到你知道你真的需要这样做(根据我的经验,这是非常罕见的).

我也不确定你在哪里听到你需要为每次修改重新启动服务器,但事实并非如此.Grails支持重新加载控制器/ gsps/services/domain对象等,而无需重新启动服务器.

混合堆栈跟踪可能会有点长,但工具供应商(如Intellij)已经做了一些最近的改进,去掉了你不关心的所有堆栈跟踪部分.

自从.5天以来我一直在使用grails并且对平台非常满意.

  • 我没有亲自使用过Grails,但是我最好的一个芽转向它,以及他赞美它的美德的方式,我想他的妻子可能需要担心!;) (2认同)