NetBeans IDE

NetBeans IDE
QS-Informatik

Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen und beteilige dich an der Diskussion! (+)

NetBeans IDE
Netbeans IDE 7.0.png
NetBeans IDE 7.0
Basisdaten
Entwickler Oracle Corporation
Aktuelle Version 7.0.1
(1. August 2011)
Betriebssystem plattformunabhängig
Programmier­sprache Java
Kategorie IDE
Lizenz CDDL, GPL (v2 with Classpath Exception, seit Version 6.0)[1]
Deutschsprachig ja
netbeans.org

NetBeans IDE (oft auch nur NetBeans genannt) ist eine Entwicklungsumgebung, die komplett in der Programmiersprache Java geschrieben wurde und auf der NetBeans Plattform läuft. NetBeans IDE wurde hauptsächlich für die Programmiersprache Java entwickelt, unterstützt jedoch auch C, C++ und dynamische Programmiersprachen. Zusätzlich wurden sogenannte Packs entwickelt, welche der IDE eine große Anzahl der Funktionsmöglichkeiten bietet.

NetBeans ist ein Open-Source-Projekt, welches als Plattform für eigene Anwendungen verwendet werden kann. Mit einem sehr großen Nutzerkreis, einer ständig wachsenden Community und über 100 Partnern weltweit ist NetBeans eine der führenden integrierten Entwicklungsumgebungen.

Inhaltsverzeichnis

NetBeans IDE im Detail

Die NetBeans IDE ist eine freie Entwicklungsumgebung mit großem Funktionsumfang. Sie ist vergleichbar mit der Eclipse IDE oder den kommerziellen Versionen von JBuilder oder IBM Rational Application Developer (basierend auf Eclipse). Die IDE unterscheidet sich von anderen Produkten darin, dass NetBeans ein Grundverständnis von den verwendeten Programmiersprachen und Bibliotheken oder Frameworks voraussetzt. Die Unterstützung durch Assistenten zum Beispiel für die Erstellung von J2EE-Anwendungen ist jedoch weit fortgeschritten. Es ist in der NetBeans IDE dennoch möglich, Konfigurationsdateien direkt zu editieren.

Unterstützte Sprachen

Die NetBeans IDE unterstützt direkt die Programmiersprachen Java, C, C++, Fortran, JavaScript, Ruby und PHP. In Form von Plugins kann Netbeans auch um Sprachen wie Ada, Adobe Flex, Clojure, Coco/R, Erlang, Fortress, Groovy, JavaMath, JavaFX, Perl, PL/SQL, Prolog, Python, Reguläre Ausdrücke, Scala, SmartFrog, Tcl, TeX und LaTeX, VRML und X3D erweitert werden.

Plugins

Es gibt eine Reihe von Erweiterungen für NetBeans, sogenannte Plugins. Diese integrieren in die IDE spezielle Techniken oder Tools. Die kommerziellen oder freien Plugins können über die Projektseite oder direkt aus der NetBeans IDE heraus bezogen werden. Über eine einfache Funktion werden sie anschließend in die IDE integriert. Die Modularisierung der NetBeans IDE geht so weit, dass z. B. das komplette Projektmanagement ausgetauscht werden kann. So ist es zum Beispiel möglich ein Maven-Plugin zu installieren und darüber Java-Projekte zu verwalten.[2]

Packs

Im Gegensatz zu den Plugins erweitern die sogenannten „Packs“ das Einsatzgebiet der IDE auf Bereiche wie Mobile-, Enterprise- und C/C++-Entwicklung.[3] Um dies zu erreichen, liefern die Packs eine ganze Sammlung von Modulen und Bibliotheken für ein bestimmtes Einsatzgebiet. Ihre Größe kann einige Megabyte erreichen, weshalb sie nicht von vornherein mit der Basis-IDE ausgeliefert werden,[3] sondern als einzelne Downloads zur Verfügung gestellt werden.

Es stehen die folgenden Packs neben der Basis IDE zur Verfügung:

  • Java SE (für die Entwicklung von Desktop Java-Anwendungen)
  • Web & Java EE (für die Entwicklung von Unternehmens-Anwendungen)
  • Mobility (für die Entwicklung von mobilen Anwendungen)
  • Ruby (Erweiterung für die Programmiersprache Ruby)
  • C/C++ (Erweiterung für die Programmiersprachen C und C++)
  • UML Modelling (Modellierung und Design mit der Unified Modeling Language)
  • SOA (Werkzeuge für die Nutzung der Serviceorientierten Architektur)
  • Platform (Basis für die Entwicklung von Desktop-Anwendung)

Auch wenn die Packs nicht als kommerzielle Produkte verfügbar sind, hat man die Möglichkeit, sich mit verschiedenen Support-Angeboten eine professionelle Unterstützung einzukaufen.[3]

Debugging

Mittels des grafischen Debuggers können Haltepunkte direkt im Quelltext (auch während der Laufzeit) aktiviert und deaktiviert werden. Haltepunkte können fest, bedingt oder signalorientiert sein. Bedingte Haltepunkte werden nur ausgeführt, wenn ein berechneter boolescher Ausdruck erfüllt ist. Signalhaltepunkte reagieren zum Beispiel auf bestimmte Ausnahmen (Exceptions) oder Einstiegs- und Ausstiegspunkte von Methoden. Außerdem beherrscht der Debugger interaktive Haltepunkte (Run to Cursor und Run to method).

Zu beobachtende Variablen können mittels Code Completion (wie im normalen Editor) eingegeben werden. Während der Laufzeit können beliebige Java-Ausdrücke berechnet werden, und Variableninhalte können zur Laufzeit geändert werden. Eine besondere Übersicht vereinfacht es, große beobachtete Arrays darzustellen. Im Quelltext kann per Tooltip der Variableninhalt angezeigt werden. Ab dem JDK 5.0 können auch Methodenblöcke während der Laufzeit modifiziert werden.

Der Debugger ist multisession- und multithreadingfähig, das heißt es können gleichzeitig mehrere Programme und in jedem Programm mehrere Threads überwacht werden.

GUI-Builder

Der Matisse GUI-Builder ermöglicht eine grafische GUI-Gestaltung, ohne dass es nötig ist, sich mit den Eigenarten von Swing-Layoutmanagern auszukennen. Der Matisse GUI-Builder verwendet zudem einen eigenen Layoutmanager (GroupLayout), der seit Version 6 Teil der Java Platform Standard Edition ist, und kann das Layout in das null-Layout konvertieren. Mittels Drag & Drop können die Komponenten der Form hinzugefügt werden, wobei Ausrichtung, Größe oder andere Eigenschaften einfach anpassbar sind bzw. durch die IDE automatisch vorgegeben werden. Textelemente können direkt in dem GUI-Builder bearbeitet werden. Matisse unterstützt JavaBeans als Komponenten und Container. Alle beschreibenden Texte können internationalisiert und aus Übersetzungstabellen (Resourcedateien) eingelesen werden.

Quelltexteditor

Editorfunktionen

  • Javatipps, die bei der Quelltexterstellung helfen
  • Komponentenpaletten zum einfachen Einfügen von Codeschnipseln (z. B. HTML, JSP oder SQL) via Drag & Drop in eine JSP- oder HTML-Seite
  • Fehlermarkierung, die anzeigt, ob die Datei kompilierbar ist oder nicht, und einen Überblick über alle Fehler, Warnungen, Todos und Bookmarks im Quelltext gibt
  • Umschließen eines selektierten Statements mit einem try/catch-Block
  • SQL-Editor mit Syntaxhervorhebung
  • einfaches Hinzufügen von XML-Dateien, wie Dokumenttypdefinitionen (DTD) und Schemata (XSD), für die Nutzung bei der Code Completion und die Validierung
  • Einführung einer Möglichkeit, aus vorgegebenen Sets für Tastenkürzel oder Farbschemata (z. B. im Emacs-Stil) zu wählen oder diese nach eigenen Wünschen anzupassen

Codevervollständigung von Java-Quelltext

Für das Vervollständigen von Klassen, Methoden und Feldern können durch die Code Completion Box Codeschnipsel aus folgenden Bereichen neu erzeugt werden:

  • Code von konfigurierbaren Vorlagen
  • Getter und Setter
  • Anonyme Innere Klassen
  • Methodenkörper für Methoden, welche überschrieben oder implementiert werden
  • try/catch-Blöcke mit passenden Exceptions

Zusätzlich kann durch die Verwendung bestimmter Abkürzungen (Camel Case Identifier) Code erzeugt werden. So kann beispielsweise die Eingabe von AIOOBE automatisch durch ArrayIndexOutOfBoundsException ersetzt werden.

Refactoring

Der Java-Editor beherrscht folgende Refactorings inklusive Wiederherstellen und Vorschau der Ergebnisse:

  • Rename – Umbenennen von Paketen, Klassen, Methoden und Variablen
  • Extract Method – Quelltextabschnitte innerhalb von Methoden zu neuen Methoden extrahieren
  • Change Method parameters – Signatur einer Methode interaktiv verändern (Parameterreihenfolge ändern)
  • Encapsulate Fields – Direktzugriffe auf Objektfelder in Getter- und Setter-Methoden wandeln
  • Pull Up – Eine Methode in die Superklasse verschieben
  • Push Down – Eine Methode in eine Subklasse verschieben
  • Move Class – Eine Klasse in ein anderes Paket verschieben
  • Move Inner to Outer Level – Eine innere Klasse in eine normale Klasse wandeln
  • Convert Anonymous Class to Inner – Eine anonyme Klasse in eine benannte innere Klasse wandeln
  • Extract Interface – Aus der Klassensignatur ein Schnittstellengerüst erzeugen
  • Extract Superclass – Aus einer Klasse eine Superklasse extrahieren
  • Use Supertype where Possible – Casts auf Superklassen umstellen
  • Safe Delete – Testet vor dem Löschen von Feldern, Methoden und Klassen, ob Verwendungen existieren

Natürlich werden alle Referenzen im gesamten Projekt angepasst, wenn ein Refactoring durchgeführt wird. Wenn also per Change Method parameters die Reihenfolge von Parametern geändert werden soll, wird im gesamten Quelltext jeder Aufruf entsprechend angepasst. Verschiebt man eine Klasse in ein anderes Paket, so passen sich mit dem Refactoring-Vorgang alle import-Befehle an.

Außerdem kann die Verwendung von Variablen, Parametern, Methoden und Klassen aufgelistet werden (Find usages). Mittels Fix Imports können Import-Anweisungen automatisch und interaktiv dem Quelltext hinzugefügt werden.

Zusätzliche Module erlauben das Auffinden von ungenutzten Variablen, leeren catch-Blöcken oder toten Methoden. Durch diese Module kann die bereits sehr mächtige Refactorfunktionalität von NetBeans weiter ausgebaut werden.

Das Refactoring für andere Sprachen wie C/C++ ist im Moment noch nicht so mächtig. Jedoch soll in den nächsten Versionen auch bei diesen ein vergleichbarer Funktionsumfang erreicht werden.

Profiler

Der Profiler wird seit Version 6.0 mitgeliefert.[4]

Um eine sichere, skalierbare Anwendung zu erstellen, benötigen Java-Entwickler ein Werkzeug, welches ihnen Informationen über das Laufzeitverhalten ihrer Anwendung zur Verfügung stellt. Der NetBeans Profiler ist solch ein Werkzeug. Innovative Techniken erlauben es dem Entwickler, seine Anwendung mit wenig Aufwand zu messen. Die Ergebnisse des Profilers sind klar strukturiert und einfach zu interpretieren. Die zu messenden Anwendungen können sich auf dem lokalen oder einem entfernten System befinden.

Folgende Funktionen beherrscht der Profiler:

  • Überwachung der CPU-Last, CPU-Geschwindigkeit und CPU-Ausführung
  • Speicherbenutzung
  • Speicherüberwachung mit Speicherlecktests
  • Überwachung von nebenläufigen Prozessen (Threads) und deren Status
  • Unterstützung für das JDK 1.4.2, JDK 5.0 und JDK 6.0
  • Profiling von laufenden Anwendungen
  • Speichern von Profiler-Abbildern für die nachträgliche Bearbeitung
  • Profiling von entfernten VMs (über Netzwerkprotokolle)

Durch die Integration in die IDE erlaubt es der Profiler Performance-Probleme und Speicherprobleme aufzuspüren.

Der Profiler basiert auf einem Forschungsprojekt der Sun Laboratories, welches sich speziell mit Analysetechniken für Java Anwendungen beschäftigt. Der Profiler nutzt diese Methoden um zur Laufzeit dynamisch den Bytecode zu untersuchen und mittels spezieller Algorithmen auszuwerten. Dadurch kann der NetBeans Profiler auch komplexe und große Java Anwendungen behandeln.

Der Profiler nutzt für eine geringe Belastung der Laufzeittests eine dynamische Laufzeit-Instrumentalisierung. Dabei bleibt das gespeicherte Programm unangetastet. Die Profiler-Marken für die statistischen Auswertungen werden vor dem Ausführen im Arbeitsspeicher hinzugefügt. Mit dynamisch ist gemeint, dass die Instrumentalisierung jederzeit aktiviert und deaktiviert werden kann, ohne eine Anwendung beenden oder neu starten zu müssen.

  • Schlanker Messprozess – Durch den Profiler können gezielt einzelne Abschnitte der Anwendung gemessen werden. Die restlichen Programmteile laufen ohne Beeinflussung des Profilers. Die zu messenden Teile der Anwendung und die Untersuchungsaspekte (CPU, Speicher,… ) können zur Laufzeit geändert werden.
  • Keine Beeinflussung der Programmausführung – Die Anwendung kann wie gewohnt gestartet und ausgeführt werden, ohne auf den Profiler Rücksicht zu nehmen. Der Profiler kann jeder Zeit zur Programmausführung hinzugeschaltet werden. Wenn der Messvorgang beendet ist, verbleiben keine Instruktionen innerhalb des Anwendungscodes.
  • Aufgabenbasiertes Profiling – Das Messen des Laufzeitverhalten einer Anwendung ist ein nicht einfach zu handhabender komplizierter Prozess. Der NetBeans-Profiler bringt einige Vorgaben mit, die Standardaufgaben (Monitoring, Speichernutzung,…) im Profiling bereits abdecken. In diesen Voreinstellungen sind bereits die wichtigsten Konfigurationen getroffen und es bedarf nur noch wenigen Anpassungen. Erfahrene Nutzer können selbstkonfigurierte Messungen durchführen.

Ant-Unterstützung

Das Projektsystem basiert auf einer starken Integration von Apache-Ant-Skripten. Diese können angepasst und auch mittels eines Debuggers kontrolliert werden.

Versionskontrolle

Durch NetBeans werden folgende Versionskontrollsysteme direkt unterstützt:[5]

Die Unterstützung fügt sich in den typischen Programmierworkflow ein und versteckt die abstrakte Bedienung mittels bekannter Befehle. Die IDE erkennt automatisch Arbeitsverzeichnisse und listet alle geänderten Dateien im Versioning Window auf. Die Versionsunterstützung ist ebenfalls in das Projektsystem und in die Refactoring-Funktionen integriert.

Typische Funktionen des Versionskontrollsystems sind direkt über das Kontextmenü zu erreichen. Die Verwaltung von mehreren Repositories und Branches ist auf einfache Weise möglich. Das Versioning Window zeigt einen Überblick über den Status von Dateien, Ordnern, Paketen und Projekten. Mit dem Kommando Diff können Unterschiede zwischen den einzelnen Versionen angezeigt werden. Zusätzlich zu dem Quelltext können auch Projektmetadaten verteilt werden.

Zusätzlich zu den entfernten Versionkontrollsystemen führt NetBeans für jeden Quelltext eine sogenannte Local History. Über diese ist es möglich auch ohne die Unterstützung einer Versionskontrolle Änderungen am Quelltext zu verfolgen und gegebenenfalls rückgängig zu machen.

Web Frameworks

Der Projektwizard umfasst Java Server Faces (JSF) und Struts. Dadurch ist es möglich, Projekte zu erstellen, welche eines der beiden Frameworks oder gar beide nutzen. NetBeans erzeugt automatisch alle notwendigen Konfigurationsdateien und kopiert alle benötigten Bibliotheken in die richtigen Verzeichnisse. Damit entfallen aufwendige Anpassungen der Buildskripts per Hand. Die automatische Vervollständigung unterstützt alle notwendigen Erweiterungen für diese Konfigurationsdateien. Der New File Wizard enthält Templates für JSF Managed Beans, Struts Actions oder Struts Form Beans. In bereits bestehende Projekte kann der „Framework support“ hinzugefügt werden.

Web Services

Mit der Unterstützung für Web Services ist es möglich, entsprechende Clients in J2SE Applikationen zu erzeugen. Die für die Erzeugung und den Betrieb von solchen Clients notwendigen Bibliotheken werden mit NetBeans ausgeliefert. Des Weiteren wird ein direkter Aufruf eines Web Service aus einer JSP unterstützt, ohne den Umweg über ein Servlet. Abgerundet wird das Paket mit einem neuen Wizard, welcher direkt in der IDE das Erstellen einer WSDL-Datei ermöglicht, die wiederum für die Generierung von speziellen, für einen Web Service relevanten Dateien genutzt werden kann.

Server

Es wird der Sun Java System Application Server (Versionen 8.1, 9.0 und 9.1) unterstützt, bzw. die Open-Source-Pendants zu den Versionen 9.x, GlassFish v1 und v2. Zusätzlich können JBoss 4 und WebLogic 9 in der IDE registriert werden, man kann damit seine Webanwendungen direkt zu diesen Application Servern hin entwickeln. Außerdem wurde Apache Tomcat stark integriert.

Standardmäßig sind Apache Tomcat sowie GlassFish v2 schon enthalten. Es gibt auch ein fertiges Bundle mit dem JBoss. Somit kann NetBeans sofort für die Webentwicklung eingesetzt werden.[6]

Developer Collaboration

Das Developer Collaboration erlaubt es Entwicklern und Programmieren, zeitgleich und in Echtzeit in einer Art Chat-Modus an einer Anwendung zu entwickeln (synchrone Collaboration). Alle angemeldeten Teammitglieder können sofort jegliche Änderungen direkt mitverfolgen, per Chat besprechen, Code Reviews durchführen oder gar das Projekt kompilieren. Das codeBeamer-Modul von NetBeans erlaubt zusätzlichen Informationsaustausch mit Hilfe von Trackern, Documentshares und Foren (asynchrone Collaboration).[7][8]

Entwicklung von NetBeans-Modulen

Die IDE bringt Assistenten für die Entwicklung von Modulen für NetBeans IDE und anderen auf der NetBeans-Plattform basierenden Anwendungen mit. So ist es sehr einfach möglich, komplexe Fat Clients zu entwickeln, die auf der NetBeans-Plattform gründen, oder auch Befehlserweiterungen für NetBeans zu programmieren. Jeder Benutzer kann eigene Module entwickeln und diese über den NetBeans Plugin Catalogue anderen zur Verfügung stellen.[9]

NetBeans Packs

Web & Java EE

Das „Web & Java EE“ oder auch „Enterprise Pack“ ist eine Erweiterung der IDE, die das Entwickeln von Java Enterprise-Anwendungen erleichtert.

Es ist nützlich für Entwickler, die Anwendungen basierend auf Serviceorientierter Architektur (SOA) schreiben, testen und debuggen, und dabei XML, BPEL, und Java Webservices benutzen. Das Pack enthält visuelle Design-Werkzeuge für UML Modellierung, XML schema, und Webservice-Orchestration, und es unterstützt sichere Webservices mit Identity Framework. Außerdem installiert es eine BPEL engine und einen Identity Management-Server als Teil der Sun Java System Application Server-Installation.

Mobility

Das „Mobility Pack“ und das „CDC Pack“ fügen der IDE Komponenten hinzu, die die Entwicklung, das Testen und Debuggen von Java-Anwendungen für mobile Endgeräte ermöglichen. Dazu zählen Handys, PDAs und alle Geräte, die die Java Micro Edition unterstützen.

Es stehen zwei spezialisierte Packs zur Verfügung: Das „Mobility Pack“ enthält das Java Wireless Toolkit, Emulatoren für mobile Endgeräte, und visuelle Designwerkzeuge für mobile Anwendungen; Es unterstützt die Connected Limited Device Configuration (CLDC) 1.0 und 1.1, Mobile Information Device Profile (MIDP) 1.0 bis 2.1 zum Beispiel für Handys. Das „CDC Pack“ unterstützt analog Connected Device Configuration (CDC) und Geräte mit „Personal Profile“.

Ruby

Das „Ruby Pack“ ermöglicht es Entwicklern, die IDE nicht nur für Java-, sondern auch für die Ruby-Entwicklung einzusetzen. Das bedeutet konkret:

  • Unterstützung für native Ruby, Ruby on Rails 2.0, und JRuby
  • Rake Unterstützung
  • Ruby Shell (IRB)
  • WEBrick
  • Mongrel web servers
  • Debugger für Ruby, JRuby und Ruby on Rails

C/C++

Das „C/C++ Development Pack“ ermöglicht es Entwicklern, die IDE nicht nur für Java-, sondern auch für die C- und C++-Entwicklung einzusetzen. Das bedeutet konkret:

  • C- und C++-Unterstützung im Editor
  • C/C++-Projekt-Vorlagen
  • Dynamischer Klassen-Browser
  • Erstellen und Einbinden von Makefiles
  • Debugger

UML Modelling

Das „UML Pack“ erweitert NetBeans um Modellierungsfähigkeiten für Software und andere Systeme. Das Pack erlaubt einen graphischen Entwurf von Strukturen und Komponenten im Sinne des objektorientierten Softwaredesigns. Der Support von UML Modellierung wurde mit der Version 6.8 vorübergehend eingestellt. Aktuell ist ein neues UML-Tool unter dem Codenamen Eidos in Entwicklung.

„Forward and Reverse Engineering“

Softwarearchitekten und -entwickler können mit Hilfe dieses Packs Anwendungen in UML entwerfen und aus den Modellen Javacode erzeugen. Ebenso können aus bestehenden Anwendungen UML-Diagramme abgeleitet werden. Im Entwicklungsprozess ist es möglich, die UML-Diagramme und den Anwendungscode durch eine Synchronisationsfunktion konsistent zu halten. Der erzeugte Code kann in neuen Quellcodedateien gespeichert oder in bestehende Dateien eingefügt werden (merge-mode).

UML-Diagramm-Typen

NetBeans UML Modeling unterstützt acht UML-Diagramme:[10]

  • Aktivitäten-Diagramm
  • Klassen-Diagramm
  • Kollaborations-Diagramm
  • Komponenten-Diagramm
  • Verteilungs-Diagramm
  • Interaktions-Diagramm
  • Zustands-Diagramm
  • Anwendungsfall-Diagramm

Alle Diagrammarten werden visuell im Editor erstellt und können in ihren Eigenschaften angepasst werden. Der Entwurfsprozess wird durch vordefinierte Modelle und Entwurfsmuster unterstützt (EJB 1.1, EJB 2.0 und Gang of Four).[10]

UML-Hilfswerkzeuge

Die Codeerzeugung für den Vorwärtsentwurf basiert auf Templates und kann entsprechend den Benutzerwünschen angepasst werden. Die Anforderungen der Anwendungen können als Parameter für den UML-Entwurf definiert werden. Dies geschieht über XML-Dateien oder durch den Import von Anforderungsdefinitionen externer Werkzeuge. Das Resultat des Entwurfsprozesses kann über Reportwerkzeuge anderen im Stile von JavaDoc zugänglich gemacht werden.

Plattform

Die NetBeans Platform ist eine Anwendungs-Laufzeitumgebung und kann als Basis für generische Desktop-Anwendungen auf Basis von Swing genutzt werden[11] (zum Beispiel die NetBeans IDE). Da die meisten Anwendungen ähnliche Anforderungen haben, wie zum Beispiel Menüs, Dokumentenmanagement, Änderungen von Einstellungen und ähnliches, stellt die NetBeans-Plattform entsprechende Funktionen für das Erstellen von Menüs etc. zur Verfügung. Der Entwickler erzeugt den Anwendungscode als ein oder mehrere NetBeans-Module und fügt diese der Plattform hinzu. Durch die NetBeans-Plattform kann der Entwickler sich auf die Programmierung der Geschäftslogik als wesentliche Aufgabe konzentrieren. Die entstehende Anwendung ist plattformunabhängig.

Einige Eigenschaften der Plattform:

  • User Interface Management – Fenster, Menüs, Symbolleisten und andere Komponenten werden durch die Plattform zur Verfügung gestellt. Dadurch kann sich der Entwickler auf die eigentlichen Aktionen konzentrieren, und der erstellte Code wird schlanker, besser und hat weniger Fehler. Wie in Swing üblich, kann die Plattform auch um eigene grafische Komponenten erweitert werden.
  • Daten- und Gestaltungsmanagement – Durch die Plattform wird bereits eine große Palette an Werkzeugen zur Verfügung gestellt, mit denen Daten angezeigt und manipuliert werden können.
  • Editor –Der NetBeans-Editor kann durch die Anwendung genutzt werden. Die Werkzeuge des Editors lassen sich schnell und einfach erweitern und auf die Anforderungen der Anwendung zurechtrücken.
  • Einstellungsverwaltung – Durch die NetBeans-Dateisysteminfrastruktur können abstrakte Daten verwaltet werden. Egal ob Dateien lokal vorliegen oder entfernt, via FTP, CVS oder in einer Datenbank, der Zugriff auf sie ist transparent und kann durch eigenen Arten der Datenspeicherung für die Plattform ergänzt werden. Alle Anwendungen, die auf der NetBeans-Plattform erstellt wurden, sind internetfähig.
  • Das Wizard Framework – Die NetBeans-Plattform bietet einfache Werkzeuge, um erweiterbare, anwenderfreundliche Assistenten zu erstellen, welche den Anwender durch komplexe Sachverhalte leiten.
  • Konfigurationsmanagement – Durch die NetBeans-Plattform werden sich wiederholende Aufgaben, wie der Remotedatenzugriff, das Management und die Speicherung, von Benutzerkonfigurationen übernommen. Somit besteht die Anwendung aus der Plattform und dem logischen Code, der die eigentliche Funktionalität bereitstellt.
  • Speichermanagement – Das Speichermanagement beruht auf der Abstraktion eines dateibasierten Datenzugriffs. Dateien oder „Files“ sind im NetBeans-Konzept lokale Dateien, entfernte Dateien auf einem FTP-Server, in einem CVS Repository oder in einer Datenbank. Durch die Abstraktion des Datenzugriffs ist der Zugriff auf Dateien für alle anderen Module transparent, sprich diese müssen sich nicht um den eigentlichen Datenzugriff kümmern, sondern können dies über das Speichermanagementmodul der Plattform realisieren.
  • Plattformunabhängigkeit – Da die Applikation-Plattform, wie die NetBeans-IDE, vollständig in der Sprache Java geschrieben ist, sind Anwendungen, die auf der NetBeans-Plattform basieren, von Natur aus nahezu unabhängig von einem Betriebssystem (soweit eine VM dafür portiert wurde). Dadurch laufen alle auf der NetBeans-Plattform basierenden Anwendungen auf allen Systemen, welche mit einer zu Java 2 kompatiblen virtuellen Maschine (1.3 und höher) ausgerüstet sind. Dies spart Entwicklungszeit und Kosten für Migrationen und erleichtert die Wartung sowie den Support für die Anwendung.

Geschichte

1996 entwickelten einige junge Studenten aus der Tschechischen Republik (siehe TECFA (englisch)) ein Projekt mit dem Namen Xelfi. Das Ziel dabei war es, Java-Entwicklern eine integrierte Entwicklungsumgebung zu bieten, welche der damaligen Borland Delphi IDE ähneln sollte. Die Studenten setzten sich als Hauptziel eine IDE, die insbesondere eine grafische Entwicklung der Anwendungsoberfläche (GUI) stark vereinfachen sollte.

Das Studentenprojekt Xelfi wurde schließlich zur Firma NetBeans. Die ersten kommerziellen Versionen wurden dann unter dem Namen Developer 2.0 und 2.1 veröffentlicht. Im Mai 1999 kam die Developer Beta 3.0 auf den Markt. Allerdings erschien nie die endgültige Version des NetBeans Developer 3.0, da im Oktober die Firma NetBeans von Sun Microsystems übernommen wurde. Wenige Zeit später veröffentlichte Sun das Programm „Forté for Java Community Edition IDE“, welches auf dem Developer 3.0 basierte. Der Name Forté wurde gewählt, weil Sun zu dem Zeitpunkt ebenfalls eine Firma für Komponentenentwicklung namens Forté akquiriert hatte. Im Juni 2000 wurde Forté wieder unter den Namen NetBeans der Open-Source-Gemeinde zur Verfügung gestellt.

Zu der frei verfügbaren NetBeans-IDE-Version gab es weitere kostenpflichtige Versionen, z.B. Sun ONE Studio und den Sun Java Studio Creator, die für spezielle Funktionen und durch Plugins für Web-Server-, HTML-Entwicklung, UML oder SOA erweitert wurden. Seit November 2005 wurden alle SUN Java IDE Produkte einheitlich in NetBeans als Plugin integriert.[12] Nach der Übernahme von Sun Microsystems durch Oracle werden die IDE Produkte ONE Studio und den Java Studio Creator unter der Marke Oracle weitergeführt.

Weitere Java-IDEs

Literatur

  • Heiko Böck: NetBeans Platform 7 – Das umfassende Handbuch. Galileo Computing, 2011, ISBN 978-3-8362-1731-6. (deutsch)
  • Heiko Böck: NetBeans Platform 6 – Rich-Client-Entwicklung mit Java. Galileo Computing, 2007, ISBN 3-8362-1066-5. (deutsch)
  • Geertjan Wielenga, Jaroslav Tulach und Tim Boudreau: Rich Client Programming – Plugging into the NetBeans Platform. Prentice Hall, 2007, ISBN 0-13-235480-2. (englisch)
  • Tim Boudreau, Jesse Glick, Simeon M. Greene, Vaughn Spurlin und Jack J. Woehr: NetBeans – The Definitive Guide. O'Reilly Media, 2002, ISBN 0-596-00280-7. (englisch)
  • Patrick Keegan, Ludovic Champenois, Gregory Crawley: NetBeans IDE Field Guide. Prentice Hall PTR, 2006 (second edition), ISBN 0-13-239552-5. (englisch)

Eine Liste von Büchern über NetBeans und Java Büchern, die NetBeans nutzen, findet sich auf den NetBeans-Internetseiten.

Weblinks

 Commons: NetBeans – Sammlung von Bildern, Videos und Audiodateien

NetBeans-Seiten

weiterführende Verweise

Einzelnachweise

  1. „Dual Licensing NetBeans IDE 6.0 under the CDDL and GPLv2 with Claspath Exception“
  2. Verfügbare NetBeans-Plugins
  3. a b c Bericht auf Entwickler.de Oktober 2006
  4. Webseite des NetBeans-Profiler-Projektes
  5. http://www.netbeans.org/features/ide/collaboration.html Ausführliche Informationen zum Thema Versionskontrolle in NetBeans
  6. www.netbeans.org
  7. Informationen zu NetBeans Developer Collaboration (englisch)
  8. Informationen zur asynchronen Collaboration innerhalb NetBeans (englisch)
  9. NetBeans Plugin Catalogue
  10. a b NetBeans UML modeling features
  11. http://platform.netbeans.org/screenshots.html NetBeans Platform Showcase
  12. „NetBeans to pick up where Sun Java Studio leaves off“

Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • NetBeans IDE — NetBeans Скриншот NetBeans 6.7 Тип J …   Википедия

  • NetBeans — IDE Screenshot  …   Wikipedia

  • NetBeans — IDE NetBeans IDE 6.0 Basisdaten Entwickler: Sun Microsystems Aktuelle Version …   Deutsch Wikipedia

  • Netbeans — IDE NetBeans IDE 6.0 Basisdaten Entwickler: Sun Microsystems Aktuelle Version …   Deutsch Wikipedia

  • NetBeans — 6.9 ejecutando un programa escrito en Java. Desarrollador …   Wikipedia Español

  • NetBeans — Скрин …   Википедия

  • NetBeans — NetBeans …   Wikipédia en Français

  • Netbeans — NetBeans …   Wikipédia en Français

  • NetBeans BlueJ Edition — is an integrated development environment (IDE) meant to transition students from the introductory IDE BlueJ to the more professional IDE NetBeans. The first release of the IDE is now available for download. NetBeans BlueJ Edition versus BlueJ… …   Wikipedia

  • NetBeans — noun proper name of both a platform framework for Java network applications and an IDE …   Wiktionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”