Sie sind hier
E-Book

Eclipse 4

Rich Clients mit dem Eclipse 4.2 SDK

AutorMarc Teufel, Jonas Helming
Verlagentwickler.press
Erscheinungsjahr2012
Seitenanzahl258 Seiten
ISBN9783868022506
FormatePUB/PDF
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis21,99 EUR
Mithilfe von Eclipse können Rich-Client-Anwendungen sowohl für Windows und Linux als auch für Mac OS X programmiert werden. Die neue Version setzt natürlich wieder auf die bewährte OSGi-Implementierung Equinox auf, basiert im Vergleich zum Vorgänger (Eclipse RCP 3.x) jedoch erstmals vollständig auf Dependency Injection. (Darüber hinaus verwaltet e4 sein komplettes Applikationsmodell nun in Form des neuen deklarativ definierten Workbench-Modells, auf das man bei Bedarf über Code zur Laufzeit zugreifen kann. Im Umfeld der Benutzeroberflächen setzt e4 nach wie vor auf das bewährte Gespann SWT und JFace, bietet jedoch außerdem die Möglichkeit, mithilfe von CSS das Layout feingranular anzupassen. An professionelle Softwareentwickler gerichtet, geben die Autoren mit diesem Werk einen Überblick über das Eclipse SDK 4.1 mit e4. Das Buch richtet sich an Einsteiger sowie Umsteiger von Eclipse 3.x und zeigt die Möglichkeiten der Rich-Client-Plattform an anschaulichen Beispielen. Es enthält eine Einführung in die Materie und bietet im weiteren Verlauf einen Überblick über alle relevanten Themen, um eine Eclipse-RCP-Anwendung auf Basis von e4 zu programmieren und auszuliefern. Schritt für Schritt führen Marc Teufel und Jonas Helming die Leser an die verschiedenen Themen und neuen Features in e4 heran: - Grundlagen: Entwicklungsumgebung aufsetzen, erste e4-Awendungen in zehn Minuten - Aufbau einer e4-Anwendung im Detail - OSGi/Equinox - Workbench-Modell - Programmiermodell: Dependency Injection, Services, OSGi Declarative Services - Eclipse Application Services - SWT, JFace, XWT, Data Binding - CSS Styling - Deployment, Build, Auslieferung der Anwendung Zielgruppe: Das Buch richtet sich an Einsteiger sowie Umsteiger von Eclipse 3.x.

Marc Teufel ist Entwickler in einem Großhandelsunternehmen, wo er sich mit mehrschichtigen Projekten beschäftigt. Seit Jahren schreibt er regelmäßig für Fachmagazine (z.B. Eclipse Magazin) und ist Mitautor des erfolgreichen Axis-Buchs 'Java Web Services mit Apache Axis2'. Jonas Helming ist Geschäftsführer der EclipseSource in München sowie Consultant und Software Engineer im Bereich Eclipse-Technologie. Er ist aktives Mitglied der Eclipse-Community, leitet unter anderem das Eclipse-Projekt 'EMF Client Platform' und schreibt regelmäßig für das Eclipse Magazin.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

1 Einführung

Wer sich professionell mit Eclipse beschäftigt, dürfte recht schnell bemerken, dass es sich bei Eclipse um weit mehr als nur eine Entwicklungsumgebung für Java handelt. Mit ­Eclipse liegt in erster Linie ein Framework für Anwendungsentwicklung vor, eine vitale Open-Source-Community, die eine Vielzahl nützlicher Technologien bereitstellt. Dieses erste Kapitel gibt eine kurze Einführung in die Vielfalt von Eclipse, der Rich Client Platform (RCP) im Speziellen sowie seiner Weiterentwicklung zu Eclipse 4. Dabei wird insbesondere darauf eingegangen, warum man mit Eclipse 4 eine Art Neuanfang gewagt hat, und aus welchen grundlegenden Komponenten die neue Plattform besteht.

1.1 Was ist Eclipse?

Eclipse hat seit seinem ersten Erscheinen vor mehr als zehn Jahren einen erstaunlichen Reife- und Entwicklungsprozess erlebt. Ursprünglich als der Nachfolger der Software „Visual Age for Java“ von IBM, und zu Beginn auch nur als Entwicklungsumgebung konzipiert und gedacht, kam spätestens ab Version 2.x der große Durchbruch. Eclipse überzeugte die Mehrheit der Java-Entwickler und fand so seinen Platz auf Millionen Rechnern weltweit.

Der wohl mit Abstand bekannteste Teil von Eclipse ist das Integrated Development Environment (IDE) für Java – die Java Development Tools (JDT). Mit aktuell knapp 65 % Marktanteil ist Eclipse der Platzhirsch unter den IDEs. Benutzer schätzen den ausgefeilten Editor, den inkrementellen Compiler, die Auto Completion (CTRL+SPACE), den Quick Assist (CTRL+1) und die umfangreiche Refactoring-Unterstützung. Durch die hohe Verbreitung und die offene Architektur der JDT gibt es außerdem kaum eine relevante Technologie, die nicht in Eclipse eingebunden ist. So stehen für CVS, SVN, Git und viele andere Versionskontrollsysteme Integrationen bereit. Gleiches gilt für die Unterstützung von Frameworks wie Spring, Hibernate oder dem Google Web Toolkit (GWT). Seit Kurzem stellt Google mit dem Window Builder endlich auch einen UI-Editor zur Verfügung, der kaum Wünsche offen lässt. Und sollte doch etwas fehlen oder sollte es einmal nicht Java sein, Eclipse ist nicht nur eine Java-IDE, sondern ein IDE-Framework.

1.1.1 Eclipse ist ein IDE-Framework

Eines der Kernkonzepte von Eclipse ist seine modulare Architektur. Sie erlaubt das Hinzufügen und Entfernen von Features. Diese Features werden als Komponenten – in Eclipse „Plugins“ oder „Bundles“ genannt – bereitgestellt. Entfernt man die Java-Development-Tools-(JDT-)Komponenten, bleibt eine mächtige IDE zurück, die allerdings ziemlich unbrauchbar ist. Das volle Potenzial wird dann ausgeschöpft, wenn eine Unterstützung für andere Sprachen als Komponente hinzugefügt wird. Ein Beispiel sind die C/C++ Developer Tools (CDT), die sich ein Kopf-an-Kopf-Rennen mit Visual Studio um die beliebteste IDE für C liefert. Weitere Unterstützung gibt es für PHP (PDT), Fortran, sowie mit dem Dynamic Languages Toolkit Project (DLTK) für Sprachen wie Ruby, JavaScript oder Python. Die Eclipse Foundation bietet hierfür zahlreiche vorkonfigurierte IDE-Pakete zum Download an. Durch das Plugin-Konzept kann die eigene IDE aber auch den individuellen Wünschen angepasst werden und beispielsweise Java und C gleichzeitig unterstützen.

1.1.2 Eclipse ist eine Toolplattform

Eclipse wurde ursprünglich von IBM entwickelt. Dass der Name „Eclipse“ (Sonnenfinsternis) eine Spitze in Richtung Sun sein sollte, gehört wohl ins Reich der Mythen. Hauptkonkurrent im relevanten Bereich ist eindeutig Microsoft. Was vielleicht weniger bekannt ist: Das Ziel von Eclipse war nicht primär, eine neue Java-IDE zu schaffen. Vielmehr sollte mit Eclipse ein zum Ende des letzten Jahrtausends immer mehr auftretendes Problem gelöst werden: In den neunziger Jahren, mit dem Aufkommen von Technologien wie Java und dem Internet, wurde eine Reihe mächtiger Tools entwickelt. Allein IBM hatte mit Tools wie VisualAge for Java, dem WebSphere Studio oder WebFacing eine stetig wachsende Produktpalette - aus heutiger Eclipse-Sicht kaum mehr vorstellbar: Viele dieser Tools waren weitestgehend eigenständig entwickelt. Aus dem Blickwinkel des Benutzers gab es daher kein einheitliches Bedienkonzept und keine Möglichkeit, die Artefakte eines gesamten Projekts uniform und integriert zu verwalten.

Eclipse sollte verschiedene Tools zu einem konsistenten Ganzen integrieren, egal ob es sich um Code, Property-Dateien oder XML handelt. Aus Sicht des Toolherstellers war das Problem vielleicht noch drastischer. Ohne eine gemeinsame Basis der Tools mussten Features und Bug Fixes in mehreren Produkten und für mehrere Plattformen parallel gepflegt werden. Ein Beispiel für ein Feature, das fast die gesamte Produktpalette betrifft, ist die Integration eines neuen Versionsverwaltungssystems, wie das im Jahr 2000 erschienene Subversion. Und schließlich kosten die parallele Installation und Ausführung verschiedener Produkte auch Speicher. Für komplexe Entwicklungswerkzeuge damals, aber auch heute noch, ein wichtiger Faktor. So begann IBM im November 1998 mit der Entwicklung der Eclipse Platform.

Dass JDT von Anfang an eines der wichtigsten Teile von Eclipse war und heute noch ist, überrascht nicht. Zum einen war Java zur Geburtsstunde von Eclipse die wohl am stärksten wachsende Programmiersprache. Mit dem WebSphere Studio Application Developer, der Visual Age for Java ablöste, brachte IBM sein erstes kommerzielles Tool auf Basis von Eclipse auf den Markt. Zum anderen bietet JDT Support für die Entwicklung von Eclipse selbst, das eben auch in Java entwickelt wird. Heute, zehn Jahre später, existieren auf Basis von Eclipse Hunderte, wenn nicht Tausende von Tools verschiedenster Hersteller. Neben typischen Entwicklertools, wie den Data Tools für die Datenbankadministration oder den Web Tools für Webentwickler, gibt es auch zahlreiche Angebote außerhalb der reinen Softwareentwicklung. Mit den Business Intelligence and Reporting Tools (BIRT) erstellen Businessanalysten textuelle und grafische Auswertungen. Ein besonders stark wachsender Teil von Eclipse findet sich im Bereich Modellierung, bedingt durch den stabilen und pragmatischen Standard des Eclipse Modeling Frameworks (EMF). Der Eclipse Marketplace bringt seit Eclipse Helios Ordnung in diese Vielfalt und erlaubt es, über so genannte „Marketplaces“, ähnlich wie Apples AppStore, nach Lösungen zu suchen und diese komfortabel mit einem Klick in die eigene Eclipse-Installation zu integrieren. Der Yoxos Marketplace erlaubt das Testen ausgewählter Lösungen sogar direkt aus dem Browser.

Ein Grund für diesen enormen Erfolg dürfte neben der hervorragenden Java-IDE sicherlich auch die Tatsache gewesen sein, dass man die Plattform durch Plug-ins nahezu beliebig erweitern kann. Selbstverständlich stellen auch andere Entwicklungsumgebungen (etwa Visual Studio von Microsoft) ähnliche Möglichkeiten zur Verfügung. Die technische Umsetzung des Plug-in-Mechanismus rund um Extensions und Extension Points in ­Eclipse überzeugte allerdings so viele Entwickler, dass zahlreiche von ihnen recht schnell auf die Idee kamen, diese Technik auch als Grundlage für die eigene Anwendungsentwicklung einsetzen zu wollen.

1.1.3 Eclipse ist eine Anwendungsplattform

Die Eclipse-Community reagierte auf diesen Trend und stellte schließlich ab Version 3.0 mit einem radikalen Umbau ihrer Software und der Einführung von OSGi-Technologie die Weichen für die Rich Client Platform (RCP). Zu diesem Zeitpunkt wurde aus Eclipse, der IDE, also eine Plattform für die Entwicklung von Rich-Client-Anwendungen. Die bis heute immer weiter verbesserte Java-Entwicklungsumgebung, die bereits weiter oben erwähnten Java Development Tools (JDT) wurden in diesem Zuge konsequent in einen Satz Plugins ausgelagert. Damit ist die Java-IDE ebenfalls „nur“ eine Rich-Client-Anwendung, die auf Basis der RCP läuft. Seit Erscheinen der Rich Client Platform konnte sich die Technologie schnell etablieren und wird heute in unzähligen Projekten weltweit erfolgreich eingesetzt1.

Ein sehr frühes, aber immer noch prominentes Beispiel einer Adaption von Eclipse RCP findet sich bei der NASA. Im Jet Propulsion Lab (JPL) wird RCP bereits seit 2005 eingesetzt, beispielsweise für Maesto, ein Tool, mit dem Mars Rover gesteuert werden können.

Schnell kamen weitere Frameworks hinzu, die das Entwickeln mit RCP zusätzlich unterstützen. Riena beispielsweise ist ein Framework für Client-Server-basierte Geschäftsanwendungen. Riena Widgets, so genannte „Ridgets“, erweitern SWT um typische Businessanforderungen wie beispielsweise die Livevalidierung der Eingabe. Zusätzlich unterstützt Riena den Workflow eines UI sowie die Client/Server-Kommunikation. An dieser Stelle verlassen wir über eine fließende Grenze den Bereich Rich Client. In Wirklichkeit ist Eclipse technologisch gesehen so flexibel, dass es für ziemlich jeden Zweck eingesetzt werden kann. Daher haben auch viele, die gar nichts mit Softwareentwicklung zu tun haben, bereits die Eclipse-Technologie verwendet, ohne es zu wissen. So steckt Eclipse beispielsweise in den automatischen Kartenlesern von SkiData, die in vielen Skigebieten, aber auch bei Konzerten und Sportveranstaltungen, eingesetzt werden. Welcher Teil von Eclipse ist das aber, denn ein solcher Automat sieht nicht gerade nach SWT aus? Den Kern von Eclipse bildet eine Komponente namens Equinox, die Basis für alle Plug-ins. Equinox erlaubt den verschiedenen Komponenten von Eclipse, zusammenzuarbeiten. Es verwaltet Abhängigkeiten zwischen Plug-ins, und je nach Bedarf lädt, startet und beendet es dynamisch verwendete Funktionalität und erlaubt sogar, zur Laufzeit benötigte Komponenten nachzuinstallieren. Neben Komponenten verwaltet...

Blick ins Buch

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

Rechnernetze

E-Book Rechnernetze

Rechnernetze sind ein zentrales Thema in der Informatik-Ausbildung und gewinnen immer mehr an Bedeutung. Dieses Lehrbuch, das aus Vorlesungen an der TU München entstanden ist, bietet einen ...

Einstieg in Kotlin

E-Book Einstieg in Kotlin

Android-Apps mit Kotlin - so geht's! Schritt für Schritt eigene Apps entwickeln Inkl. Sensoren, Multimedia u.v.m. Ideal für Einsteiger und Umsteiger Mit diesem Buch steigen Sie auf einfache und ...

XML Schema

E-Book XML Schema

"XML Schema ist der W3C-Nachfolger zur Document Type Definition (DTD). Er stellt die Definition von datenorientierten Dokumenten in den Vordergrund und bietet umfangreiche Möglichkeiten, feine ...

Weitere Zeitschriften

Arzneimittel Zeitung

Arzneimittel Zeitung

Die Arneimittel Zeitung ist die Zeitung für Entscheider und Mitarbeiter in der Pharmabranche. Sie informiert branchenspezifisch über Gesundheits- und Arzneimittelpolitik, über Unternehmen und ...

Burgen und Schlösser

Burgen und Schlösser

aktuelle Berichte zum Thema Burgen, Schlösser, Wehrbauten, Forschungsergebnisse zur Bau- und Kunstgeschichte, Denkmalpflege und Denkmalschutz Seit ihrer Gründung 1899 gibt die Deutsche ...

Correo

Correo

 La Revista de Bayer CropScience para la Agricultura ModernaPflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und am Thema Interessierten mit umfassender ...

Courier

Courier

The Bayer CropScience Magazine for Modern AgriculturePflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und generell am Thema Interessierten, mit umfassender ...

DSD Der Sicherheitsdienst

DSD Der Sicherheitsdienst

Der "DSD – Der Sicherheitsdienst" ist das Magazin der Sicherheitswirtschaft. Es erscheint viermal jährlich und mit einer Auflage von 11.000 Exemplaren.Der DSD informiert über aktuelle Themen des ...

DULV info

DULV info

UL-Technik, UL-Flugbetrieb, Luftrecht, Reiseberichte, Verbandsinte. Der Deutsche Ultraleichtflugverband e. V. - oder kurz DULV - wurde 1982 von ein paar Enthusiasten gegründet. Wegen der hohen ...

ERNEUERBARE ENERGIEN

ERNEUERBARE ENERGIEN

ERNEUERBARE ENERGIEN informiert durch unabhängigen Journalismus umfassend über die wichtigsten Geschehnisse im Markt der regenerativen Energien. Mit Leidenschaft sind wir stets auf der Suche nach ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm FileMaker Pro arbeiten. In jeder Ausgabe finden Sie praxiserprobte Tipps & Tricks, die Ihnen sofort die ...