Groovy 2.0 erschienen: Statische Kompilierung bringt Java und Groovy näher

Hartmut Schlosser

Ab sofort ist Groovy 2.0, die populäre dynamische Sprache für die Java-Plattform, zum Download freigegeben. In der zweiten Major-Version wurden einige wichtige Neuerungen eingebaut, von denen die Implementierung statischer Typen-Überprüfung und statischer Kompilierung hervorstechen.

Der Support des Invoke Dynamic Features aus JDK7 bringt deutliche Performance-Gewinne mit sich – natürlich nur, wenn Sie JDK 7 auch einsetzen. Aber auch die neue statische Kompilierung sorgt für Beschleunigung schon ab dem JDK5. Statische Kompilierung ist per se schneller und kann gerade für kritische Teile einer Groovy-Anwendung bedeutsam werden. Allerdings büßt man dadurch einige Vorteile der dynamischen Kompilierung ein. Das Optimum kann in Groovy 2.0 aber auch durch eine Mischung dynamischer und statischer Features erreicht werden.

Mit der Unterstützung der Project-Coin-Funktionen aus Java 7 hält Groovy 2.0 Schritt mit der Java-Syntax. Auch der neue statische Type Checker bringt die beiden Sprach-Geschwister enger zusammen: Entwickler, die Groovy als Java-Skriptsprache nutzen, erhalten das selbe Feedback und die selbe Typensicherheit wie beim javac-Kompiler.

Als weitere Innovation bietet Groovy 2.0 einen höheren Grad an Modularität. Das Groovy JAR wurde in kleinere Feature-orientierte JARs aufgesplittet. Die Entwicklung eigener Erweiterungsmodule wird so einfacher, außerdem wird die Integration in kleinere Umgebungen wie Android erleichtert.

Insgesamt ist das Groovy Jar nun halb so groß wie in früheren Versionen und bietet die folgenden Feature-Module, die man sich bei Bedarf hinzuschalten kann:

  • Ant: Für das Skripten von Ant Tasks
  • BSF: Integration von Groovy in Java-Anwendungen mit dem Apache Bean Scripting Framework
  • Console: Groovy-Swing-Konsole
  • GroovyDoc: Für die Dokumentierung von Groovy- und Java-Klassen
  • Groovysh: Korrespondiert mit der Groovysh Kommandozeilen-Shell
  • JMX: Für die Entwicklung mit JMX Beans
  • JSON: JSON-Integration
  • JSR-223: Groovy-Integration in Java-Anwendungen mit den JDK 6+ javax.scripting APIs
  • Servlet: Groovy Script Servlets und Templates
  • SQL: Für die Abfrage relationaler Datenbanken
  • Swing: Entwicklung von Swing UIs
  • Templates: Nutzung der Template Engine
  • Test: Test Support, z.B. GroovyTestCase, Mocking, etc.
  • TestNG: Schreiben von TestNG Tests in Groovy
  • XML: Für die Bearbeitung von XML-Dokumenten

Groovy-Projektleiter Guillaume Laforge erleutert all diese Neuerungen in einem ausführlichen Artikel auf InfoQ. Der Download ist unter http://groovy.codehaus.org/ möglich.

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.