GroovyDer Name alleine ist schon spannend. Bei Groovy handelt es sich um eine Skriptsprache, die speziell auf die Java Plattform abgestimmt ist. Erstes Indiz ist, dass ein Java Programm auch ein Groovy Programm ist. Warum will man das überhaupt haben?
- Wiederverwendung und Glue Code wird deutlich mehr geschrieben als "echter" Code
- Ebenfalls wird mehr Testcode geschrieben als echter Code
Groovy ist binärkompatibel mit Java, d.h. es werden auch .class Files erzeugt. Gleichzeitig werden die bekannten Java Datenstrukturen verwendet. Eine Groovy List ist also eine Java List.
Einige Unterschiede:
- Groovy kann dynamisch typisiert werden, d.h. Typen müssen erst zur Laufzeit bekannt sein und der Typ einer Variable muss nicht deklariert werden
- Eigene und einfachere Syntax für Lists, Maps, Arrays, Beans usw.
- Closures, d.h. man kann Codeblöcke an andere Objekte übergeben
- Bei der Ausgabe von String werden ${variable} mit dem Variablenwert ersetzt, was "+variable+" überflüssig macht.
- Man kann nachträglich Methoden in das System einbauen
Anwendungen: AntDie erste interesssante Anwendung ist, dass man in Ant Files Groovy Skripte einbauen kann die über ant.
Ant Task aufrufen können. Das ist vor allem interessant, weil es ein historischer Irrtum ist, dass Ant XML Files verwendet. Mittlerweile sagt der Urheber von Ant, dass er heute eher eine Skriptsprache verwenden würde. Mit dem einfachen Zugriff auf die verschiedenen Ant Features scheint dies jetzt leicht realisierbar.
Anwendung: XML und andere hierachische Strukturen
Eine weitere interessante Sache ist, dass man mit Groovy hierachische Strukturen wie XML Daten oder Swing GUIs sehr leicht erzeugen kann. Und es ist wirklich einfach.
Anwendung: Excel Fernsteuerung
Als Live Demo kam dann noch die ActiveX Integration am Beispiel einer Fernsteuerung von Excel. Dies hat er in einer interaktiven Groovy Shell vorgeführt, was extrem cool war. Normalerweise würde ich aus Java nie versuchen, Excel fernzusteuern, aber mit diesen Mitteln war es kinderleicht.
Nachteile & Vorteile
Groovy kommt erst im September als 1.0, wird aber schon sehr produktiv genutzt. Es erreicht 20-90% der Java Performance, aber man braucht nur 50% der Java Entwicklungszeit.
Links
http://groovy.codehaus.org/
J for Java |
I for Internet, iMac, iPod and iPad |
Me for me