Entdecken Sie Millionen von E-Books, Hörbüchern und vieles mehr mit einer kostenlosen Testversion

Nur $11.99/Monat nach der Testphase. Jederzeit kündbar.

Eclipse 4: Rich Clients mit dem Eclipse 4.2 SDK
Eclipse 4: Rich Clients mit dem Eclipse 4.2 SDK
Eclipse 4: Rich Clients mit dem Eclipse 4.2 SDK
eBook403 Seiten3 Stunden

Eclipse 4: Rich Clients mit dem Eclipse 4.2 SDK

Bewertung: 0 von 5 Sternen

()

Vorschau lesen

Über dieses E-Book

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.
SpracheDeutsch
Herausgeberentwickler.press
Erscheinungsdatum31. Okt. 2012
ISBN9783868026139
Eclipse 4: Rich Clients mit dem Eclipse 4.2 SDK

Ähnlich wie Eclipse 4

Ähnliche E-Books

Programmieren für Sie

Mehr anzeigen

Ähnliche Artikel

Rezensionen für Eclipse 4

Bewertung: 0 von 5 Sternen
0 Bewertungen

0 Bewertungen0 Rezensionen

Wie hat es Ihnen gefallen?

Zum Bewerten, tippen

Die Rezension muss mindestens 10 Wörter umfassen

    Buchvorschau

    Eclipse 4 - Marc Teufel

    BestSolution.at

    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 Equinox auch komplexe Interaktionen zwischen Services. Kurz, Equinox ist ein umfangreiches und mächtiges Framework, ohne das Eclipse nicht funktionieren würde. „Umfangreich impliziert dabei aber auf keinen Fall, dass es als Software viel Platz in Anspruch nimmt, so kann Equinox problemlos auch auf embbeded Devices verwendet werden. Equinox selbst ist eine Implementierung der OSGi-R4-Spezifikation, genauer gesagt sogar die Referenzimplementierung von OSGi R4.2. Über die Bedeutung des Akronyms OSGi wird gerne diskutiert. Ursprünglich stand OSGi für „Open Services Gateway initiative", mittlerweile ist es eher ein Eigenname. OSGi wurde ursprünglich entworfen, um Features auf Geräten dynamisch zu laden und auch wieder entfernen zu können, beispielsweise einen bestimmten Verschlüsselungsalgorithmus auf einer Set Top Box. Die Kernidee ist, dass Funktionalität temporär ist. Sie kann entfernt und durch andere Funktionalität ersetzt werden. Equinox und OSGi bieten das oft benötigte Komponentenmodell für Java, JAR-Archive selbst sind keine Komponenten, sondern reine Ansammlungen von ausführbarem Java-Code. Das Komponentenmodell steht außerdem konsistent unabhängig von der Java-Version zur Verfügung, es kann auf Java SE, EE und ME verwendet werden. Das gleiche Komponentenmodell kann folglich auf dem Desktop, im Web und auf mobilen oder eingebetteten Systemen zum Einsatz kommen.

    Equinox wurde das erste Mal mit Eclipse 3.0 (2004) veröffentlicht, davor setzte Eclipse noch auf ein eigenes Komponentenmodell. Die Geschichte der Entstehung von RCP wiederholt sich um die Zeit des Eclipse-Release 3.1 (2005), als Entwickler begannen, ganz andere Anwendungen als Eclipse selbst auf Equinox laufen zu lassen, insbesondere im Umfeld der Serverapplikationen. Aber das ist nur der Anfang von Eclipse als Runtime-Technologie. Das Eclipse Communication Framework (ECF)2 ist ein weiteres Framework für verteilte Server und Anwendungen. Es bietet APIs und Frameworksupport, um basierend auf existierenden Protokollen Kommunikation und Messaging in die eigene Anwendung einzubauen. EclipseLink3, der Eclipse-Persistenzservice (entstanden aus Oracle TopLink) ist die einzige OSGi-fähige Implementierung von JPA. Die Eclipse Rich Client Platform hat sogar einen kleinen Bruder im Embedded-Bereich, embedded RCP4, sowie für das Web die Rich Ajax Platform (RAP)5. Mit RAP können Anwendungen entwickelt werden, die mit nur sehr geringen Anpassungen parallel im Web und auf dem Desktop laufen, so genanntes „Single Sourcing". Zum Ausführen von Webanwendungen hat übrigens der weithin bekannte Jetty-Server als einzige ernstzunehmende Konkurrenz für Tomcat im Bereich Servlet Engines bei Eclipse ein neues Zuhause gefunden.

    1.1.4 Eclipse ist eine Open-Source-Community

    Eines der wesentlichen Alleinstellungsmerkmale von Eclipse im Vergleich zu Plattformen wie Visual Studio war von Beginn an die konsequente Umsetzung einer Open-Source-Strategie. Um die starke Verknüpfung von Eclipse mit Open Source, die Eclipse Public License (EPL)6 und die Aufgaben der Eclipse Foundation zu verstehen, sollte man den Blick nochmals auf den Beginn von Eclipse richten. Das Ziel von IBM war es Ende der neunziger Jahre, eine gemeinsame Toolplattform zu entwickeln, auf der aktuelle und zukünftige Produkte basieren sollten. Als Erfolgsgaranten der Plattform identifizierte IBM von Anfang an die Erweiterbarkeit. Es sollte zum einen für den Benutzer möglich sein, neue Funktionalität hinzuzufügen, und zum anderen sollten Erweiterungen auch von Drittanbietern ausgeliefert werden können. Die geforderte Erweiterbarkeit schlägt sich technisch in der Modularität von Eclipse und zahlreichen Konzepten wie beispielsweise den Extension Points in Eclipse nieder. Doch die technische Möglichkeit allein hätte nicht den heutigen Erfolg der Eclipse-Plattform ermöglicht. Zu Beginn wollten insbesondere Drittanbieter nicht in die neue und unbewährte Plattform investieren. Bliebe die Plattform unter der alleinigen Kontrolle von IBM, gingen Drittanbieter von Erweiterungen eine starke Abhängigkeit zu IBM und damit ein Risiko ein. Das Risiko wäre bei Eclipse umso höher gewesen, denn die Plattform wurde ja quasi neu aus dem Boden gestampft. IBM sah die Lösung des Problems in der Offenlegung des Quellcodes. Im November 2001 gründete IBM zusammen mit acht weiteren Firmen das Eclipse-Konsortium und schuf das Portal eclipse.org. Unter den Gründungsmitgliedern befanden sich neben Rational Software und TogetherSoft auch Konkurrenten wie WebGain und Borland.

    Das Konsortium verfolgte neue Prinzipien, nach denen noch heute das Eclipse-Ökosystem funktioniert. Die Plattform ist Open Source und wird von der Community kontrolliert. Die Mitglieder des Konsortiums kümmern sich um das Marketing und können auf Basis der freien Plattform kommerzielle Produkte anbieten. Die Grundidee dahinter ist, dass die Plattform Funktionen bietet, die verschiedene Hersteller in ihren Produkten benötigen, die ihnen aber für sich keinen Wettbewerbsvorteil bieten. Der meist kleinere Teil der Produkte, der das tatsächliche Geschäftsmodell einer Firma ausmacht, basiert auf der Plattform und wird unter einer kommerziellen Lizenz vertrieben. Die Liste der Firmen, die zu Eclipse beigetragen haben, war damals sehr kurz. IBM steuerte mit Abstand den größten Teil bei.

    1.1.5 Die Eclipse Public License und die Eclipse Foundation

    In den ersten zwei Jahren kamen die ersten offenen Releases von Eclipse heraus. Insbesondere die Eclipse-IDE wurde von der Entwicklergemeinde positiv aufgenommen.

    Allerdings war das Feedback der Industrie auf den Aufbau des Ökosystems gemischt, da Eclipse im Wesentlichen von IBM kontrolliert war. Diese Tatsache hielt große Hersteller zurück, verstärkt in Eclipse zu investieren. Eclipse musste also unabhängiger werden. Dies war die Geburtsstunde der Eclipse Foundation, einer Non-Profit-Organisation. Das Kernziel der Eclipse Foundation ist der Aufbau einer herstellerneutralen, offenen und transparenten Community rund um Eclipse. Die Foundation definiert dazu die Aufgabe ihrer durch die Mitglieder finanzierten Mitarbeiter in vier Kerndienste:

    IT-Infrastruktur

    Entwicklung des Ökosystems

    Entwicklungsprozess

    Intelectual Properties (IP) Management

    Durch eine unabhängige Infrastruktur, beispielsweise Webseiten, SCMs und Build-Server, wird im Wesentlichen Offenheit und Transparenz erreicht. Kein einzelner Hersteller kann beispielsweise einfach Code aus dem offenen Teil von Eclipse entfernen. Auch die hier anfallenden Kosten werden über Mitgliedsbeiträge finanziert. Die Eclipse Foundation sorgt dafür, neue Mitglieder zu werben, Eclipse als Technologie bekannt zu machen und damit das Ökosystem zu entwickeln. Die Eclipse-Community trifft sich mindestens zweimal im Jahr auf der EclipseCon und der EclipseCon Europe7. Zusätzlich organisieren Mitglieder der Community mit Unterstützung der Eclipse Foundation lokale Democamps, bei denen die neuesten Technologien vorgestellt werden. Auch in vielen anderen Veranstaltungen, wie beispielsweise der JAX8, hat Eclipse durch entsprechende Tracks mittlerweile einen festen Platz.

    Der Entwicklungsprozess legt die Regeln der Zusammenarbeit und die Interessensgruppen fest. So wird beispielsweise zwischen Committern und Contributern unterschieden. Committer dürfen den Code eines Projekts direkt verändern, Änderungen von Contributern müssen von Committern begutachtet werden. Unter Adoptern versteht man bei Eclipse Firmen oder Individuen, die auf Eclipse-Technologie aufbauen, während User tatsächliche Benutzer eines der Endprodukte bezeichnen. Aktuell verzeichnet die Eclipse Foundation circa 1000 Committer und etwa zehnmal so viele Contributer. Die Anzahl der Adopter und User ist durch die offene Verteilung der Eclipse-Komponenten schwer abzuschätzen, man kann aber zumindest bei den Usern von einer hohen siebenstelligen Zahl ausgehen.

    Ein weiteres Kernelement bei Eclipse ist der Releasetrain, in dem es einmal pro Jahr ein gemeinsames Release vieler Kernkomponenten von Eclipse gibt. Nur durch diesen weiter oben beschriebenen „Eclipse Way" ist die heutige Qualität und Kompatibilität der einzelnen Eclipse-Projekte bei gleichzeitig hohem Innovationstempo möglich.

    Eine weitere Kernaufgabe der Eclipse Foundation ist das Intelectual Properties (IP) Management. Hierzu wurde 2004 die maßgeschneiderte Eclipse Public License (EPL) eingeführt, unter der heute alle Eclipse-Komponenten stehen. Die EPL erlaubt im Gegensatz zu anderen Open-Source-Lizenzen explizit die kommerzielle Verwendung der Komponenten. Das bedeutet, ein Hersteller darf eine Eclipse-Komponente in ein Produkt einbauen und es kommerziell vertreiben. Als zweiten großen Teil des IP-Managements stellt die Eclipse Foundation über Review-Prozesse sicher, dass Eclipse -Projekte zur EPL kompatiblen Code erzeugen und nicht beispielsweise Drittkomponenten einsetzen, die eine kommerzielle Nutzung verbieten würden. Das bietet für Hersteller von Produkten auf Basis von Eclipse einen in der Open-Source-Welt seltenen rechtlichen Schutz. Gerade diese Sicherheit ermöglicht Investitionen ins Ökosystem, viele Hersteller stellen beispielsweise bezahlte Committer für bestimmte Projekte. Andere Firmen bieten umgekehrt Support, Training und Wartung für Eclipse-Projekte an. Das Modell des Eclipse-Ökosystems dient mittlerweile häufig als Vorbild, wie sich Offenheit und Transparenz mit kommerziellen Interessen vereinen lassen.

    Bei all dieser Vielfalt konzentriert sich dieses Buch jedoch auf die Eclipse 4 Application Platform als Grundlage für die eigene Anwendungsentwicklung.

    1.2 Weichenstellung für die Zukunft

    Die Zeit bleibt auch bei Eclipse nicht stehen. Bisher war man sehr erfolgreich auf dem Desktop, mit RAP konnten Desktopanwendungen sogar ins Web gebracht werden, doch der Trend hin zu rein webbasierten Anwendungen ist ungebrochen. Neben Veränderungen in den Gewohnheiten der Entwickler, die neue Benutzerkonzepte erfordern, wird es immer wichtiger, dass Eclipse Entwicklerteams unterstützt, die weltweit verteilt in einem Projekt zusammenarbeiten. Auch auf technischer Seite hat man reichlich Erfahrung gesammelt, beispielweise dass Singletons, die in Eclipse großzügig verwendet wurden, die Testbarkeit und Wiederverwendungsmöglichkeiten von Komponenten erheblich einschränken. Auf der anderen Seite haben sich neue Technologien wie etwa Dependency Injection durchgesetzt, die auf der Eclipse-Plattform bisher nur durch Hinzunahme zusätzlicher Bibliotheken einsetzbar waren. Es war also höchste Zeit, die Plattform zu überdenken und neue, zukunftssichere Ideen und Konzepte zu entwickeln, mit denen die Eclipse-Plattform auch in Zukunft erfolgreich bestehen kann. Das war die Geburtsstunde des e4-Projekts. Im Rahmen dieses Projekts arbeiten die Entwickler an neuen Ideen, die in die nächsten Generationen von Eclipse einfließen sollen. Einige dieser Entwicklungen sind so tiefgreifend und radikal, dass sie mit den Konzepten der bestehenden Eclipse-Plattform brechen. Das ist auch der Grund, warum es in der nächsten Zeit zwei Versionen der Plattform geben wird: Im Rahmen des 3.x-Zweigs wird die bestehende Plattform weiterentwickelt und mit neuen Features ausgestattet. In der 4.x-Linie schließlich wird die nächste Generation von Eclipse entwickelt. Notwendig ist dieses zweigleisige Veröffentlichen insbesondere, weil es sehr viele Anwendungen gibt, die auf Basis der Rich Client Platform entwickelt wurden und nicht von heute auf morgen in den 4.x-Zweig überführt werden können. Unter 4.x wird zwar eine Kompatibilitätsschicht angeboten, doch auch diese stellt einige Anforderungen, sodass ein einfaches Umstellen einer komplexeren Anwendung von 3.x auf 4.x oft nicht ohne Änderungen möglich ist.

    1.2.1 Von e4 zu Eclipse 4.2

    Das e4-Projekt kann somit als die Grundlage angesehen werden, ein Rahmenwerk, das derzeit von der Eclipse-Community entwickelt wird, auf dem die nächste Generation der Eclipse Platform aufbauen wird. Ziel ist es, ein auf OSGi (Eclipse Equinox) aufbauendes, vollständig komponentenbasiertes Framework für Entwickler zu schaffen, das im Gegensatz zur 3.x-Linie ein sehr viel einfacheres Programmiermodell anbietet. Das Entwickeln von Plug-ins oder ganzen Anwendungen auf Basis dieser neuen Rich Client Platform, oft auch als „Eclipse 4 Application Platform" bezeichnet, soll rapide vereinfacht und modernisiert werden. Dabei ist zu erwähnen, dass sich einzelne Technologien, die im Rahmen von e4 entstehen, auch im 3.x-Zweig verwenden lassen. So ist es beispielweise möglich, das unter e4 entwickelte CSS-Styling auch in RCP-Anwendungen einzubauen, die noch auf Basis der Rich Client Platform 3.x laufen. Der Unterschied zwischen e4 und Eclipse 4.2 ist, dass e4 aktuell der Ort ist, wo neue Technologien entwickelt werden (Brutkasten, Incubator). Eclipse 4.2 ist hingegen, auf Basis von e4, die nächste große Major-Version von Eclipse, die auch viele Teile aus Eclipse 3.x enthält. Anwendungen können nun auf Basis des Software Development Kit (Eclipse 4.2 SDK) auf der Eclipse-4.2-Plattform entwickelt werden.

    Tabelle 1.1: Übersicht über die verschiedenen Bezeichnungen im Umfeld von e4

    1.2.2 Einfacher und moderner programmieren

    „Think of e4 as RCP 2.0, simplified", diese Antwort gab Chris Aniszcyk, seines Zeichens Projekt Lead des Plugin Development Environment Toolings (PDE) in der Eclipse-IDE, auf die Frage, was e4 denn überhaupt sei.

    Im Umkehrschluss bedeutet das aber auch, dass in der Vergangenheit jeder Entwickler, der in die klassische RCP-Entwicklung einsteigen wollte, eine steile Lernkurve zu absolvieren hatte. Es galt ein sehr umfangreiches, facettenreiches und komplexes Stück Softwareframework zu verstehen und in seiner ganzen Tiefe, mit all seinen unterschiedlichen APIs, zu erlernen. Dieser Einstieg soll nun einfacher werden. Als weiteres Problem bei der klassischen Rich Client Platform identifizierte man außerdem, dass man mit dem Framework zwar benutzerfreundliche und zweckmäßige Anwendungen programmieren konnte, diese aber sehr stark vom Framework abhängig waren. Eine View beispielsweise

    Gefällt Ihnen die Vorschau?
    Seite 1 von 1