Web oder Desktop? Nicht selten fällt die Entscheidung für eine der beiden Zielplattformen voreilig, wenn es um die Umsetzung einer Client-Anwendung geht. Gründe hierfür können einseitiges Entwickler-Know-How oder eine Überbetonung der individuellen Vorteile einer der Plattformen sein.
Da macht es Sinn, sich mit einer potenziellen Synthese aus Web und Desktop zu befassen: der Rich Client Platform von Eclipse (RCP). Sich dafür ein Buch zuzulegen, ist eine gute Idee, da es sich um ein sehr komplexes Metier handelt. Selbst erfahrene Java-Entwickler müssen in einigen Punkten zum Umdenken bereit sein.
Einer der wenigen deutschsprachigen Buchautoren, die sich der Thematik widmen, ist Berthold Daum. Er wählt einen sehr umfassenden Ansatz. Ausgehend von Kernthemen wie Plattformarchitektur, Plug-ins und Produktgestaltung deckt er auch die GUI-Entwicklung mit dem SWT ab. Periphere Themen wie Office-Integration und Reporting kommen ebenfalls nicht zu kurz. Gold wert sind beispielsweise die Ausführungen zur Persistenz mit JPA, die auf Grund des Classloadings in Eclipse Fallstricke bereithält.
Das Buch eignet sich gut für RCP-Einsteiger, die jedoch fundierte Kenntnisse in der Java-Programmierung, in XML und Datenbanken mitbringen sollten. Ganz allgemein beschert die Lektüre jedem Entwickler erhellende Einsichten, der „sein täglich Brot“ mit der Eclipse-IDE verdient. Schließlich ist die Entwicklungsumgebung auch „nur“ eine Rich-Client-Anwendung. Als Nachschlagewerk für Experten empfiehlt sich das Buch aufgrund der Art der Stoffvermittlung hingegen weniger.
Nahezu alle Themenfelder werden zunächst theoretisch erörtert und anschließend auf ein durchgängiges Beispielprojekt angewandt. Die Komplexität dieses Beispielprojekts, ein Projektplaner à la MS Project, ist nicht zu unterschätzen. So stellt sich dem Leser bereits auf den ersten Seiten eine Hürde. Dort erläutert der Autor die Geschäftslogik des Projektplaners, die die Berechnung der logischen und zeitlichen Abhängigkeiten von Projektaufgaben und –ressourcen umfasst. Es ist jedoch nicht nötig, diese Berechnung detailliert nachzuvollziehen, um die RCP-spezifische Implementierung der Beispielanwendung zu verstehen.
Zum Verständnis tragen auch die vielen ausführlichen Code-Listings bei, die die Anwendung des RCP-API deutlich machen. Bisweilen erscheinen die Listings sogar informativer als die zugehörigen Erklärungen. Letztlich ermöglicht die Komplexität der Beispielanwendung dem Leser, nahezu alle Aspekte einer Rich-Client-Anwendung im Gesamtkontext zu sehen. Diese umfassen neben einer komfortablen und performanten Benutzeroberfläche auch automatische Updates sowie den Offline-Betrieb und den Datenabgleich mit einem Server. Als unbedarfter Leser gerät man ob der aufgezeigten Möglichkeiten nicht selten ins Schwärmen!















