Das Softwareentwicklungswerkzeug Netbeans ist in zwei Konfigurationen erhältlich: als reine Java-Entwicklungsumgebung (Integrated Development Environment, kurz IDE) sowie in Kombination mit einem Applikations-Server. Mit Letzterem bietet das Open-Source-Projekt J2EE-Entwicklern ein Startpaket an.
Hier lesen Sie...
-
welche Verbesserungen Netbeans 5.0 aufweist;
-
warum das Tool Mac OS X besser unterstützt;
-
was die Entwicklungsumgebung im Vergleich zu Eclipse bietet.
Gemessen am Leistungsspektrum und den Installationsvoraussetzungen kommerzieller Java-Entwicklungsumgebungen sind die Ansprüche des kostenfreien Netbeans moderat geblieben: Die IDE ohne Applikations-Server benötigt ein Java Development Kit (JDK) ab Version 1.4.2, rund 125 MB Festplattenkapazität und mindestens 384 MB Hauptspeicher.
Nach dem Start präsentiert Netbeans das vertraute Bild einer Java-Entwicklungsumgebung: Im linken Fensterbereich befindet sich die Projekt- und Strukturansicht, im unteren Teil eine Konsole, während der rechte Teil vom Editor dominiert wird. Er lässt sich vom Text- in einen Designmodus umschalten, wenn die geladene Klasse GUI-Bestandteile enthält. Hinter dem Designmodus verbirgt sich ein GUI-Builder mit dem einprägsamen Namen "Matisse". Er ist vielleicht die auffälligste Neuerung der neuen Netbeans-Version.
Neuer GUI-Builder
Der Matisse-GUI-Builder zeichnet sich vor allem durch extrem leichte Handhabung aus. Im Modus "Free Design" lassen sich GUIs ohne Vorkenntnisse der komplizierten Java-Layout-Manager spielerisch leicht anordnen. Aber auch vor schwierigeren Aufgaben wie der Gestaltung mit Hilfe eines "Gridbag"-Layouts muss man nicht zurückschrecken, denn der Nutzer wird durch einen eigenen Editor bestens unterstützt. Ein Gridbag legt Textfelder, Buttons, Combo-Boxen, Container und andere Elemente in einem Gitter ("Grid") aus Zeilen und Spalten ab.
Sehr praktisch ist auch die integrierte Vorschau. Sie präsentiert die GUI in einer Wysiwyg-Ansicht, die dem Entwickler erspart, nach jeder noch so kleinen Änderung das Programm immer wieder zu übersetzen und zu starten.
Eclipse versus Netbeans
Eclipse und Netbeans unterscheiden sich gravierend: Die Eclipse-Entwicklungsumgebung baut auf anderen Java-Klassenbibliotheken auf, verfügt dank dem SWT-Framework über eine native Oberfläche und über einen eigenen Java-Compiler. Sie ist zudem im Vergleich zu Netbeans von Beginn an als Integrationsplattform für Tools (GUI-Builder, UML-Modellierung) konzipiert worden.
Die Eclipse-IDE bietet kaum zu übertreffende Konfigurationsmöglichkeiten und gestattet die Programmierung in PHP, Cobol, C++ und Java.
Was die breite Unterstützung von verschiedenen Softwarehäusern mit Plug-ins angeht, ist Eclipse momentan nur mit Microsofts "Visual Studio" zu vergleichen. Darüber hinaus bietet sie einen ausgereiften Rahmen für Eigenentwicklungen (Rich Clients).
Netbeans setzt die Sun-Klassenbibliotheken auf, verwendet mit der Swing-Bibliothek eine emulierte Oberfläche und den Standard-Compiler des Java Development Kits.
Netbeans ist primär eine rundherum komplette Java-Entwicklungsumgebung für Java-Client- und J2EE-Projekte. Als Plattform für Rich-Client-Eigenentwicklungen und für andere Programmiersprachen als Java ist sie im Gegensatz zu Eclipse (noch) unbedeutend.
Wermutstropfen bei Matisse sind derzeit die mangelnde Stabilität, proprietäre Erweiterungen und unzureichende Migrationsmöglichkeiten. Während die Stabilität im endgültigen Release sichergestellt sein wird, dürfte sich an den anderen Einschränkungen nichts ändern: Der GUI-Builder legt proprietäre Dateien an und reserviert Codeblöcke. Beides verhindert den Wechsel zu anderen Entwicklungsumgebungen. Aber auch der umgekehrte Weg ist steinig, denn der Matisse-GUI-Builder erkennt beispielsweise Oberflächen nicht, die mit dem "Jbuilder" von Borland gestaltet wurden.
Neben dem GUI-Builder hat der Texteditor einige wichtige Verbesserungen erfahren. Sie betreffen vor allem die Programmierhilfe und Restrukturierungsfunktionen (Refactoring). Die Programmierhilfe reagiert schneller und bietet mehr Auswahlmöglichkeiten. Zudem haben die Entwickler die Code-Erzeugung um veränderbare Vorlagen, Getter- (Lesen von Attributen) und Setter-Methoden (Schreiben von Attributen), anonyme innere Klassen sowie Methodenrümpfe erweitert. Außerdem kann die Programmierhilfe bestimmte Abkürzungen erkennen und automatisch expandieren.