Groovy开发团队近日发布了2.0的版本,Groovy是基于Java虚拟机(JVM),属于一种动态、面向对象的编程语言,尽管是一门动态语言,但是新版本加入了静态类型检查器和可选的静态编译应用程序的某些部分的功能,Groovy2.0还包括了语法加强、更加模块化、能充分利用JDK7的动态调用(invoked dynamic)等特性。
因为很多Java开发者使用Groovy作为一种扩展语言嵌套使用,Groovy因静态类型检查特性的加入使得开发者就能像使用Java一样在编译的时候看到错误消息,如果开发者在代码中使用@TypeChecked注解,Groovy编译器将在编译阶段执行静态类型检查,指出明显的错误如变量名称输入错误等,静态类型检查器同样可以验证返回值。开发者可以混合静态类型方法和该语言的动态特性以及可选的类型检查,这些都得益于Groovy的动态特性。
Groovy2.0支持JDK7的动态调用特性,当使用JDK7版本时此特性增强了Groovy的动态调用的性能。因为JDK7可以广泛的部署,Groovy开发团队增加了新的@CompileStatic转换,使之包含了静态类型检查代码的特性,这个版本的Groovy还包括了来自于Project Coin项目的一些语法增强。
为了让Groovy更加模块化,Groovy2.0分拆了最初的Groovy Jar 文件,由多个小模块组织起来,这使得核心Groovy JAR文件大小减少一半,因此而更加可移植。用户现在可以只选取必要的模块放到他们的程序中,这样开发的好处就是支持模块的扩展。Groovy的模块现在可以提供方法给其他类使用,包括JDK或者其他的库,这些扩展的方法是完全支持的,而且能被静态类型检查器和编译器所理解。
开发团队最初计划发布这个版本叫1.9,但是此版本大量的新特性让他们改变了想法,因此而命名为Groovy2.0。
从现在起,开发团队计划每年发布一个主要的版本,Groovy3.0将在明年发布。
关于这个发布的更多细节信息可以在InfoQ上Groovy项目负责人Guillaume Laforge的一篇文章 找到。Groovy2.0可以在基于Apache2.0许可协议下的条件下从Codehaus.org下载。