NetBeansStarterDe

Einstieg in die Entwicklung mit NetBeans: Grundlagen

Motivation

(english readers please see NetBeansStarterDeAbout)

NetBeans ist spätestens in der Version 6.0 zu einer leistungsfähigen, flexiblen und stabilen Entwicklungsumgebung gereift, die sich insbesondere für die Anwendungsentwicklung in Verbindung mit Java EE 5 - Technologien und Glassfish V2 bzw. dem Sun Java System Application Server aufgrund der guten Unterstützung dieser Technologien geradezu anbietet.

An dieser Stelle sollen Informationen gesammelt werden, die den Einstieg in die Arbeit mit NetBeans im Hinblick auf verschiedene Entwicklungsaufgaben erleichtern, grundlegende Informationen zum Werkzeug vermitteln und auch einen (oberflächlichen) Einblick in die Anpassung und Erweiterung von NetBeans (mit eigenen Modulen) bieten und damit die Übernahme der IDE in die tägliche Entwicklungstätigkeit unterstützen.


Wozu eine IDE?

Nicht immer wird die Notwendigkeit eines Entwicklungswerkzeugs wie NetBeans, Eclipse oder JDeveloper sofort erkannt. Nicht selten begegnet man auch im professionellen Umfeld durchaus noch der Meinung, mit der Verbindung "JDK+ant+Text-Editor" sei der gesamte Werkzeugbedarf eines Java-Entwicklers abgedeckt und eine "große, schwere" Umgebung nur unnötiger Ressourcenverbrauch für effektiv denselben Zweck. Daß es, entgegen dieser Ansicht, sehr gute Gründe für den Einsatz einer IDE gibt, läßt sich relativ schnell aufzeigen:

Zum einen ist der "JDK+ant+Text-Editor" - Blick sicher zutreffend, aber zu kurzsichtig. In den meisten Fällen wird das Set der Werkzeuge, die mehr oder weniger regelmäßig zum Einsatz kommen, sehr viel größer sein und beinhaltet beispielsweise...

  • den allgegenwärtigen Web-Browser zur Anzeige von API-Dokumentation des JDK und anderer im Projekt verwendeter Bibliotheken,
  • File-Manager (wie den Windows-Explorer) zur Verwaltung der Dateien und Verzeichnisse, die zu einem oder mehreren Projekten gehören,
  • in vielen Fällen Versioning-Tools wie Subversion, Mercurial oder CVS,
  • Client-Werkzeuge zur Fernsteuerung von Java EE - Applikationsservern, etwa zum (Un)Deployment, Start, Stop oder Konfiguration von Anwendungen und sonstigen Ressourcen,
  • Collaboration-Software zur Kommunikation in Entwicklerteams,
  • Anwendungen zum Zugriff auf SQL-Datenbanksysteme im Backend, zur Sichtung und Manipulation von Datenbanken und Tabellenstrukturen und, im einfachsten Fall, auch
  • die Vielzahl geöffneter Unix-xterm's, in denen Logfiles von Anwendungen und Servern per 'tail' ausgegeben werden.


Die Vielzahl der zweckgebundenen Werkzeuge selbst stellt erst einmal kein grundlegendes Problem dar, gegeben, daß man in den seltensten Fällen den gesamten Leistungsumfang aller Tools benötigt oder kennen muß. Interessanter wird die Umgebung hingegen, wenn man versucht, mit einer derartige, durch viele nebeneinander betriebene und "lose gekoppelte" Werkzeuge geprägte Struktur weitergehende Wünsche an die Werkzeuge umzusetzen, etwa...

  • ... den "Klick" auf den Klassennamen im Stacktrace des Logfiles, der dafür sorgt, daß die betreffende .java-Datei automatisch im Editor geöffnet und die "richtige" Zeile dargestellt wird;
  • ... das Übersichtsfenster, in dem man sich (idealerweise auch per einfachen "Knopfdruck") die Änderungen anzeigen kann, die die relevanten Projekte seit dem letzten Subversion-Commit erfahren haben;
  • ... den Assistenten, mit dessen Hilfe man Entity-Klassen erzeugen möchte auf Basis einer Tabelle in einer gegebenen SQL-Datenbank, oder
  • ... die Erweiterung des Text-Editors, die einem auf Wunsch den zur gerade aufgerufenen Methode eines Objektes gehörende API-Dokumentation "inline" anzeigt.


An solchen Stellen zeigen IDEs wie NetBeans ihre eigentliche Leistungsfähigkeit, die vorrangig Ausdruck findet im "I" für "integrated": Gut aufeinander abgestimmte Werkzeuge reduzieren die Menge von "Brüchen" in Bedienung, Oberfläche, Usability, ... und sorgen dafür, daß der Entwickler ungestörter und effektiver seiner eigentlichen Arbeit (der Implementation von Geschäftslogik) nachgehen kann.


Oberflächliches

NetBeans 6.0 bietet als Entwicklungsumgebung sehr weitreichende Integration sehr verschiedener Werkzeuge in einer sehr guten und konsistenten Bedien-Oberfläche, die, nach Programmstart, in etwa folgendes Erscheinungsbild bietet:

File:NetBeansStarterDe/01-main NetBeansStarterDe.jpg

Per Voreinstellung ist der Bildschirm dabei in folgende Bereiche aufgeteilt: File:NetBeansStarterDe/02-explore NetBeansStarterDe.jpg Der "Explorer"-Bereich dient allgemein der Übersicht über Ressourcen, die innerhalb der Entwicklungsarbeit Verwendung finden. In der Ausgangskonfiguration angezeigt wird hier

  • ... "Projects" - die Sicht auf geöffnete Entwicklungsprojekte, wobei die Ressourcen im Projekt semantisch gruppiert (Java-Quellen, Konfigurationsdateien, sonstige Ressourcen, Bibliotheken im Classpath, ...) dargestellt werden;
  • ... "Files" - eine Darstellung analog zu "Projects", wobei hier die tatsächliche Struktur des Projektes als Verzeichnis im Dateisystem abgebildet wird, und
  • ... "Services" - zum Zugriff und zur Verwaltung von Diensten, die um die Entwicklungsprojekte herum existieren und von Relevanz sind, etwa SQL-Datenbanken, entfernte oder lokale (Anwendungs-)Server, Web Services usw..

File:NetBeansStarterDe/03-navigator NetBeansStarterDe.jpg

"Navigator" bietet schnelle Übersicht über die Struktur der derzeit in Bearbeitung befindlichen Ressource (etwa Konstruktoren, Eigenschaften und Methoden-Definitionen in Java-Klassen).

File:NetBeansStarterDe/04-output NetBeansStarterDe.jpg Im "Output"-Bereich zeigen sich im Betrieb der IDE verschiedene Fenster, die alle Arten von Ausgaben beinhalten:

  • Log-Files von lokalen Servlet-Containern oder via IDE gestarteten Application-Servers
  • System.out/.err für aus der IDE heraus gestartete Java-Anwendungen
  • Ergebnisse von Operationen im Versions-Management (Commit/Update),
  • Ergebnisse der Text-Suche über offene Projekte usw.

File:NetBeansStarterDe/05-edit NetBeansStarterDe.jpg Der größte Bereich des IDE-Fensters ist vorgesehen für "Editor"en, in denen verschiedene Dateitypen mit sinnvoller Weise bearbeitet werden können. Die Sammlung verfügbarer Editor-Komponenten reicht hierbei von text-orientierten Werkzeugen zur Bearbeitung von Quelltext verschiedener Programmiersprachen bis hin zu vielen Arten visueller Werkzeuge etwa zum Gestalten von Benutzeroberflächen, grafischen Editieren von XML-Dokumenten oder Erstellen von Modellen unter Verwendung von UML.


Projekte und Dateien in NetBeans

Wie die meisten anderen IDEs auch verwendet NetBeans das Konzept des "Projektes", um Anwendungs-Code, Konfigurationsdateien und sonstige Ressourcen, die in einer ausführbaren oder verteilbaren Einheit (etwa einer .jar-Datei) zusammengefaßt werden müssen, zur Entwicklungszeit zu verwalten. Projekte gehören üblicherweise einem der vielen von NetBeans unterstützen Projekttypen an, die sich u.a. in Anwendungsbereich (Web, Java SE, Java EE, ...) und verwendeter Programmiersprache (Java, Ruby, Groovy, PHP, ...) unterscheiden und entsprechend eine eigene Struktur aufweisen, die den konkreten Anwendungsfall berücksichtigt (etwa die Unterstützung von Deployment Descriptors bei der Entwicklung im Java EE-Umfeld).

Auf der Festplatte wird ein Projekt durch ein Verzeichnis repräsentiert, in dem (bzw. in dessen Unterverzeichnissen) sämtliche zugehörigen Artefakte zu finden sind. Für neue Projekte wird NetBeans automatisch ein Verzeichnis unterhalb des Ordners "NetBeansProjects" im Home-Verzeichnis des aktuellen Benutzers vorschlagen, indes ist diese Vorgabe nicht zwingend. Die tatsächliche Struktur der Objekte auf Festplatte kann mittels "Files"-Window durchsucht werden. "Projects" stellt eine abstrakte Sicht auf diese Struktur dar, die verschiedene Objekte im Projektverzeichnis (build.xml, kompilierte Java-Klassen, ...) ausblendet und dafür die Sicht auf andere Elemente integriert, etwa .jar-Dateien im Classpath des Projektes.


Über "File" -> "New Project" können in der IDE neue Projekte generiert werden, wobei im ersten Schritt der Typ für das zu erzeugende Projekt auszuwählen ist:

File:NetBeansStarterDe/06-project NetBeansStarterDe.jpg


Weiterführende Dokumentation

Die Arbeit mit verschiedenen, interessanten Projekttypen soll im Folgenden vertieft werden:


Hilfe online

Neben den Support-Angeboten von Sun Microsystems existiert um NetBeans herum eine wachsende, aktive Community, die im Falle von Fragen, Problemen oder Startschwierigkeiten jederzeit gern hilft. Insbesondere interessant:

  • NetBeans Knowledge Base - enorm umfangreiche, qualitativ hochwertige offizielle Dokumentation auf netbeans.org; weitestgehend englisch, aber grundsätzlich die erste Anlaufstelle für alle Fragen
  • NetBeans Community Documentation - Tutorials und Artikel, größtenteils englisch, zu verschiedenen speziellen Themen der Arbeit mit NetBeans
  • NetBeans - Mailinglisten, insbesondere 'nbannounce@netbeans', 'nbusers@netbeans' und 'nbweekly@netbeans' sollte man abonniert haben.
  • NetBeans-Forum - deutschsprachiges Web-Forum für NetBeans IDE, Platform, und Community.
  • Planet NetBeans - Aggregator für Einträge aus NetBeans-relevanten Blogs weltweit, oft mit interessanten Informationen insbesondere zu neuen Technologien
  • NetBeans Collaboration - IM-System (Jabber-Client) zur Integration via Plugin in NetBeans (Collab Quickstart)
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo