Google Guava – Los geht’s

Google Guava sticht aus der Unmenge an Utility-Sammlungen für Java besonders durch seine clever designte API und nützlichen Datenstrukturen die den Standard-Collections fehlen hervor. In unregelmäßigen Abständen werden wir hier im Blog einzelne Komponenten vorstellen. Los geht es mit einer kurzen Vorstellung von Guava.

Ein großer Nachteil in Java ist, dass man manchmal unverhältnismäßig viel tippen muss um einfache Aufgaben umzusetzen. Dann schielt man doch ganz gerne mal zu neueren und älteren (Skript-)Sprachen rüber, die eine CSV-Datei eben mit einem Befehl statt mit einer bildschirmfüllenden Methode parsen. „Verbose“ heißt diese Eigenschaft, die sich am besten mit „langatmig“ übersetzen lässt. Das ist, bis auf ein paar Ausrutscher, kein Fehler im Design von Java, sondern Absicht. Etwa um die Anzahl an Sprachelementen übersichtlich zu halten. Und falls man dann doch mal die parseCSV(File) Methode vermisst, gibt es Unmengen an Utility-Libraries für die verschiedensten Aufgaben zur Auswahl. Der bekannteste Vertreter ist hier vermutlich Apache Commons. Neben dem, etwas in die Jahre gekommenen, Klassiker gibt es aber auch andere, mindestens so gute Alternativen.

Fester Bestandteil in unseren Projekten ist inzwischen Google Guava. Die „Google Core Libraries for Java“, setzen vor allem auf einfache verwendbare Hilfsklassen und Datenstrukturen die man entweder regelmäßig braucht oder die, wenn man sie hin und wieder benötigt, enorm viel Aufwand ersparen. Entstanden ist Guava übrigens aus den Google Collections, die inzwischen darin aufgegangen sind.

Im direkten Vergleich mit Apache Commons fehlt Guava dann aber doch die eine oder andere Funktion. In der Praxis ist das aber kein Nachteil, da viele davon dann doch eher „uncommon“ sind und nur sehr selten benötigt werden. Tatsächlich ist ein übersichtliches Angebot an Hilfsmitteln die man regelmäßig braucht sogar besser als eine unüberschaubare Auswahl in der vieles einfach untergeht.

Wichtig ist auch, dass Google Guava sehr aktiv weiterentwickelt. Neue Versionen erscheinen meistens innerhalb weniger Monate oder noch schneller. Viele bringen neue Funktionen mit, die häufig erst einmal als Beta gekennzeichnet sind und dann in den nächsten Versionen fest aufgenommen oder überarbeitet werden und ganz selten auch mal wegfallen.

Positiv ist außerdem noch anzumerken, dass Guava weitestgehend zum Google Web Toolkit kompatibel ist. Die wenigen inkompatiblen Klassen und Methoden sind durch die entsprechende Annotation gekennzeichnet. Dabei handelt es sich etwa um Hilfsklassen für Multithreading, was es in JavaScript einfach nicht gibt.

Download: http://code.google.com/p/guava-libraries/

Veröffentlicht in Allgemein, Java, Softwareentwicklung Getagged mit: ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

* Copy This Password *

* Type Or Paste Password Here *