Eclipse, IntelliJ IDEA, NetBeans

Die besten Java-IDEs

28.07.2011
Eclipse, IntelliJ IDEA, NetBeans und Oracle JDeveloper sind leistungsfähige Entwicklungsumgebungen für Java. Wir stellen ihre Stärken und Schwächen vor.

Gute Programmierer kennen ihre Entwicklungsumgebung wie ihre Westentasche. Ganz gleich, ob es sich um riesige IDEs handelt, wie sie in diesem Artikel vorgestellt werden, oder um Editoren wie emacs und vi/vim. Da fällt es einem Programmierer nicht gerade leicht, mal eben die gewohnte Entwicklungsumgebung durch eine andere zu ersetzen.

Die Gründe für einen Wechsel der IDE sind unterschiedlich. Mal wird der Wechsel durch einen Abteilungsleiter diktiert oder er resultiert aus einem Systemwechsel. Jedoch gibt es auch viele Programmierer, die einfach aufgrund geänderter Präferenzen den Arbeitsstil mit einer anderen IDE schätzen lernen. Die folgenden Testseiten können helfen einen Überblick über die wichtigsten Java-IDEs zu erhalten und sie schnell zu vergleichen. Wir stellen Ihnen Eclipse, JetBrains IntelliJ IDEA, NetBeans und Oracle JDeveloper genauer vor. Wir werden am Ende des Artikels auch kurz auf Alternativen eingehen.

Die IDEs in dieser Zusammenstellung sind ein Beispiel für die von anderen Programmiersprachen unerreichte Vielfalt und Reife der Java-Werkzeuge. Alle bieten exzellente Coding- und Entwicklungs-Hilfen. Außerdem wird der Programmierer zusätzlich von mächtigen Syntax-Überprüfungs- und Debugging-Tools unterstützt. Die IDEs sind im Allgemeinen zudem sehr schnell und können auch mit großen Programm-Code-Einheiten ohne nennenswerte Probleme klarkommen. Beinahe alle IDEs ermöglichen es Ihnen die Projekte direkt von der Entwicklungsumgebung auf einen Server zu speichern und über einen Fernzugriff zu korrigieren.

Die jeweiligen Produkteigenheiten der verschiedenen IDEs haben sich in den letzten fünf Jahren deutlich verschoben. Während früher die Funktionen-Bandbreite von Java ein Unterscheidungsmerkmal der IDEs war, so können sie heute eher anhand der Benutzerfreundlichkeit, der ausführlichen Dokumentation, des Hilfesystems und der Funktionen-Bandbreite der Plug-Ins unterschieden werden.

IDEs werden zunehmend zu einem wichtigen Forum zum Austausch von kostenpflichtigen Plug-Ins. Vor allem die Eclipse Foundation hat sich schon vor langer Zeit dem Plug-In-Gedanken verpflichtet. Dies ist vor allem bei der Eclipse IDE sichtbar, die in unserem Test die meiste Punktzahl für Plug-Ins erhalten hat und sich via Plugin beispielsweise zu einer sehr guten PHP-IDE und für die Android-Entwicklung optimieren lässt. Die Kehrseite der Medaille sind jedoch Einbußen bei der Benutzerfreundlichkeit. Wir werden auf der Seite für Eclipse vorstellen, dass die Designer das Schreiben von Plug-Ins sehr einfach gestaltet haben, indem Teile der Plug-In-Arbeit auf den Nutzer abgewälzt werden.

Netbeans und IntelliJ IDEA vollführen den Spagat zwischen Plug-In-Einbindung und Benutzerfreundlichkeit deutlich besser. Beide bieten eine ordentliche Plug-In-Auswahl und bieten gleichzeitig eine angenehme Arbeitsatmosphäre. Schließlich resultiert dies in einer höheren Endwertung im Fazit. JDeveloper ist ebenfalls sehr benutzerfreundlich gestaltet, aber die Plug-In-Community ist etwas mager. Außerdem macht die Verbindung mit Oracle-Software die IDE vor allem für Unternehmen, die Software verschiedener Unternehmen nutzen möchten, uninteressant. Gäbe es diese Nutzungseinschränkung nicht, dann könne JDeveloper wahrscheinlich eine größere Plug-In-Community aufbauen und dadurch besser mit den anderen IDEs konkurrieren.

Google Go
Die Kombination von Einfachheit und Leistung ist das Ziel von Go. Die Programmiersprache selbst ist noch im Aufbau, aber der momentane Status zeigt bereits, in welche Richtung es künftig gehen kann.
JRuby
JRuby bringt die ohnehin verbreitete Skriptsprache Ruby auf die Java-Plattform und damit auf die Ebene unternehmensweiter Business-Anwendungen.
Zend Framework
Wer den bequemsten Weg zu PHP-Anwendungen sucht, ist laut Community mit dem Zend- oder PHP-5-Framework und seinen hochwertigen Komponentenbibliotheken für die Web-Entwicklung bestens bedient.
jQuery
Ein reichhaltiges JavaScript-Framework, das sich durch seine komfortablen Funktionen für die DOM-Manipulation und -Navigation auszeichnet, kommt mit JQuery.
jQTouch
jQTouch erweitert jQuery in Form eines Plug-ins um Mechanismen für die Entwicklung mobiler Web-Anwendungen. Leicht anpassbar und stylisches Design sind nur zwei der geschätzten Eigenschaften.
Ext Core, Ext JS, Ext GWT
Sencha Ext bietet eine leichtgewichtige JavaScript-Bibliothek zur Entwicklung von Feature-reichen und skalierbaren Web-Anwendungen beziehungsweise Rich Internet Applications. Unterstützt wird auch das Google Web Toolkit.
Sencha Touch
Mobile Anwendungen für iOS und Android lassen sich mit dem HTML5-Framework Sencha Touch erstellen. Auch Offline-Applikationen sind damit möglich.
Apache Hadoop
Das in Java geschriebene Framework Hadoop ist eine skalierbare, verteilt arbeitende Software, deren hochverfügbares und performantes Dateisystem sich zur Speicherung sehr großer Datenmengen eignet.
R
R ist ein Open-Source-Werkzeug zur statistischen Analyse und grafischen Darstellung von Daten beziehungsweise der Ergebnisse. Das Tool lässt sich über die vielen verfügbaren Pakete erweitern oder anpassen.
Git
Git ist ein freies verteiltes Versionskontroll-System, das sich für ein schnelles und effizientes Handling großer und kleiner Entwicklungsprojekte eignet. Jeder lokal laufende Git-Clone enthält ein komplettes Repository mit vollständiger Dateihistorie.

Sprachen- und Plattform-Unterstützung

Ein Indiz für die ständige Weiterentwicklung der IDEs ist, dass sie mehrere Programmiersprachen unterstützen. Von den IDEs werden alle Sprachen unterstützt, die häufig in Zusammenhang mit Java-Applikationen vorkommen. Zu nennen wären hier vor allem JSF, HTML, CSS und XML. Einige unterstützen auch JVM-Skriptsprachen, wie Groovy und JRuby, Sprachen außerhalb der Java-Sprachlandschaft, wie C/C++ und PHP, und sogar Modeling-Sprachen, wie UML. Die folgende Tabelle zeigt die unterstützten Sprachen der jeweiligen IDEs nach der Installation an

Unterstützung verschiedener Programmiersprachen:

Eclipse 3.6

JetBrains IntelliJ
IDEA 9.0.3

NetBeans 6.9

Oracle JDeveloper
11g

C/C++

ja

nein

ja

nein

Java-Sprachen

ja

ja

nein

nein

Groovy

nein

ja

ja

nein

JavaScript

ja

ja

ja

ja

JRuby

nein

ja

ja

nein

PHP

ja

ja

nein

nein

UML

9 Diagramme

1 Diagramm

nein

7 Diagramme

Die nächste Tabelle zeigt, dass alle IDEs hervorragend Java SE für Unternehmens-Entwicklungsprojekte unterstützen. Jedoch unterscheiden sich die IDEs bei der Unterstützung für Android und Java ME-Entwicklung für Handhelds oder eingebaute Geräte recht deutlich, wenn nur die Veröffentlichungsversion der IDE-Verkäufer oder -Unternehmen berücksichtigt wird. Wenn also Drittanbieter-Plug-Ins außer Acht gelassen werden. Deswegen schneidet Eclipse beim Java ME-Support hier nicht gut ab, obwohl Drittanbieter-Produkte das Funktionenspektrum entsprechend erweitern würden.

Entwicklungsplattformen:

Eclipse 3.6

JetBrains IntelliJ
IDEA 9.0.3

NetBeans 6.9

Oracle JDeveloper 11g

Android

exzellent

gut

nein

nein

Java ME

schlecht

exzellent

exzellent

schlecht

Java SE

exzellent

exzellent

exzellent

exzellent

Java EE

exzellent

exzellent

exzellent

exzellent


Auf den folgenden Seiten werden wir bei jeder einzelnen IDE vor allem auf die Benutzerfreundlichkeit und die Coding-Möglichkeiten eingehen. Wir glauben, dass dies die Hauptunterscheidungs-Merkmale der verschiedenen IDEs sind, die sich auch auf die Produktivität und Zufriedenheit des Nutzers auswirken. Dies ist wohl fast genauso wichtig, wie die Plug-In-Auswahl. In unserem Testfazit werden deswegen die Unterpunkte entsprechend gewichtet.

Eclipse 3.6: Die besondere IDE

Eclipse ist die dominante Java IDE in allen Bereichen. Vor allem bei den zur Verfügung stehenden Plug-Ins übertrumpft Eclipse die Konkurrenz. Berühmtheit erlangte Eclipse vor allem durch die Entscheidung des ursprünglichen Entwicklers IBM, die IDE in einem Subunternehmen auszugliedern. IBM konnte auf diese Weise weiterhin die Entwicklung finanziell unterstützen und Eclipse wurde zugleich für weitere Verkäuferkreise interessant, die ansonsten nur widerwillig direkt Produkte eines Entwicklers anbieten möchten. Die Strategie ist sehr gut aufgegangen. Dies geht teilweise auf die gute Finanzierung und die Wahl des Managements zurück, das hervorragende Arbeit geleistet hat. Es wurden neue mitwirkende Autoren erreicht, eine Community aufgebaut, Subprojekte vorangetrieben und Kontroversen vermieden.

Warum es wichtig ist, dass Eclipse Entwickler- und somit Verkäuferunabhängig ist, wurde vor kurzem klar. Google hatte öffentlich angekündigt, dass die Eclipse-IDE die Plattform der Wahl für Android-Entwicklungen sein soll. Während Oracles NetBeans lange Zeit ein Kandidat für diese Empfehlung war und auch schon Technologie-Übereinkünfte geschmiedet wurden, hat Oracles kürzlicher Rechtstreit mit Google dieses Engagement zunichte gemacht. Politik spielt eben auch auf dem Markt eine Rolle. Und Eclipse hat es geschafft sich aus diesem Bereich bestmöglich rauszuhalten.

Was jedoch bei Eclipse fehlt ist eine fortgeschrittene, überragende Technologie. Eclipse war lange Zeit eine eher mittelmäßige Java IDE, die Viele nutzten aber nur Wenige wirklich liebten. Die IDE wurde in letzter Zeit jedoch im Jahresrhythmus umsichtig verbessert und mit den Vorversionen synchronisiert. Die neuen Versionen wurden meist um Juni veröffentlicht. Die diesjährige Veröffentlichung, Version 3.6, mit dem Code-Namen Helios, fügt der Eclipse IDE einige neue Funktionen hinzu.

Das Aussehen von Eclipse ist in vielerlei Hinsicht ungewöhnlich. Viele dieser Designaspekte machen die IDE zwar einzigartig, was aber dazu führt, dass jegliches Wissen, wie eine andere IDE aufgebaut ist, kaum einen Nutzen bei einem Umstieg auf Eclipse hat. Das Grundprinzip von Eclipse lautet, dass sogenannte Perspektiven genutzt werden, die zu unterschiedlichen Möglichkeiten zur Anzeige eines Menüs oder Layouts in der IDE führen. Je nach durchgeführter Aktivität können diese Perspektiven sich deutlich unterscheiden. Dieses Design beflügelt geradezu die Plug-In-Entwicklung auf Kosten der Benutzerfreundlichkeit. Schließlich muss der Nutzer sich auf komplett unterschiedliche Ansichten gefasst machen, je nachdem welcher Aktivität er nachgeht.

Eclipse Java-Programmierungs-Perspektive. Foto: InfoWorld.

Innerhalb der Grund-Java-Entwicklungsumgebung verzichtet Eclipse auf Konventionen und verlangt vom Nutzer sich an die Ansicht zu gewöhnen. Bevor Sie beispielsweise eigene Projekte erstellen können, müssen Sie eine workspace einrichten. Innerhalb einer workspace, einem für andere IDEs unbekanntem Konzept, können Sie Projekte erstellen. Sie können auch working sets erzeugen. Dies sind verschiedene Abteile eines workspace, die als unabhängige Gruppen zusammengefasst werden. Die Notwendigkeit verschiedener workspaces führt dazu, dass die Erstellung und besonders das Verschieben eines Projekts nervenaufreibend sind. Vor allem der Hilfsassistent hilft kaum bei diesen Problemen und beinhält ungewöhnliche und nicht erklärte Optionen. Das "erledige es einfach für mich"-Konzept anderer IDEs gibt es bei Eclipse nicht. Beinahe bei jedem Schritt müssen Dialogfelder oder Wähloptionen ausgefüllt werden, die entweder kaum voneinander unterscheidbar oder unintuitiv sind.

Eclipse 3.6: Plug-In-Benutzerfreundlichkeit

Nun einmal ein Beispiel für typische Eclipse-Probleme. Stellen Sie sich vor, dass Sie ein vermischtes Java und Groovy-Projekt bei Eclipse importieren möchten, ohne über das Groovy-Plug-In zu verfügen. Wenn Sie zum Bearbeiten mit der rechten Maustaste auf eine Groovy-Datei klicken, dann öffnet sich lediglich ein Pop-Up-Menü mit den folgenden Optionen: Texteditor, Systemeditor oder Standardeditor. Da keine Hilfe für dieses Menü vorhanden ist, müssen Sie durch Probieren herausfinden, welche Entscheidung die Richtige ist. Also klicken wir beispielsweise zunächst auf den Systemeditor. Nun versucht Eclipse das Programm zu starten und lässt Sie es nicht editieren. Schließlich lässt sich mit Recht behaupten, dass Eclipse-Nutzer zunächst sehr viel Wissen über die In- und Output-Verarbeitung der IDE sammeln müssen. Noch ist Eclipse weit von einer intuitiven Navigation und Menüführung entfernt.

Um diese In- und Output-Prozesse zu lernen, ist das Hilfesystem der beste Freund des Nutzers. Über die letzten Jahre wurde das Hilfesystem deutlich verbessert, auch wenn hier und da immer noch kleine Hilfs-Löcher auszumachen waren. Außerdem kamen die überwältigende Anzahl verschiedener Fehlerberichte, die früher zum Alltag eines Eclipse-Nutzers gehörten, deutlich weniger oft zum Vorschein. Die IDE wurde zwar von Veröffentlichung zu Veröffentlichung spürbar besser, jedoch würde der Entwicklungsumgebung nur das wirklich helfen, was NetBeans vor einiger Zeit durchgemacht hat: Neuschreiben und Neu-Designen der Haupt-Editierfunktionen.

Wir möchten noch hinzufügen, dass die Eclipse-Designprobleme vor allem in der Java-Umgebung auftreten, wo ein harter Konkurrenzkampf mit qualitativ hochwertigen IDEs tobt. Deswegen sind die Design-Nachteile besser spürbar. Bei der C-Programmierung gibt es beispielsweise eine deutlich ausgedünnte Konkurrenz, weswegen dort Eclipse von den Programmierern besser angenommen wird, beliebter ist und weniger kritische Stimmen laut werden. Gerade bei Linux-Nutzern ist Eclipse für C/C++ mit Abstand führend.

Lassen wir nun einmal die Benutzer-Schwierigkeiten außer Acht, so vermittelt Eclipse den Eindruck schier unendlicher Möglichkeiten und unerreichter Skalierbarkeit. Das Möglichkeits-Spektrum ergibt sich vor allem aus der gut integrierten und riesigen Bandbreite verschiedener Plug-Ins. Dies ist vor allem das Verdienst vieler Plug-In-Programmierer, die Eclipse den Vorzug geben. Viele Entwickler denken häufig gar nicht daran ihre Produkte auf eine andere Plattform zu portieren. Auch sehr beliebte Plug-Ins, wie der exzellente Task-Manager Mylin, sind häufig nur für Eclipse verfügbar.

Früher war die Verwaltung der Plug-Ins ein großes Problem für Eclipse-Nutzer. Vor allem die Kompatibilitätsprobleme, da manche Plug-Ins eine bestimmte Version einer anderen Plug-Ins voraussetzten, bereiteten vielen Nutzern Kopfschmerzen. Eclipse ist dieses Problem nun angegangen. Seit diesem Jahr gibt es den Eclipse MarketPlace, der auch eine Lösung, um Plug-Ins zu finden, dargestellt.

JetBrains IntelliJ IDEA 9.0.3

JetBrains IntelliJ wird in zwei Varianten angeboten. Zum einen in einer kostenpflichtigen Version, die hier getestet wurde, und einer kostenlosen Open-Source-Community Version, die grundlegende Java-Editierfunktionen bietet. Da die kostenpflichtige Version von IntelliJ mit einer Vielzahl kostenloser Produkte konkurriert, muss die IDE sich immer neu Beweisen. Dreh- und Angelpunkt sind hier schnell fortschreitende und gut implementierte Innovationen. Die lange Liste der Neuentwicklungen flößt Respekt ein und führt zu einer großen Fangemeinschaft, die das Produkt mit Leib und Seele unterstützen. In der Tat gibt es viele Dinge, über die man ins Schwärmen kommen kann.

IntelliJ IDEA mit der Vergleichs-Ansicht. Foto: InfoWorld.

Gerade für Neulinge hatten die Entwickler hinter IntelliJ ein gutes Händchen. Neue Trends der Java-Community wurden schnell aufgegriffen und für jedes neue und beliebte Produkt wird schnell ein Kundendienst eingerichtet. IntelliJ war beispielsweise eine der ersten IDEs, die eine solide Unterstützung für Groovy und Grails einführten. Außerdem wurde bei IntelliJ als erstes eine erweiterte Unterstützung für JavaScript und den entsprechenden Debugger bekanntgegeben. Und wenn einmal IntelliJ nicht als erster Marktteilnehmer eine Innovation einführte, so ist die IDE doch oft an zweiter und schon deutlich seltener an dritter Stelle mit einem häufig besseren Kundendienst. Die Ant und Maven Unterstützung ist makellos, Spring ist kein Problem und auch die Möglichkeit von Java-Programmierung zu Adobe Flex und PHP innerhalb der gleichen IDE zu wechseln ist mit IntelliJ Alltag.

Aber es sind die Funktionen, die IntelliJ selbst zur Verfügung stellt, und weniger die Bandbreite der unterstützten Technologien, welche das Herz und den Verstand vieler Entwickler gewonnen haben. Vor Jahren war IntelliJ beispielsweise die erste IDE, die eine Dialog-Box einführte, mit welcher der tatsächliche Output einer Einheit Seite für Seite mit dem erwarteten Output verglichen werden konnte. Unterschiede wurden hervorgehoben, um Differenzen klarer darzustellen.

Heute wartet IntelliJ vor allem mit Funktionen auf, die allgemein besser implementiert sind als bei Konkurrenten. Und es gibt auch ein paar einmalige Neuerungen. In der ersten Kategorie ist das, im Vergleich zu anderen Werkzeugen, breitere Funktionen-Spektrum nachträglicher Code-Umgestaltung zu nennen. Zusätzlich gibt es eine interne Echtzeit-Syntax-Korrektur, die nicht nur nach Fehlern, sondern auch nach "Smells" sucht. "Smells" sind Programm-Schnipsel, die zwar korrekt funktionieren, aber schlecht geschrieben sind, wie beispielsweise zu komplexe Funktionen oder ein Boolean-Test, der immer das gleiche Ergebnis liefert. Außerdem bietet IntelliJ ein eigenes Code-Coverage-Werkzeug an, das innerhalb der IDE anzeigt, welche Programmierzeile von einem abgelaufenen Test ausgeführt wurde. Sollten Sie andere Einstellungen bevorzugen, dann bietet IntelliJ auch das Open-Source-Produkt EMMA und viele Plug-Ins für verschiedenste Aufgaben an.

JetBrains IntelliJ IDEA 9.0.3: weitere Extras

In die Kategorie der einmaligen Funktionen kann sich auch ein Duplikat-Sucher, der den Programm-Code nach Duplikaten durchforstet, einreihen. Solche schlechten Programmier-Stilbrüche wären sonst nur schwer zu finden. IntelliJ verfügt außerdem über ein Abhängigkeits-Analyse-Werkzeug, das auf einem Gitter anzeigt, welche Methode von anderen Methoden abhängt.

Die vorangehende Beschreibung gibt allerdings in keiner Weise das Gefühl wieder, wie sich das Arbeiten mit IntelliJ anfühlt. Die IDE überrascht den Nutzer immer wieder mit Annehmlichkeiten, die das Programm geradezu von der Lippe abzulesen scheint. Beispielsweise haben alle hier vorgestellten IDEs eine Pop-Up-Hilfe, die durch das Eintippen eines Methodennamens aktiviert wird. Bei IntelliJ heißt diese Hilfe "Autovervollständigung" und berücksichtigt die Methode im Gesamtzusammenhang des Programmcodes. Auf diese Weise wird direkt die richtige Untergruppe zur Methode angezeigt, die in diesem Zusammenhang benötigt wird. Dadurch müssen Sie nicht die gesamte Hilfe durchsuchen. Und das Beste: Die Vorschläge stimmen in so gut wie allen Fällen und manchmal scheint das Programm tatsächlich übernatürliche Kräfte zu besitzen.

IntelliJ hat aber auch seine ganz eigenen Grenzen. Am meisten stört, dass schon seit geraumer Zeit keine vernünftige Dokumentation vorhanden ist. Selbst herausfinden zu müssen, wie bestimmte fortgeschrittene Funktionen benutzt werden oder ein spezielles Problem zu lösen, ist sehr frustrierend. Glücklicherweise werden E-Mail Anfragen von den Entwicklern selbst beantwortet. Dadurch müssen Sie nur einmal eine Frage stellen, um darauf die richtige Antwort zu erhalten. Der einzige Makel bei diesem Ablauf ist, dass sich die Entwickler in Russland befinden und durch die Zeitverschiebung eine Antwort manchmal erst am nächsten Tag erfolgt. Das zweite Problem sind recht lange Ladezeiten beim Start. Zwar wurden die Ladezeiten in der Version 9.0 schon verkürzt, aber der Start ist weiterhin ärgerlich langsam.

Lassen wir die Kleinigkeiten außer Acht, so ist IntelliJ wirklich eine exzellente Entwicklungsumgebung. Es wird vor Augen geführt, dass professionelle, kommerzielle Programmierung durchaus zu sehr guter Software führt, die sogar mit kostenlosen Alternativen konkurrieren kann.

NetBeans 6.9: Überblick

Netbeans hat in den letzten Jahren einen großen Satz beim Marktanteil hingelegt. Nach einer jährlichen Umfrage der New York BZ Research zum Thema Java IDEs wurde NetBeans im Jahr 2005 von 17,9 % der Antwortenden genutzt. Letztes Jahr lag der Anteil schon bei 35,7 %. Dies ist mehr als jeder Dritte und ist der schnellste Anstieg der Nutzerzahlen im Vergleich zu den anderen Java IDEs in diesem Zeitraum. Bei der Beliebtheit ordnet sich NetBeans nun komfortabel auf Platz 2 hinter Eclipse ein.

Sun Microsystems, der ursprüngliche Entwickler von NetBeans, hat der Community stets zugehört und so die Beliebtheit der IDE steigern können. Mit der Übernahme durch Oracle Anfang dieses Jahres, wurden von der Java-Community Sorgen über die Zukunft von NetBeans geäußert. Diese Sorgen wurden, nach der Ankündigung Oracles die Unterstützung für Open-Source-Projekte von Sun einzustellen, noch verstärkt. OpenSolaris und Kenai Hosting Project sind zwei Beispiele für eingestellten Support. NetBeans Zukunft schien unsicher zu sein, sodass wir diesen Test sogar verschoben haben, um eine endgültige Antwort von Oracle zur Zukunft der IDE zu erhalten.

NetBeans Editor mit einer To-Do-Liste, die aus dem Programmiercode hergeleitet wurde. Foto: InfoWorld.

Duncan Mills, der Projekt-Management-Vorsitzende von Oracle, lieferte uns schließlich die ersehnten Informationen über NetBeans. Mills sagte uns: "Wir werden JDeveloper und NetBeans weiterentwickeln. JDeveloper wird von uns intern und von Geschäftskunden verwendet, die ein Tool suchen, das zuverlässig mit der Oracle Fusion Middleware Solution zusammenarbeitet. Netbeans ist unsere IDE für Nutzer, die eine Entwicklungsumgebung suchen, um Programme für andere Technologiezweige zu entwickeln. Wir erhoffen uns davon, dass NetBeans-Nutzer schließlich von Oracle-Lösungen überzeugt werden und zu JDeveloper oder anderen Oracle-Tools wechseln." Die Nachricht ist für uns eindeutig. NetBeans wird in den nächsten Jahren weiter unterstützt und entwickelt werden. Sollte die Marketing-Strategie aufgehen, dann werden wir noch lange NetBeans genießen dürfen.

NetBeans ist vor allem für die Benutzerfreundlichkeit und das einfache Design bekannt. Schon auf der Downloadseite wird der Fokus auf einfache Benutzerführung deutlich. Beispielsweise können Sie sich für verschiedene vorkonfigurierte NetBeans-Versionen entscheiden, die je nach Auswahl der Aufgabenstellung mit unterschiedlichen Plug-Ins und Plattformunterstützung aufwarten. Sie Laden also nur das herunter, was Sie für Ihr Projekt wirklich benötigen. Eclipse bietet eine ähnlich nützliche Funktion an, während IntelliJ und JDeveloper nur einen einzigen, mit allen Funktionen gefüllten, Download anbieten.

NetBeans 6.9: Redesign fruchtet

Auf dieser Seite werden wir die Highlights von NetBeans genauer beschreiben und Ihnen zeigen, welche Funktionen NetBeans von anderen IDEs unterscheidet. Da wäre vor allem die Unterstützung verschiedener Programmiersprachen, die von anderen IDEs ignoriert werden. Dazu zählen JRuby, JavaFX, PHP und C/C++. JRuby wurde ursprünglich bei Sun entwickelt und Charles Nutter war der Programmier-Leiter. Er gab in einem Interview mit uns an, dass die vielfältige Sprachunterstützung von NetBeans ein großer Vorteil gegenüber anderen IDEs sei. JavaFX, die Desktop-Skriptsprache, wird unterstützt, da Oracle diese Technologie fördern möchte. Viele Skeptiker sind jedoch der Meinung, dass JavaFX niemals den Durchbruch schaffen wird, sodass Oracle nur "Show" und nicht die Befriedigung von Nutzerbedürfnissen vorgeworfen wird. NetBeans unterstützt leider keine UML-Diagramme mehr, die noch vor kurzem mit NetBeans erstellt werden konnten.

NetBeans wurde vor einigen Jahren komplett neu entworfen und hat bis heute die einfache Bedienung und intuitive Navigation beibehalten. Die Dinge funktionieren wie erwartet und die notwendigen Optionen sind nur äußerst selten schwierig auffindbar.

Anders als IntelliJ, das eine Syntaxanalyse während des Tippens durchführt, kompiliert NetBeans ständig im Hintergrund. Eclipse verfügt über eine ähnliche, konfigurierbare Funktion. Bei NetBeans bedeutet dies, dass Sie direkt nach dem Editieren das Programm starten können. NetBeans erzeugt außerdem Ant-Build Dateien im Hintergrund für jedes Projekt. Diese Dateien bieten wertvolle Hinweise für Entwickler, da damit Projekte, die mit dieser IDE erstellt wurden, exakt reproduziert werden können.

Im NetBeans-Paket sind ein eingebauter Profiler, JUnit und ein String-Assistent enthalten. JUnit testet Programmeinheiten mit Bare-Bones-Tests, die zwar den Programm-Code nicht auf Herz und Niere prüfen, aber am Anfang des Projekts nützlich sind. Der String-Assistent hilft dabei, Strings in andere Sprachen zu übersetzen. Für Unternehmen wird ein Download-Paket mit Apache Tomcat oder dem GlassFish Open Server angeboten. Um Daten laufender Apps aufzuzeichnen, bietet NetBeans eine einzigartige JMX- und JConsole-Unterstützung an. JMX steht für Java Management Extensions.

Für NetBeans sind deutlich weniger Plug-Ins verfügbar als für Eclipse und ungefähr genauso viele wie für IntelliJ IDEA. Die alte Weisheit, dass schließlich alle guten Eclipse-Plug-Ins früher oder später auch für die anderen Plattformen verfügbar sein werden, wurde von der Realität nicht bestätigt. Vielleicht wird sich das noch ändern, wenn NetBeans weiterhin in dem Maße Marktanteile gewinnt, wie die IDE es in den letzten fünf Jahren genossen hat. Jedoch tut sich noch ein riesiger Plug-In-Abgrund auf, der zugleich NetBeans offensichtlichste Schwachstelle darstellt. Als Fazit gilt aber, dass NetBeans momentan die benutzerfreundlichste Java-IDE ist.

Oracle JDeveloper Studio 11 g (11.1.1.3.0)

Auch Oracles JDeveloper Studio ist nicht so einfach mit den anderen in diesem Artikel vorgestellten IDEs vergleichbar. Die IDE hat ihren ganz eigenen Weg gefunden und verfolgt die Ziele von Oracle und beschäftigt sich kaum mit für Oracle irrelevanten Problemen. JDeveloper sollte weniger als kostenlose Closed-Source-Software, sondern eher als Oracles internes Entwicklungs-Werkzeug angesehen werden, das jedem Interessierten zur Verfügung steht.

Die Oracle-Agenda fokussiert das Programm auf Oracle-Lösungsansätze und ist dadurch deutlich beschränkter als andere IDEs. Allerdings ist die IDE gerade deswegen auch sehr effizient einsetzbar. Schon an der Versionsnummer wird die Bindung zu Oracle deutlich, denn sie darf nicht höher sein, als die aktuelle Versionsnummer von Oracles-Hauptprodukt DBMS. Aufgrund dieser imaginären Wand muss die Versionsnummer um Dezimalstellen wachsen. Dadurch ist die Software-Altersinformation aus der Versionsnummer nicht mehr herauslesbar und der Nutzer kann auch kaum nachvollziehen bei welcher Version bestimmte wichtige Updates getätigt wurden.

Die Installation ist ziemlich einfach. Eine ganz interessante Sache ist, dass am Ende die Software unter dem Namen "Oracle Fusion Middleware" zu finden ist. Die meisten Nutzer sehen eine IDE nicht als Zwischenanwendung (Middleware), aber JDeveloper wird aufgrund dieser Kategorie-Einordnung unterschätzt. Es wird praktisch verheimlicht, dass die IDE hervorragende Programmierfunktionen für Unternehmen bietet. Beispielsweise beinhält JDeveloper ein ADF (Application Development Framework). Dies ist Oracles bevorzugtes Java Server Faces (JSF) Set. Außerdem wird TopLink unterstützt und Unmengen verschiedener Java EE-Werkzeuge sind verwendbar. Dazu gehört eine WebLogic Server-Version, die von der IDE aus gestartet und verwaltet werden kann.

Die "Nur-Oracle"-Softwarestrategie funktioniert innerhalb JDeveloper ganz gut solange Sie von Anfang bis Ende Oracle-Software nutzen. Sollten Sie beispielsweise von Oracles JSF-Komponenten in ADF zu einer Drittanbieter-Software wechseln wollen, dann werden Sie einige Einschränkungen in der WYSIWYG-Benutzeroberflächen-Programmierung hinnehmen müssen.

JDeveloper-Editor mit unterer Verwaltungs-Leiste für den WebLogic-Server. Foto: InfoWorld.

Oracle JDeveloper Studio 11 g (11.1.1.3.0): weitere Funktionen

Gerade wegen der starken Oracle-Bindung von JDeveloper ist das Hilfe- und Kundendienst-System sehr gut implementiert. Sobald Sie die Tastenkombination für Hilfe drücken, erscheint ein Fenster mit den wichtigsten Informationen. Diese Hilfs-Informationen beziehen sich direkt auf die Seite oder den Dialog von wo aus Sie das Tastenkürzel verwendet haben. Diese kontextabhängige Hilfe ist schneller und besser als bei anderen IDEs. JDeveloper bietet noch andere nützliche Spielereien. Dazu gehört vor allem ein eingebauter Profiler, der die Leistungskennzahlen und Speicherbelegung aufzeichnet. Eine Syntax-Korrektur, die sogar einen Fehler entdeckt hat, den IntelliJ IDEA nicht gefunden hatte, gehört ebenfalls zum Gesamtpaket. In den für Oracle wichtigen Bereichen macht die IDE ihre Aufgabe wirklich gut.

Ein weniger wichtiger Bereich scheinen Plug-Ins zu sein. Und hier tritt die größte Schwäche von JDeveloper zum Vorschein: Keine ausreichend große Plug-In-Community. JDeveloper bietet von allen hier getesteten IDEs die wenigsten Plug-Ins an und die wenigen Verfügbaren sind meist von Oracle selbst geschrieben. Drittanbieter sind beinahe nicht vertreten. Beispielsweise konnten wir kein einziges Plug-In für Code-Coverage-Analysen finden, das mit JDeveloper funktioniert hat. Viele Programmierer werden durch die geringe Plug-In-Auswahl sicherlich in ihren Möglichkeiten eingeschränkt.

Oracle hat klargestellt, dass JDeveloper weiterhin die hauptsächlich im Unternehmen genutzte Entwicklungsumgebung bleiben wird. Für Unternehmen, die mit dem Oracle-Software-Paket arbeiten, ist auch JDeveloper eine gute Wahl. Alle anderen Kunden sollten sich eher an eine andere hier vorgestellte IDE halten.

Weitere IDE-Alternativen in Kürze

Für uns ist es ein Rätsel, warum freiwillige Open-Source-Akteure IDEs für eine Programmiersprache schreiben, die schon sehr gut mit exzellenten Entwicklungs-Tools versorgt ist. Es gab Zeiten in denen der Java-IDE-Weltraum mit einem Übermaß an Software gefüllt war. Heutzutage ist Java jedoch weiter vorangeschritten und es werden immer weniger neue IDEs vorgestellt. Einige wenige Veteranen sind noch übriggeblieben, doch auch diese stehen wohl kurz vor dem verdienten Ruhestand.

Embarcadero JBuilder
Die aktuelle Version dieses Produkts ist eher ein kleines Update des JBuilder 2008. Nach den Worten des Unternehmenssprechers Embarcadero, der die IDE-Produktlinie mit dem Namen CodeGear im Jahr 2008 von Borland gekauft hat, ist im Moment nicht geplant JBuilder in absehbarer Zeit wesentlich weiter zu entwickeln. Das Unternehmen möchte sich eher auf die Entwicklung anderer IDEs, beispielsweise für Delphi, konzentrieren. Es kann wohl behauptet werden, dass dies das Ende von JBuilder sein wird.

Genuitec MyEclipse
MyEclipse ist ein abo-basiertes Angebot von Eclipse, das einige zusätzliche Plug-In-Sets enthält. Wie schon auf den Seiten zu Eclipse vorgestellt, kann das Finden, Installieren und Verwalten vieler Eclipse-Plug-Ins zu einer Tortur werden. MyEclipse wirkt dem entgegen, indem Eclipse-Versionen mit vorgeschnürten und integrierten Plug-In-Paketen angeboten werden. Einige Plug-Ins, wie eine Portierung des NetBeans Matisse UI Designers, wurden von Genuitec vorgefertigt. Die Abopreise reichen von 25 Euro (32 US-Dollar) bis 155 Euro (199 US-Dollar) pro Jahr inklusive Kundenservice.

IBM Rational Application Developer
Diese IDE, auch RAD genannt, ist Teil einer Entwickler-Software-Serie von IBM. Die Preise sind mit 1650 Euro (2150 US-Dollar) jedoch ziemlich happig. Der Preis fällt aber häufig auf 0, wenn Kunden eine andere Software, wie IBM WebSphere JEE Server ebenfalls kaufen. RAD und die verwandten Programme basieren auf Eclipse und wurden mit weiteren Extras ausgestattet. Beispielsweise besitzt die Architect-Edition eine Vielzahl verschiedener UML-Modeling-Tools. Die Business-Developer-Version unterstützt IBMs 4GL. Für jeden ist also eine passende Edition verfügbar. Sollte Ihr Unternehmen WebSphere-Software verwenden, dann sind diese Werkzeuge durchaus sinnvoll. Für die meisten Nutzer bietet die MyEclipse-Alternative einen ähnlichen Funktionsumfang zu einem besseren Preis.

Der Originalartikel stammt von Andrew Binstock.

Fazit und Wertungstabelle

Zunächst noch einmal die wichtigsten Punkte im Überblick

Plattform

Kosten

Kurzbeschreibung

Eclipse 3.6

Java 5; Windows,
Mac OS X, Linux

kostenlos

Marktführer der Java IDEs. Riesige Plug-In-Auswahl und großer Funktionsumfang. Schwierig zu lernen und noch schwieriger zu meistern.

JetBrains IntelliJ
IDEA 9.0.3

JDK 5 oder 6; Windows,
Mac OS X, Linux

230 Euro
(295 US-Dollar)

Einzige kommerzielle IDE im Test. Führt die Tradition einer innovativen IDE fort. Sehr intuitiv und nimmt Programmierarbeit ab. Eine bessere Dokumentation würde die IDE weiter optimieren.

NetBeans 6.9

JDK 6; Windows,
Mac OS X, Linux

kostenlos

Exzellente und bedienungsfreundliche IDE. Unterstützt viele Programmiersprachen. Einfacher als Eclipse, aber auch mit kleinerer Plug-In-Auswahl und weniger Funktionen als IntelliJ. Beste IDE im Test.

Oracle JDeveloper
Studio 11g

JDK 6; Windows,
Mac OS X, Linux

kostenlos, mit Option
für kostenpflichtigen
Kundendienst

Eine gute, closed-source IDE mit guten Unternehmens-Funktionen. Beschränkung auf Oracle-Produkte. Sehr dürftige Drittanbieter-Unterstützung.


Zum Schluss unsere Wertungstabelle für die getesteten IDEs

Benutzerfreundlichkeit

Java-Funktionen

Plug-In-Umgebung

Dokumentation
und Hilfesystem

Gesamt-
punktzahl

30 %

30 %

25 %

15 %

Eclipse 3.6

6

8

10

8

7,9 (gut)

JetBrains IntelliJ IDEA 9.0.3

9

9

8

7

8,5 (sehr gut)

NetBeans 6.9

8

8

8

8

8,0 (sehr gut)

Oracle JDeveloper Studio 11g (11.1.1.3.0)

8

8

5

9

7,4 (gut)

Dieser Artikel stammt von der CW-Schwesterpublikation PC-Welt. (sh)