Java 集成Grails和GWT

Java 集成Grails和GWT,java,gwt,grails,groovy,Java,Gwt,Grails,Groovy,对于不喜欢(或不知道)HTML/JS/CSS构建丰富web界面的Java开发人员来说,GWT似乎是一种非常好的技术。在服务器端,Grails看起来也很不错,通常被描述为“Java开发人员的Rails”。我已经读过Grails的“约定优先于配置”方法,加上动态语言(Groovy)的好处,可以真正减少需要编写的(样板)代码的数量,同时仍然利用Spring和Hibernate等同类最佳Java技术 无论如何,我没有读到太多关于这些技术在一起发挥得有多好的文章。在服务器端将GWT与Grails集成有多容

对于不喜欢(或不知道)HTML/JS/CSS构建丰富web界面的Java开发人员来说,GWT似乎是一种非常好的技术。在服务器端,Grails看起来也很不错,通常被描述为“Java开发人员的Rails”。我已经读过Grails的“约定优先于配置”方法,加上动态语言(Groovy)的好处,可以真正减少需要编写的(样板)代码的数量,同时仍然利用Spring和Hibernate等同类最佳Java技术

无论如何,我没有读到太多关于这些技术在一起发挥得有多好的文章。在服务器端将GWT与Grails集成有多容易?我很想了解使用这些技术构建应用程序的任何人的经验?关于构建GWT Grails网站的资源(书籍/网站)的建议也非常受欢迎

干杯, 堂

使用动态语言的好处 (Groovy)确实可以减少 需要修改的(样板)代码的 书面的

这就是RoR夏令营的人一直在宣扬的。在一些最初的繁荣之后,RoR项目不可避免地遇到了更大项目的麻烦。项目越大,应该委托给编译器的工作就越多,即静态语言越有价值。目前,RoR繁荣几乎已经过去

例如,现在使用JPA/Hibernate编写的(额外)代码量几乎为零。仅限注释。它甚至在运行时通过类路径找到映射的bean本身!SpringFramework也使许多其他“样板”代码件过时


在我的GWT项目(到目前为止,我不得不承认)中,我使用了JPA(Hibernate)、DAO层、业务代理模式,而且它简单而健壮。

Grails已经有了一个GWT插件:。

您在服务器端提到过——GWT和Grails在服务器端实际上没有很好地集成(考虑到grails域对象的工作情况,这可能不如您预期的好)

问题是域对象不能被序列化和跨线传输——毕竟,它们是groovy对象,并手动进行编组。自动化是可能的,但目前还没有任何开源代码可以实现这一点,因此,自己动手是唯一的解决方案


或者看看是否可以让Hibernate4gwt与grails一起工作——但我怀疑它也不会开箱即用。

另一种方法:将grails与SmartGWT一起使用。而不是GWT-RPC(太复杂了,正如其他人所指出的,grails不能很好地使用)使用基于REST的集成,因为Grails非常支持序列化为XML或JSON,SmartGWT具有内置的REST支持。看看这个展示示例源代码的博客——为任何Grails对象构建一个可重用的主细节屏幕非常容易


FWIW,我不同意你关于静态语言是“一条真正的道路”的建议。动态语言阵营会争辩说,静态类型检查的冗长是你提到的“大项目”的部分原因。附录:GWT现在与grails 1.1.x集成得相当好-GWT插件比我所听到的有了很大的改进。