我知道这是一个重复问题,但自那个问题被问出以来,Grails世界和Eclipse的IDE支持已经取得了相当大的进展,因此请不要盲目关闭它。
我认为答案是肯定的,并开始使用Grails 1.2.0进行新项目,并尝试使用STS Eclipse Integration的Groovy/Grails部分。
我认为在一年的Grails演进之后应该重新审视这个问题,当时答案是明确的“两极分化”。
所以,作为经验丰富的Java Web开发人员,我有以下几个问题,并希望我的假设能够受到挑战:
- Grails现在是否值得使用,相比Ruby或自己开发?
- 它是否克服了起步时的错误?
- 它是否真的带来快速开发的好处?(我承认我现在正在努力完成基线配置之外的定制应用程序,这些应用程序不仅仅是列表和页面导向)
- 它是否适用于真实的生产应用程序?(它感觉很重)
- Eclipse插件是否比以前更好,并且是否能够胜任工作?(我认为还没有)
谢谢
编辑: 我在不断学习中,对使用该框架有一些显著的抱怨 - 而不是框架本身的功能。我之所以加入这些内容,是因为我认为它们应该作为考虑因素,并基于我的经验和意见,可能会帮助某些人决定是否采用Grails。我也可能显示出我对该框架的经验不足,因此这些都不是完全批评。我是一名经验丰富的开发人员,以下是我的发现:
调试真的很难。事实上,对于一个框架的初学者来说,它几乎是不可能的,这时你最需要你可靠的调试器朋友了。我花了比找到与域字段相关的语法错误在代码的某些部分所需的时间更多的时间,以跟踪导致堆栈中某处出现静默故障的问题。
记录日志真是太可怕了。你有两种模式,“没有有用的信息”和“大量无用的东西”。我的调试日志在单个页面请求后达到了128Mb,却没有包含任何关于我的错误的信息。我认为整个记录日志的问题需要在框架中重新考虑。
STS Eclipse IDE的价值有限。除了语法高亮之外,它没什么用处。你不能调试代码,所以它只是一个带有强化编辑功能的编辑器。代码提示不完善,就我所知,它根本不支持GSP。它也是我桌面上最慢的Eclipse插件——启动需要大约2分钟的时间。它非常慢。我已经回到了一个文本编辑器(你会注意到所有在线教程视频也都是如此)和一些自定义的语法高亮。
我对性能有一些严重的担忧。现在说还为时过早,但由于Hibernate,我已经开始调整数据库了。也许这是可以预料的,但我真的必须让我的域模型保持简单,以便约定产生高效的查询。
最后一个问题,逻辑域模型和物理数据库模型应该相同的想法不是明智的默认设置,而且在实际情况下很少会发生。我知道你可以将两者分开,但这会导致某种程度的复杂性,如果扩展惯例,则可以避免这种情况。关于组合和如何使其在实践中工作的文档不足,需要做什么才能使其运行起来。