- NetBeans
-
NetBeans IDE
NetBeans IDE 6.0Basisdaten Entwickler: Sun Microsystems Aktuelle Version: 6.5.1
(6. März 2009)Betriebssystem: plattformunabhängig Programmiersprache: 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 und unterstützt unter anderem 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, ständig wachsenden Community und über 100 Partnern weltweit ist NetBeans eine der führenden integrierten Entwicklungsumgebungen.
Inhaltsverzeichnis
- 1 NetBeans IDE im Detail
- 2 NetBeans Packs und Plattform
- 3 Geschichte
- 4 Quellen
- 5 Literatur
- 6 Weblinks
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, Groovy, JavaScript, Ruby, PHP und Python. In Form von Plugins kann Netbeans auch um Sprachen wie Adobe Flex, Clojure, Coco/R, JavaMath, JavaFX, Perl, PL/SQL, Reguläre Ausdrücke, Scala, SmartFrog, 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 speziellen 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.
Einen Überblick über verfügbare NetBeans-Module finden Sie hier.
Packs
Im Gegensatz zu den Plugins, erweitern die so genannten „Packs“, das Einsatzgebiet der IDE auf Bereiche wie Mobile-, Enterprise- und C/C++-Entwicklung [2]. 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 vorherein mit der Basis-IDE ausgeliefert werden[2], 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 (UML Modellierung und Design)
- SOA und die (Werkzeuge für die Nutzung dienstorientierte 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.[2]
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. D. h., 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 Schemas (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 Farbschemas (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.[3]
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. Durch innovative Techniken erlaubt 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:[4]
- CVS
- SubVersion (SVN)
- Mercurial
- ClearCase (über den Plugin Manager)
Die Unterstützung fügt sich in den typischen Programmierworkflow ein und versteckt die abstrakte Bedienung mittels bekannter Befehlen. 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 Versionskontrollsystemen sind direkt über das Kontextmenü zu erreichen. Die Verwaltung von mehrere 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. D. h., man kann seine Webanwendungen direkt zu diesen Application Servern hin entwickeln. Außerdem wurde Apache Tomcat stark integriert.
Standardmäßig sind der 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.[5]
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(assynchrone Collaboration).[6][7]
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.[8]
NetBeans Packs und Plattform
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 anderen Systemen. Das Pack erlaubt einen graphischen Entwurf von Strukturen und Komponenten im Sinne des objektorientierten Softwaredesigns.
„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 werden oder in bestehende Dateien eingefügt werden (merge-mode).
UML-Diagramm-Typen
NetBeans UML Modeling unterstützt acht UML-Diagramme [9]:
- 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).[9]
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 eine generische große Desktop-Anwendung genutzt werden (zum Beispiel NetBeans IDE). Die meisten Anwendungen haben ähnliche Anforderungen: Menüs, Dokumentenmanagement, Änderungen von Einstellungen und ähnliches. Die NetBeans-Plattform stellt Funktionen für das Erstellen von Menüs oder das Generieren von Code für das Speichern von Einstellungen zur Verfügung. Der Entwickler erzeugt seinen Anwendungscode als ein NetBeans-Modul und fügt dieses der Plattform hinzu. Die entstehende Anwendung ist plattformunabhängig. Durch die NetBeans-Plattform kann der Entwickler sich auf die Programmierung der Geschäftslogik als wesentliche Aufgaben konzentrieren.
Einige Eigenschaften der Plattform sollen kurz vorgestellt werden:
- 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
Im Jahr 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 sehr schnell 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 1999 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 den frei verfügbaren NetBeans-IDE-Version gab es weitere kostenpflichtige Versionen. Zum Beispiel 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. [10]
Quellen
- ↑ „Dual Licensing NetBeans IDE 6.0 under the CDDL and GPLv2 with Claspath Exception“
- ↑ a b c Bericht auf Entwickler.de Oktober 2006
- ↑ Webseite des NetBeans-Profiler-Projektes
- ↑ http://www.netbeans.org/features/ide/collaboration.html Ausführliche Informationen zum Thema Versionskontrolle in NetBeans
- ↑ www.netbeans.org
- ↑ Informationen zu NetBeans Developer Collaboration (englisch)
- ↑ Informationen zur assynchronen Collaboration innerhalb NetBeans (englisch)
- ↑ NetBeans Plugin Catalogue
- ↑ a b NetBeans UML modeling features
- ↑ „NetBeans to pick up where Sun Java Studio leaves off“
Literatur
- 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
NetBeans-Seiten
- netbeans.org (englisch)
- Netbeans Wiki (english)
- Produktseite für die neueste NetBeans Version (englisch)
- Downloadseite für die NetBeans Plugins (englisch)
- Alle Tutorials und Artikel
- Buchliste zu NetBeans
weiterführende Verweise
Wikimedia Foundation.