字号:大 中 小
Groovy是一种基于Java虚拟机的脚本语言,它与java语法兼容性相当高,而且在字节码层面与java是完全相同的,所以Groovy与java可以互相调用。这样Groovy就可以大量借用java现有的成熟库,而不用自己从头写,或者使用未经过长期验证的第三方库,这也是它相对于Python等脚本语言的优势所在。
Groovy的语法非常简洁,不需要大量的冗余代码,而且它所支持的GString更是一种非常强大的工具,用在代码中比printf之类的调用明显更容易阅读。
Groovy的一个竞争语言是Scala,后者也是基于java虚拟机的一种语言,但是后者是函数式编程语言,与java等过程式语言差距很大,一般人不容易适应。Scala的优点是能够支持优秀的并发,据说Facebook的部分接口就是用Scala开发的。但是Scala在快速网站开发方面并没有什么优势。所以如果想以快速网页开发为主,那么Groovy是一个更好的选择。反之,如果想要支持大规模访问量,那么Scala不妨尝试一下。
Grails是基于Groovy的一个快速网页编程框架,它大量借鉴了Rails的设计理念,同时基于Spring和Hibernate等成熟技术,所以虽然推出时间不长,但是仍然可以算是起点比较高的一种Framework。
Grails的插件体系非常值得称道,目前它可以非常轻松的支持写WebService、REST的Xfire插件、写AppEngine应用的app-engine插件、写GWT ajax应用的GWT插件等等,还有其他各种用途的插件,比如条形码、认证、识别码等等。而这些插件的集成工作都非常简单。
Grails内置了ORM支持,而且内置了国际化的支持,这些对于网页的快速开发来说都是非常有用的。
Grails提供了Eclipse插件,但是非常原始,几乎不可用。但是它的IntelliJ和NetBeans的插件都相当有用