Donnerstag, 24. Mai 2012


Buch-Tipp

Contributing to Eclipse

(Link zum Artikel: http://www.entwickler.de/jaxenter//000286)

Principles, Patterns & Plugins

  • Autor/in: Erich Gamma & Kent Beck
  • Verlag: Addison-Wesley Verlag
  • Seiten: 395
  • erschienen: 2003
  • Preis: $ 39,99
  • ISBN: 0-321-20575-8

Eclipse ist eine Java IDE – diese durchaus korrekte Aussage spiegelt allerdings nur die Spitze eines enormen Eisberges wider und wird somit auch nur einem Bruchteil der Möglichkeiten rund um das Eclipse-Framework gerecht. Am deutlichsten werden die Möglichkeiten von Eclipse wohl durch ein Zitat der Webseite eclipse.org/ wiedergegeben: "Eclipse is a kind of universal tool platform – an open extensible IDE for anything and nothing in particular." Was zunächst etwas lapidar daherkommt, drückt einen Grundgedanken aus, welchen auch Erich Gamma und Kent Beck in ihrem neuen Buch verfolgen: Eclipse kennt keine Grenzen, es sei denn diejenigen in den Köpfen der Entwickler.

Um das hier besprochene Buch von anderen Eclipse-Werken abzugrenzen, zunächst ein kleiner Exkurs zu dem, was dieses Buch nicht ist. "Contributing to Eclipse" ist weder eine Einführung in Eclipse noch ein Tutorial zur Eclipse-basierten Java-Programmierung. Es handelt sich vielmehr um ein recht beeindruckendes Werk, welches sich sowohl mit der Erweiterung von Eclipse mittels selbst geschriebener Plugins als auch mit der Erstellung eigener Eclipse-Kontributionen beschäftigt.

Zu diesem Zweck teilt sich das Buch in seinen rund 400 Seiten in vier aufeinander aufbauende – in Anlehnung an den Eclipse Contribution Circle „Kreise“ genannte – Teile auf. Der erste Teil sensibilisiert den Leser für die generelle Problematik der Eclipse-Plugin-Entwicklung und zeigt auf, wie sich eine einfache „Hello World“-Variante eines eben solchen erstellen läst. Bereits in dieser frühen Phase werden der Unterschied zwischen Eclipse und anderen klassischen Java IDEs verdeutlicht und die ersten grundlegenden Regeln der Eclipse Community eingeführt.

Einen deutlichen Schritt weiter geht der zweite Teil des Buches, in dessen Rahmen der gesamte Eclipse Contribution Circle am Beispiel einer JUnit TestInterfaces-Implementierung Schritt für Schritt dargestellt wird. Der Test dieser Implementierung selbst findet übrigens ebenfalls mit JUnit statt, was schon fast rekursive Charakterzüge annimmt. Am Ende des Abschnitts steht ein voll funktionsfähiges Plugin. Wie aus einem einfachen Plugin für den Hausgebrauch ein professionelles Plugin mit universellen Erweiterungsmöglichkeiten für andere Entwickler werden kann, verdeutlicht der dritte Teil des Buches. Ein wesentlicher Schwerpunkt dieses Buchabschnitts liegt dabei in der Darstellung des Anteils programmativen Codes im Verhältnis zu deklarativem Code. Schnell wird deutlich, dass durch Themen wie Internationalisierung, Hilfe, Tracing und Dokumentation der eigentliche programmative Aufwand eher gering ausfällt, sich aber eben durch den zusätzlich anfallenden deklarativen Aufwand Home-made Plugins für den eigenen Gebrauch von professionellen Plugins für die Weiterverbreitung und -verarbeitung unterscheiden.

Dass bei den beiden Autoren auch Design Patterns ihren Platz im Buch finden, verwundert sicher keinen. Anhand etlicher, interessanter Interna werden die grundlegenden Designansätze von Eclipse in Form von Patterns beleuchtet und so die im Laufe des Buches dargestellten Eclipse-Regeln mit praktischen Beispielen aus dem Eclipse-eigenem Umfeld belegt. Ein Studium dieses Kapitels trägt übrigens immens zum Verständnis der Eclipse-Framework-Idee bei und sei somit jedem Leser wärmstens empfohlen.

Zusammengefasst zeigen die beiden namhaften Autoren – wie nicht anders zu erwarten – in sehr strukturierter und gut lesbarer Form die verschiedenen Aspekte der professionellen Eclipse-Plugin- und Contribution-Programmierung auf. Es werden zu diesem Zweck eine Reihe von Regeln und Design Patterns vorgestellt, welche es ermöglichen sollen, eine zukünftige Erweiterung der selbst geschriebenen Plugins über die Grenzen der originär angedachten Funktionalität hinaus zu gewährleisten. Laut Klappentext sollen selbst langjährige Eclipse Commiter über das eine oder andere Detail innerhalb des Buches positiv überrascht sein – eine Aussage, der ich mich als Reviewer durchaus anschließen kann.

von Lars Röwekamp

Kommentare