作为新兴事物的Grails,人们还对其存在一些误解[1]。
(1)Grails还不够成熟。
事实上,已经有越来越多的组织和个人选用Grails技术开发网站,Grails官方站点已经列出了上百个使用Grails技术的成功商业案例[2]。此外,由于Grails本身是基于Hibernate、Spring和SiteMesh这些成熟完善的框架而构建的,因而无需担心它的成熟程度。
(2)Grails是否只是Rails的一个克隆产物。
Ruby on Rails引入了不少非常好的主意,Grails将其中的一部分应用到了Groovy/Java世界中,并且还加入了许多Ruby中并不存在的特性和概念,所有这些东西都是以一种对Groovy和Java程序员有意义的方式展现出来的。
(3)有了JRuby on Rails之后,谁还要Grails呢?
Grails的目标与JRuby on Rails大为不同。它不是为了在Groovy语言上实现一个Rails的移植版本,而是将业界最为强悍的组件(如Spring、Hibernate、Quartz、Compass和SiteMesh等)以最佳方式组合起来的一个实践,并通过采纳无配置规约使它们符合“不重复(Don't Repeat Yourself,DRY)”的原则。Grails没有重复造轮子,而且,由于Grails内核的绝大部分代码都是以Java编写的,它也显得更加强壮、稳定和高效。事实上,从内核角度看Grails应用,只相当于是一个 Spring MVC应用,因而可以被部署到所有的主流容器之上,包括大型的商业容器,如WebLogic、WebSphere和 Oracle AS。