Aus Linux-Magazin 09/2015

Auf welchen Gebieten Eclipse besonders viel Effizienz verspricht

© Sergey Drozdov, 123RF

Wer beim Entwickeln fit ist und mit seinen Projekten hoch hinaus will, tut gut dran, sein Equipment zu checken. Eclipse ist nicht zufällig der Generalausrüster vieler ambitionierter Open-Source-Missionen. In manchen Welten jedoch schrammt die IDE nur knapp am Prädikat “Schrott” vorbei.

Ohne die Bedeutungder Fixsterne Emacs und VI mindern zu wollen, deren Kernbrennstoff wohl noch mehrere Milliarden Jahre reicht, lässt sich leicht feststellen, dass Eclipse die Art, wie Software entwickelt wird, zum Positiven verändert hat. Für das Java-Ökosystem, doch nicht nur dort, hat Eclipse immer wieder wichtige Impulse und Unterstützung gegeben und tut dies weiter [1].

Die Eclipse-Stiftung stellt eine gute finanzielle Basis, stabile Prozesse und Regeln bereit, mit deren Hilfe die große Entwickler-Community an verschiedenen Projekten und Produkten arbeitet. Diese sind offen und attraktiv für neue Teilnehmer und Projekte. Neue innovative Projekte, etwa Oomph, Open HAB oder Vert.x, finden stets ein trockenes Plätzchen unter dem Eclipse-Dach.

Der Eclipse-Marktplatz als Drehscheibe für Erweiterungen besitzt eine schnelle Suchfunktion und macht es einfach, die zur eigenen Eclipse-Version passenden Plugins herunterzuladen. Wer mehrere Eclipse-Installationen parallel betreibt, kann seine Plugins auch als archivierte Update-Sites [2] separat herunterladen und gesondert von den jeweiligen Eclipse-Versionen entpacken. Die Update-Sites lassen sich separat integrieren, sodass die Eclipse-Installationen sauber von Zusatz-Plugins getrennt bleiben. Das wirkt sich positiv auf die Startzeit aus und hilft Fehler, die durch miteinander unverträgliche Plugins entstehen, leichter zu isolieren und zu beheben.

Da heute die IDE bereits für die unterschiedlichen Anforderungen Varianten für Java EE, PHP, C++ oder Berichtsentwickler schnürt (siehe Eclipse-Mars-Artikel), haben Anwender die meisten Funktionen sofort im Zugriff, ohne dass sie den Eclipse Marketplace aufsuchen müssten. Ihre Umgebungen aktualisieren sich über die serienmäßige Updatefunktion übers Internet selbstständig. Ähnlich wie bei der Plugin-Installation müssen sie nach einem Update die IDE neu starten, damit die Änderungen wirksam werden.

Kaffeekränzchen

Trotz aller Vielfalt kann Eclipse seine Herkunft als Java-IDE nicht ganz vergessen machen (siehe Kasten “Kosmisches Streben”), denn das Entwickeln von Java-EE-7-Anwendungen geht besonders leicht von der Hand. Experimentierfreudige haben per Plugin sogar die Gelegenheit, mit der für nächstes Jahr geplanten Java-SE-Version 9 zu arbeiten. Bei den beiden großen Anbietern Pivotal Spring [3] und Red Hat Jboss [4] ist das Engagement am spürbarsten. Jboss hat sich besonders hervorgetan, die früher mangelhafte Unterstützung fürs Schreiben von mobilen und modernen Webanwendungen zu verbessern.

Google dagegen scheint in erster Linie Eigeninteressen zu verfolgen: Anfänglich war lange Zeit Eclipse als Tool für Android-Apps gesetzt, da Google hierfür die ADT (Android Developer Tools) als Eclipse-Plugin kostenlos anbot. Dann aber schwenkte die Android-Firma zum direkten Eclipse-Konkurrenten Intelli J Idea um und bietet seither Android Studio nur noch für diesen an.

Kosmisches Streben

Um einen Nachfolger für seine Entwicklungsumgebung Visual Age for Java zu entwickeln, begann unter IBMs Federführung vor 14 Jahren die Entwicklung an Eclipse unter einer eigenen freien Lizenz, der Eclipse Public License (EPL), einer leicht abgeänderte Version der Common Public License (CPL). Vor allem die drei Jahre später gegründete Eclipse-Stiftung schuf einen Rahmen, Infrastruktur und Prozesse, sodass sich Eclipse als wachsende Community erwies, mit einem eigenen Ökosystem aus Konferenzen und Firmen, die eigene Erweiterungen entwickeln, sowie Dienstleistern, die Support, Training oder Beratung anbieten.

Mit Eclipse 3.0 entstand das Plugin-Konzept, welches das eigene OSGi-Framework Equinox verwendet. Größere Umbauten, die leider auch zu Performance-Einbußen und Instabilitäten führten, betrafen die Juno-Release. (Der interne Projektname für eine Eclipse-Release hat seit 3.2 (Callisto) immer etwas mit Jupitermonden, Raumsonden, Astronomen oder Planeten zu tun.) Juno führte eine Kompatibilitätsschicht ein, um auch in der neuen Version 4.2 alte und neue Plugins parallel verwenden zu können. Mit der nächsten Release 4.3 (Kepler) stellten die Eclipse-Projekte vom CVS-Versionssystem auf das modernere Git um.

Alles im Rahmen

Um Eclipse eine plattformübergreifende moderne Oberfläche zu verpassen, schuf IBM mit dem Standard Widget Toolkit (SWT) ein eigenes natives Oberflächen-Framework. Nachdem sich das GUI-Standardframework Swing nie auf dem Desktop durchgesetzt hat, erlangte SWT eine größere Verbreitung – auch ohne die IDE – mit dem Rich Client Platform (RCP) Project, zumindest bei einigen Java-Anwendungen. Mit der Remote Application Platform (RAP) ist es sogar möglich, SWT-Oberflächen in einem Browser laufen zu lassen, ohne sich mit eigener Javascript-Programmierung oder Ajax-Kommunikation beschäftigen zu müssen.

Mit dem Visual Editor und später dem Window Builder [7] gab es zwei Versuche, Wysiwig-Editoren für grafische Anwendungsoberflächen mit AWT/Swing, SWT/Jface und GWT bereitzustellen (Abbildung 1). Der Window Builder zumindest steht auch für die aktuelle Mars-Version bereit. Wer lieber die von Java inzwischen favorisierte Java-FX-Oberflächen-Technologie verwenden möchte, wird bei dem externen Projekt E(fx)clipse [8] fündig.

Abbildung 1: Der Window Builder hilft beim Entwerfen grafische Oberflächen – auch in Eclipse Mars.

Abbildung 1: Der Window Builder hilft beim Entwerfen grafische Oberflächen – auch in Eclipse Mars.

Viele Trabanten

Inzwischen enthält Eclipse mit Vert.x eine Programmiersprache sowie Webserver (Jetty, Virgo), MQTT-Server (Mosquitto, Moquette), Frameworks (Eclipse Link) und OSGi-Ablaufumgebungen ([5], Equinox, Gemini Blueprint). Besonders hervorzuheben sind die Entwicklungsplattform Orion, die komplett im Web läuft, und das Plugin Development Environment (PDE), das als Teil der IDE hilft Plugin-Erweiterungen zu schreiben. PDE ist einer der Gründe, warum Eclipse bei OSGi-Projekten, namentlich für Embedded-Systeme, oft gesetzt ist.

Apropos Embedded: Für den Industriebereich (Automobil- und Flugzeugbau) gibt es eigene Eclipse-IDE-Pakete zum Herunterladen. Fürs Programmieren am Internet der Dinge (IoT) haben sich einige Projekte [6] gebildet, etwa das auf dem Open-HAB-Framework (Open Home Automation Bus) fußende Smarthome-Projekt für die Heimautomation, der MQTT-Messaging-Server Mosquitto samt Client Paho sowie Californium (Cf) als Implementierung des Constrained Application Protocol (CoAP) oder Kura als OSGi-basierter Service-Gateway.

Bei so viel Licht und dem Namen “Finsternis” fragt sich der Chronist, wo wohl die dunkle Seite lauert, aber es gibt sie: Bei der Arbeit mit modernen Webframeworks und Webstandards wie HTML 5, CSS 3, Less/Sass bleiben Eclipse-Anwender weit hinter dem zurück, was sie benötigen und Werkzeuge der Konkurrenz ganz selbstverständlich anbieten.

Fazit

Wer Webentwicklung auf hohem Niveau als Tagesgeschäft praktiziert, dem kann Eclipse aktuell nicht wirklich weiterhelfen. Allen anderen dagegen schon – und das in wirklich hohem Maße. Auf den besten Plätzen sitzen die Java-Programmierer – aus traditionellen Gründen, aber auch weil große Anbieter sich ins Zeug legen. Doch auch allen anderen Entwicklern verhilft das GUI zu mehr Produktivität und Befriedigung bei der Arbeit. Selbstverständlich geht das Tool bei der Unterstützung von Zukunftsthemen wie IoT oder Home-Automation mit gutem Beispiel voran.

Um Eclipses Zukunft muss sich niemand Sorgen machen, selbst wenn sich IBM als Initiator aus dem Projekt weiter zurückzieht. Denn die Foundation steht auf stabilen Füßen und verteilt die Arbeit auf genügend viele Schultern.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 2 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben