Groovy

{ 2007-07-03 } von Reinhard Pötz

Category image: Software Engineering

Ich habe schon lange einen Blick auf Groovy geworfen und auch schon einige Male probiert. Groovy - die erste Sprache neben Java, die durch den Java Community Process spezifiziert wurde - kann sowohl in einem Interpreter laufen aber auch zu Java Bytecode kompiliert werden. Der Vorteil liegt auf der Hand: Man kann mit Groovy Code erzeugen, der sich perfekt in Java-Umgebungen integriert, aber auch von Groovy-Programmen aus sämtliche Java-Bibliotheken einfach integrieren und somit auf einen riesigen Fundus zurückgreifen.

Doch warum sollte man den Einsatz von Groovy überhaupt überlegen? Mit Groovy und seinen sehr mächtigen Sprachfeatures kann man im Vergleich zu Java Code erzeugen, der um einiges kompakter ist. Dabei helfen vor allem Closures und die Möglichkeiten, mit JavaBeans und XML zu arbeiten. Es ist auch verblüffend, wie einfach es ist, ein Service via SOAP zur Verfügung zu stellen (siehe Groovy SOAP). Mein erster Anwendungsfall für Groovy wird die Verwendung in Unit-Tests sein. Ich erhoffe mir dadurch zum einen Tipparbeit zu sparen und zum anderen, die Sprache besser kennenzulernen, um neue Anwendungsmöglichkeiten für mich zu erschließen.

Seit letzter Woche steht auch ein Eclipse-Plugin in der Version 1.0 zur Verfügung, das ab Eclipse 3.2 funktioniert. Es bietet (fast) alles, was man sich wünscht:

  • Syntax-Highlighting
  • automatische Code-Analyse auf Fehler
  • Code-Completion
    (auch für Objekte, die über importierte Java-Klassen definiert werden!!!)
  • Integration in die Eclipse-JUnit-Testumgebung (zurzeit über Testsuiten, aber man bekommt eine detailierte Aufstellung, welche Tests durchlaufen und welche nicht)

Was fehlt meiner Meinung nach noch?

  • Refactoring-Support: Wenn sich eine verwendete Java-Klasse ändert, sollte der Groovy-Code mitziehen und vice versa (siehe GROOVY-1758)
  • Wenn man auf einen Groovy-JUnit-Test im JUnit-View klickt, sollte man direkt in den Groovy-Code springen und nicht im .class-Edtior der dynamisch erzeugten Java-Klasse (siehe GROOVY-1015)

Falls diese beiden Features auch für dich von Interesse sind, klicke auf die beiden Links zum Groovy Jira und "vote" dafür!

Zum Abschluss sei noch erwähnt, dass es auch Ant-Tasks gibt, um Groovy-Skripte zu kompilieren und somit in seinen Build-Prozess zu integrieren. Und seit einigen Wochen gibt es auch ein Maven 2 Groovy Plugin. Erste Tests des Plugins waren sehr erfolgsverspechend.


Zurück