使用Vaadin插件的Grails,它是正确的选择吗?

Fab*_*gni 10 grails grails-plugin vaadin

对于我的组织,我正在为下一个项目评估RICH技术.我们目前正在使用grails 2.1.0,并对此非常满意,特别是对于groovy和gorm,我们希望继续使用它.我们的想法是使用一些RICH框架/库来扩展grails.目前我正在评估:ZK的grails插件,Vaadin的grails插件,knockoutjs,angular.js,ember.js.

我已经收到了与ZK合作的同事的反馈(没有grails),他们的结论是:很酷,但忘记了表现,ZK每次在客户端做某事时都会去服务器.

我的问题是:Vaadin(Grails的插件)也是如此吗?它如何对繁重的单页应用程序做出反应?怎么样的Bambi?这可以选择吗?

在纸上grails + Vaadin是我们需要的:我们想写groovy/java,而不是xml,肯定不是javascript.这是正确的选择吗?

我知道我的问题非常通用,但我只是在评估的开始......感谢您的关注!

Ond*_*sky 6

  1. Vaadin与Groovy和Grails完美配合.您可以使用Grails.get()方法获取服务(实际上是spring bean),并通过Grails.i18n()方法进行本地化.因为所有的代码都是用Groovy而不是Java编写的,所以它会变得不那么重(代码行等等......).
  2. Vaadin不会在服务器上执行任何用户操作.您可以通过在任何组件上设置setImmediate(false)来影响它.
  3. 在Vaadin中创建复杂的应用程序时,需要注意页面上放置了多少组件.如果您希望单页上有数千个组件,那么浏览器渲染器在处理它时会遇到性能问题(当然渲染速度取决于您的计算机硬件).这里有更多提示.
  4. 我建议 - 尝试在Vaadin和假数据库中构建UI.然后查看性能,然后切换到真实数据库.通常人们责怪Vaadin,但问题出在其他地方,例如数据库,索引,一次加载到很多项目......
  5. 如果你不想玩JavaScript,那么我认为knockoutjs,angular.js,ember.js已不在游戏中.
  6. 您需要了解Vaadin组件是否符合您的需求.我真的建议尝试一下,在Vaadin中制作概念验证.如果没有,Vaadin 7简化了与JavaScript的集成!因此,您可以轻松地将Vaadin服务器代码与任何JavaScript库(例如highcharts等等)集成.
  7. 您将需要懒洋洋地装入容器(检查一下)
  8. 我想你应该从Vaadin 7开始(这是一个教程)
  9. Vaadin 7中将有更多性能优化(版本7.0.1或7.0.2)