Grails框架中的陷阱[已关闭]


12

使用Grails框架有哪些最大的问题/陷阱?我现在正在学习框架,我真的很喜欢它,但是我需要知道在使用它时可能遇到的主要问题以及如何避免它们。

Answers:


13

IMO,Grails最弱的部分是缺少数据模型迁移功能(ala Rails ActiveRecord迁移)。有一些质量不同的第三方插件,但没有官方的。

但是,我刚刚发现Liquibase已经扩展并变成了数据库迁移插件,而且看起来很有希望:http : //www.grails.org/plugin/database-migration

从好的方面来说,对于我使用Grails所做的所有事情(简单到中等复杂的Web应用程序)来说,它都很棒。我想说,与Java / Hibernate / Spring / Spring MVC堆栈相比,我的开发效率可以提高大约2到3倍。


1
+1。我选择Grails来完成对Struts 1应用程序的不良编写。对我而言,唯一棘手的部分是在两个servlet之间共享cookie。否则,它是一个总的胜利。
凯文·克莱恩

5

由于grails环境需要花费一些时间来加载,而运行该测试只需要一小部分时间,因此运行集成测试的速度很慢。这将在您开发写入数据库的代码时增加周转时间。Kaleb在回答中已经提到了另一个问题(关于数据迁移)。我还发现,与冬眠和春季可用的帮助相比,每当遇到困难时,我无法获得帮助的论坛数量是有限的。


运行测试:只需以交互模式运行它们-这样就可以避免启动
rdmueller

3
论坛:我的经验是,我在Stackoverflow的4小时内得到了所有问题的答案-大部分直接来自grails提交者...
rdmueller 2011年

3

当前使用该框架的陷阱是它目前与Gradle构建系统的集成度很低。目前,它使用插件来完成此操作,但是插件本身会随grails的新版本而中断(正如我最近尝试使用和修复的那样)。他们计划通过使gradle成为grails构建系统(而不是gant)的一部分来解决此问题,但是缺少可轻松集成的构建系统是一个问题。但是,这种陷阱将来会消失。

另一个陷阱是语言的动态特性。您确实必须为所有内容编写测试。代码中的大多数错误都是在运行时发现的。这实际上是对程序的另一种思考方式。依靠编译器来发现您的一些错误不会在此框架下发生。我并不是说这很糟糕,它只是与众不同(如果您不熟悉它,这是一个陷阱)。


2

我喜欢整个grails / groovy概念,尽管我个人比使用grails更喜欢使用普通groovy,但我认为它们都很出色。

(以我的个人经验)唯一的缺点是对IDE的支持不佳。我认为(相当乐观),由于SpringSource具有出色的Eclipse构建并且是Grails的大力支持者,因此这将是必经之路。groovy插件很难安装,代码完成很不稳定(总是存在动态语言的问题,但是给我选择60种方法并没有帮助),调试可能很乏味,因为它通常需要逐步浏览groovy的内部代码,并且,在最新版本中,安装groovy插件会破坏Java调试器!


0

目前,它对抽象类没有很好的支持。例如,您不能List<T>在命令对象中将实现列表绑定为一个实现。当然,这主要是令人讨厌的,因为我已经习惯了它神奇地绑定其他所有内容!:D

通常,它仍然只是一种“绿色”。您最终会遇到奇怪的小限制和错误。几年来,它确实走了很长一段路。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.