1.Groovy的最新八卦资料
1.1 wiki http://docs.codehaus.org/pages/listpages.action?key=GROOVY
1.2 mail list在线浏览
Developer List http://dir.gmane.org/gmane.comp.lang.groovy.devel
User List: http://dir.gmane.org/gmane.comp.lang.groovy.user
2.Groovy开发现状
编译强壮性大大增强的JSR-2已发布,仿Ruby的maxin功能等特性已经被放到1.1版本,当前的版本将全力除bug。
3.Migrating to JSR
JSR的最大改动主要两处,网上很多Groovy文章都是基于旧语法的,需要自行改正过来
3.1 为了加强代码健壮性,Class里的变量需要用def 定义, 而在script里的变量,因为需要动态binding,仍然不需要def定义.
3.2 多行的String需要用 """ """来括住,这个改动连simpleTemplateEngine在JSR2里都没有跟上.
4.Groovy and Java
GroovyC会把groovy文件编译成Java class bytecode。
其中Class会编译成GroovyObject的子类,script代码段会编译成Script的子类
1.GroovyObject类默认有get/setProperty()和invokeMethod()的反射接口
在Java里,可以直接调用Groovy类的方法,也可以通过反射接口来调用。
2.Script类有Script(Binding)构造函数和run()接口
在java里通过run接口进行调用.
可以用GroovyC静态编译,也可以用GroovyShell把groovy文件动态parser成GroovyObject/Script类
Groovy和Groovy的框架类库都是用Java写出来的的.所以有些类库如SimpleTemplateEngine,也可以在Java里直接使用.
5.groovy-all-1.0-jsr2.jar
groovy需要asm和antlr包的支持,使用groovy-all-10-jsr2.jar,将预带这两个包的正确版本,非常省心。
6.groovyJ插件
IDEA插件,最有用的功能是编译Java文件目录的时候,会把groovy文件也同时编译,另外有语法变色和Run()功能。
日后将支持重构,类间跳转等功能。
7.一些重要的开发人员
两个Founder:
Bob Mcwhirter (The Werken Company) ,James Strachan (Core Developers Network)
三个ThoughtWorks的开发人员:
Jame Walnes,Chris Stevenson,Matt Foemmel
四个star of this JSR-2:
Jeremy Rayner, Jochen Theodorou,和两位老大一起改进JSR-2编译的强壮性和出错信息显示
Franck Rasolo:IDEA插件GroovyJ的开发人员
Christian Stein:Groovlet,Template的开发人员
BTW. Grails--Groovy on Rails: Steven Devijver
8.SimpleTemplateEngine-总共200行就实现了JSP engine的功能
动态语言开发框架很方便啊,所以Ruby on Rails没有IDEA级的IDE都能这么就快开发出来,把MVC,ORM都实现了一遍。
请看src/groovy/text/SimpleTemplateEngine.java