Aljoscha Rittner über die NetBeans IDE

Interaktiver IDE-Vergleich: Teil 1 – NetBeans

In unserem interaktiven IDE-Vergleich macht die NetBeans IDE den Anfang. Im Jahr 2000 von Sun als Open-Source-Entwicklungsumgebung freigegeben, wurde NetBeans kontinuierlich weiterentwickelt und hat gerade in den letzten Monaten (gut vom „Eclipse-Schock“ erholt) mächtig Fahrt aufgenommen. Viele fragen sich nun, was die Sun-Übernahme durch Oracle für NetBeans bedeuten wird. Die NetBeans-Community scheint jedenfalls ungebrochen vital, und die neue Version 6.8 von NetBeans steht ebenfalls kurz vor der Vollendung.

In unserem IDE-Vergleich vertritt Aljoscha Rittner, NetBeans Dreamteam-Member, die NetBeans-Position und hat sich unseren drei Fragen gestellt, die wir auch Daniel Megert (Eclipse) und Roman Strobl (IntelliJ IDEA) vorgelegt haben. Danach sind Sie an der Reihe, liebe JAXenter-Leser. Kommentieren Sie nach Belieben und stellen Sie Ihre eigenen Fragen zu NetBeans!

JAXenter: Hallo Herr Rittner. Worauf wurde bei der Entwicklung von NetBeans besonderen Wert gelegt?

Aljoscha Rittner: Die Überlegung aus technischer Sicht ist relativ einfach zu beantworten: Es muss für ein überschaubares Team von Entwicklern einfach sein, eine so komplexe Anwendung wie eine Mehrsprachen-IDE reibungslos aufbauen zu können. Dabei darf der Fokus der Erweiterbarkeit nicht aus den Augen verloren werden.

Damit gibt es sofort Spannungen, bzw. Zielkonflikte, die effizient und einfach zu lösen sein sollten. Auf der einen Seite gibt es das Core-Entwicklerteam, das eine möglichst einfache und wartbare Basisumgebung bieten will. Demgegenüber sitzen die Modulentwickler, die ein sehr flexibles Framework wollen, um alle ihre Ideen verwirklichen zu können.

Um beiden Seiten Rechnung zu tragen, wurde die NetBeans IDE schon sehr früh in die Teile „Platform“ und „IDE“ aufgesplittet. Neben der IDE hat sich dann zum Beispiel die RCP-Entwicklung auf Basis der NetBeans Platform herausgebildet, bevor es den Begriff RCP überhaupt gab. Das besondere Augenmerk der NetBeans-Entwicklung liegt also auf einem Prozess, welcher in der Betriebssystementwicklung ebenfalls zu beobachten ist: die Trennung zwischen Kernel, Systemprogrammen und Anwendungen. Die NetBeans-Entwicklung hat seine Core-Module, Platform-System-Module und, mit der prominentesten Anwendung, die NetBeans IDE (man kann tatsächlich sagen, dass das NetBeans-Framework ein Betriebssystem für Plug-in-Module ist).

Und nur aus der Überlegung dieser technischen Sicht heraus entsteht der besondere Wert des NetBeans Framework. Weil viele Interessen mit einem Produkt unter einem Hut gebracht werden müssen, wird jede Neuentwicklung, jede Änderung und jede Korrektur daran gemessen, ob die Lösungen modulzentriert sind und möglichst wenige Seiteneffekte haben.

JAXenter: Wo liegen aus Ihrer Sicht die Stärken von NetBeans gegenüber anderen IDEs?

Aljoscha Rittner: Für den Einsteiger ist es offensichtlich. Wer eine IDE haben will, die mit nur einem Installations­assistenten eine komplette Out-Of-The-Box IDE bietet, kommt um die NetBeans IDE kaum herum. Soll es dazu ein ausgesprochen großer Funktionsumfang sein, gibt es keine IDE, die das so einfach und kostengünstig zur Verfügung stellt.

Überhaupt sind alle Plug-ins, die man dann noch benötigt, direkt aus der IDE aus dem Autoupdate-Center zu erreichen. Es besteht keine Notwendigkeit, sich seine Entwicklungsumgebung durch das Zusammensuchen von kompatiblen Plug-ins von zig Webseiten aufzuwerten. Und besonders, weil die NetBeans-Entwicklung einen starken Wert auf modularisierte Entwicklung ohne Seiteneffekte legt, funktionieren alle nachinstallierten Plug-ins gut zusammen.

Wer nur bestimmte Sprachen programmieren will, bekommt über individuelle Download-Pakete genau, was gebraucht wird: Java Standard Edition und JavaFX mit 50 bis 90MB, Java Vollpaket (inkl. Enterprise) mit ca. 230MB. Pakete für Ruby, C/C++ und PHP für jeweils unter 60MB.

Mit der Version 6.8 ist NetBeans die erste IDE, die den Entwicklungsprozess mit Java EE 6 unterstützt. Wer alles haben will oder noch nicht weiß, was gebraucht wird, ist mit dem Komplettpaket mit knapp 300MB Installationsdatei dabei. Man muss also nichts installieren, was man nicht braucht, und man bekommt vorgefertigte Pakete, die einem alles schon an Installationsarbeit abnehmen. Wenn man den Vergleich zu Linux Betriebssystemen noch mal nehmen will: Es werden unterschiedliche Distributionen angeboten.

Wer eine IDE in purem Java braucht, die auf allen Java-Zielarchitekturen ohne gesonderte Installationspakete laufen soll, ist bei NetBeans gut aufgehoben.

JAXenter: Was kann NetBeans im Gegenzug von anderen IDEs lernen?

Aljoscha Rittner: Von meiner Seite kann ich eigentlich nur zwei Dinge anmerken: NetBeans muss lernen, pragmatischer mit den Wünschen der Endanwender umzugehen und mehr Mut haben, kleine und große praktische Wünsche schneller zu integrieren. Als kleines prägnantes Beispiel kann ich den toString-Generator erwähnen, der eigentlich sofort in die IDE gehört und nicht nur ein Plug-in eines Modulautors sein sollte. Gerade solche Kleinigkeiten machten unsere Mitbewerber IntelliJ IDEA und Eclipse IDE so populär. Auch hatten wir als Modul-, RCP- und Plug-in-Entwickler bisher sehr wenig Einfluss auf die Core-Funktionalität. Aber da wandelt NetBeans sich schon jetzt: Mit dem NetCAT, NetFIX und NetDEV Programm gibt es vielfältige Möglichkeiten, in den Entwicklungsprozess einzugreifen.

Damit komme ich zu der zweiten Sache: Gerade die Net* Programme sind für die Community ein sehr wichtiger Faktor, direkter und einfacher auf die Entwicklung von NetBeans einwirken zu können. Sie werden m.E. aber noch zu wenig genutzt. Die NetBeans-Community muss mehr diese Chancen der Einflussnahme nutzen. Hier sind die Communities der anderen großen IDEs deutlich agiler. Dabei sieht man gerade am Community-Docs-Programm, dass es sehr gut funktionieren kann.

JAXenter: Vielen Dank für diese ersten Informationen. Weiter geht es nun mit dem Community-Feedback der Leser!

Geschrieben von
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.