我使用过JSF,Spring MVC和Struts,我认为我在这些框架上取得了很好的成绩。最近我听说很多与我合作的优秀开发人员正在学习Grails并在他们的项目中使用它。
Grails比其他框架有什么实际优势?除了我知道其他框架之外,还值得学习吗? Grails周围的嗡嗡声是什么,只是因为Groovy?
注意:我在SO中进行了研究,我发现的唯一相关问题是this,并且没有提到Grails
答案 0 :(得分:27)
Grails特别为您提供了许多优于其他Web框架的优势(我只能谈论Struts 1.x,2.x和SpringMVC) - Grails实际上是建立在SpringMVC之上的,并且您可以集成使用Spring的其他组件。
数据库迁移和版本控制 - 不再有与数据库模式综合症不同步的应用程序。大多数Java Web应用程序都受此影响。
人工制品 - 可以更轻松地创建新的控制器和组件。不再创建控制器,对其进行配置并将其填充到Web应用程序中的正确位置。卫生署!脚手架还为您提供了所有一些初始组件,以便您开始构建页面和自定义
更简单的验证(def比Struts 1.x更简单),例如username(size:6..10, blank:false)
指定用户名字段的两个验证规则具有特定长度且非空白。在其他Java Web应用程序框架中,这有点困难。
内置Webflow(通过Spring webflow),这使得创建复杂的工作流程变得更加简单。 Struts 2可以支持Webflow,但是通过一个插件,如果我记得有点奇怪。春天也可以。
拦截器 - SpringMVC也有这些。
Flash范围,请参阅http://grails.org/doc/docs/1.1/ref/Controllers/flash.html
更好的数据绑定 - Struts 2非常好,比Struts 1好得多.SpringMVC也很好。
还有一些,请查看文档以获取更多详细信息:http://grails.org/doc/1.1.1/
答案 1 :(得分:11)
是的,它关于Groovy,和Java一样非常棒。 Groovy遵循“Code less,do more”这一概念,而Java则类似于“Code more,do more”。对Java人没有冒犯,我是你们中的一员。
您可能希望阅读以下内容:
答案 2 :(得分:7)
Grails为现有的Java框架增加了Groovy的优点,并提供了轻松使用它的工具:
所以,
值得学习吗?
我认为你是的。既然你已经了解了Java和一些可用的框架(尤其是Spring MVC),那么学习曲线就不应该太陡了。
Grails周围有什么嗡嗡声,是不是因为Groovy?
可以解释这个问题,因为Grails演示了可以利用Groovy创建一个非常实用的“产品”。