整合Grails和GWT

时间:2008-11-21 17:22:42

标签: java gwt grails groovy

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

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

干杯, 唐

4 个答案:

答案 0 :(得分:13)

Grails已经有一个gwt插件:check it out

答案 1 :(得分:3)

你确实在服务器端提到过 - GWT和grails实际上并没有很好地集成在服务器端(考虑到grails域对象的工作原理,你可能没有这么好)。对于RPC,它运行良好的插件。

问题在于域对象无法通过网络进行序列化和传输 - 毕竟,它们是常规对象。您需要自定义数据传输对象(DTO),并手动执行编组。它可以自动化,但没有任何开源代码可以实现它 - 所以滚动自己是唯一的解决方案。

或者看看你是否可以让Hibernate4gwt与grails一起使用 - 但我怀疑它是否也可以开箱即用。

答案 2 :(得分:1)

另一种方法:将Grails与SmartGWT一起使用。使用基于REST的集成代替GWT-RPC(过于复杂,而且正如其他人所指出的那样,并不适合Grails),因为Grails非常支持序列化为XML或JSON,而SmartGWT具有内置的REST支持。看一下显示示例源代码的博客 - 为任何Grails对象构建可重用的主 - 详细信息屏幕都非常容易。

http://josip-dev.blogspot.com/2010/06/grails-smart-gwt.html

答案 3 :(得分:0)

  

具有动态语言的好处   (Groovy)可以真正减少金额   需要的(样板)代码   写入

这就是RoR阵营的人们一直在讲道的。经过一些初步的繁荣,RoR项目在更大的项目中遇到了不可避免的麻烦。规模越大的项目就越应该委托给编译器,即更有价值的是静态语言。目前,RoR的热潮几乎消失了。

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

在我的GWT项目中(目前为止,我必须承认)我使用JPA(Hibernate),DAO层,业务委托模式,它简单而强大。