Das neue NetBeans 7.0 Release

Vorbereitungen für JDK 7

Anton Epple
Fehlstellen – JUnit, JavaFX und der Ruby Support

Eine erste kuriose Änderung erwartet den User direkt nach dem Start der frisch installierten Entwicklungsumgebung. Die IDE empfiehlt per Dialog die JUnit-Bibliotheken zu installieren. Das kann man dann zwar ganz bequem per Knopfdruck erledigen, aber wie bisher mitgeliefert werden die Bibliotheken nicht. Der Grund dafür sind rechtliche Bedenken ob der von JUnit verwendeten Common Public License (CPL).

In der Praxis macht sich das aber nicht bemerkbar, der JUnit Support hat sogar einige nette Updates erhalten, die sich am typischen Arbeitsablauf bei Unit-Tests orientieren.

In NetBeans 7.0 ist es möglich beim Rerun nur die Tests auszuführen die beim letzten Testlauf fehlgeschlagen waren. Das beschleunigt in der Praxis das Bugfixing ganz erheblich. Sehr praktisch ist auch die Möglichkeit einzelne Testmethoden isoliert aufzurufen. Dazu wählt man im Kontextmenü des Editors „Run-Focused-Test“. Ebenfalls neu ist, dass die Testergebnisse in der Ergebnisansicht nach fehlgeschlagenen und erfolgreichen Tests gefiltert werden können.

Bereits im Vorfeld des Releases wurde bekannt, dass NetBeans den Ruby Support einstellt. Das ist einerseits schade, andererseits war zu erwarten, dass durch limitierten Ressourcen und die Konzentration auf die Java-Entwicklung, als Kernaufgabe der IDE, die Unterstützung anderer Sprachen auf den Prüfstand gestellt werden würde. Offenbar rechtfertigten die Nutzerzahlen nicht weiterhin Ressourcen an das Projekt zu binden. Es wird nun von der Community weitergeführt. Tom Enebo, einer der Leiter des JRuby Projektes, hat die Koordination übernommen. Gegenwärtig steht das Plugin jedoch nicht in den voreingestellten Modulquellen zur Verfügung. Um Ruby weiterhin in NetBeans zu nutzen, muss ein eigenes Updatecenter registriert werden .

JavaFX-Support sucht man im neuen NetBeans ebenfalls vergeblich. Nachdem JavaFX-Script als eigenständige Sprache eingestellt wurde, wurde die JavaFX Unterstützung temporär aus der IDE entfernt. Die entsprechenden Module werden derzeit an das bevorstehende JavaFX 2.0 Release angepasst. JavaFX 2.0 ist gegenwärtig nur für registrierte Partner als Early-Access-Version verfügbar. Das Release wird in der zweiten Jahreshälfte erwartet. Dann wird es allerdings spannend, zumal erste Tests mit der Swing-Integration bereits recht viel-versprechend aussehen. Wer JavaFX Anwendungen für das aktuelle Release 1.3 entwickeln möchte, sollte also die alte NetBeans Version nicht vorschnell deinstallieren.

Im Netz – Java EE und der Oracle Stack

Gerade bei der Entwicklung von Java EE Anwendungen, ist NetBeans der Konkurrenz ein Stückchen voraus. Auch hier wurde weiter an Verbesserungen gearbeitet. Vor allem die Änderungen zur Generierung und Regenerierung von Code aus JPA-Quellen wurde überarbeitet und die Generieung von RESTful Web Services einer Revision unterzogen.

Neu ist die Unterstützung von Bean Validation durch Wizards, zur Erzeugung von Constraints und Konfigurationsdateien. Im neuen Release wird Primefaces als JSF-Komponentenbibliothek mitgeliefert. Als Websprache wird nun auch HTML 5 unterstützt.

Die meisten Änderungen sind aber in den Expression-Language-Editor geflossen, der im neuen Release deutlich komfortabler geworden ist. Unter anderem ist ein Refactoring zum Umbenennen von Properties und Methoden dabei. Auch das Highlighten von Referenzen wurde hinzugefügt und zahlreiche kleine Erweiterungen erleichtern die Arbeit mit Resource-Bundles. So wird der aufgelöste Schlüssel im Editor als Tooltiptext angezeigt.

Für Oracle ist weiterhin JDeveloper das strategische Tool für die Entwicklung von Anwendungen für den Oracle Stack. Trotzdem wurde in diesem Release auch die Anbindung von NetBeans verbessert. In der neuen Version wurde die Einbindung des hauseigenen Weblogic-Servers nach dem Vorbild der Glassfish-Integration verbessert. Registrierte Server Instanzen werden mit ihren installierten Anwendungen in der IDE angezeigt und Features wie „Deploy On
Save“ stehen nun auch hier zur Verfügung. Auch die Unterstützung von Oracle-Datenbanken wurde verbessert. Entwickler können nun direkt auf Trigger, Funktionen und Stored Procedures des Servers zugreifen und diese im Editor ändern und zurückspeichern.

Basisarbeit – Die NetBeans Platform

Auch die NetBeans Platform selbst, Grundlage der Entwicklungsumgebung und vieler Desktopanwendungen wurde weiter verbessert. Insbesondere wurden eine Reihe von Annotationen eingeführt, die das manuelle Editieren von XML-Konfigurationsdateien überflüssig machen. Aktionen können so deklarativ in Menüs, Toolbars und Kontextmenüs registriert werden und auch Position und Darstellung von Anwendungsfenstern können nun direkt innerhalb der Klasse festgelegt werden. NetBeans setzt dabei auf Annotationsprozessoren, die während des Kompilierens die benötigten Dateien erzeugen. So ist gewährleistet, dass Konfiguration und Implementation immer synchronisiert bleiben, ohne die Zusatzkosten von Annotationen die per Introspection erst zur Laufzeit ausgewertet werden.

Bislang wurden in NetBeans beim Wechsel von der IDE zu einem anderen Fenster und zurück die Projektverzeichnisse nach externen Änderungen durchsucht. Statt dessen werden nun native Listener eingesetzt, wenn das Betriebssystem dies unterstützt, um die Performance beim Test zu verbessern. Daneben gibt es noch einige kleinere Verbesserungen wie einen neuen IconView zur Darstellung von Nodehierarchien und eine einfache neue API, um auf die Proxykonfiguration des Rechners zuzugreifen.

Modellpflege – Maven, ANT und GIT

Natürlich wurden auch eine Reihe von integrierten, externen Tools auf die aktuelle Version aktualisiert. Die integrierte ANT Version wurde auf 1.8.2 aktualisiert und Maven 3 wurde eingebunden. Beim Maven-Support gibt es viele kleinere und größere Verbesserungen. Unter anderem können langlaufende Prozesse nun abgebrochen werden und der Build kann, auch von tief verschachtelten Unterprojekten aus mit allen Abhängigkeiten gestartet werden.

Völlig neu hinzugekommen ist der Support für GIT zur Versionsverwaltung. GIT, das seinen Focus als verteiltes Versionierungssystem auf Geschwindigkeit und Einfachheit legt wird in Entwicklerkreisen zunehmend populär. Das Plugin ist noch nicht Teil der Distribution kann aber aus den vor-registrierten Updatecentern mit wenigen Klicks nachinstalliert werden. Das Plugin basiert auf der Mercurial-Integration und bietet ähnlich wie dieses zahlreiche visuelle Hinweise und Tools zur Bearbeitung von Aktualisierungen und Versionierungskonflikten. Der Einsatz von GIT ist in einem ausführlichen, neuen Tutorial beschrieben.

Fremdsprachen- PHP und C/C++

Im Unterschied zu Ruby wird die PHP-Entwicklung in der IDE weiterhin unterstützt. Sie hat in diesem Release ein größeres Update erfahren. Im neuen Release kann von einer Datei aus über ein Kontextmenü das zugehörige PhpDoc erzeugt werden. Sehr praktisch sind auch zwei neue Refactorings zum sicheren Löschen und zum Umbenennen von Typen, Methoden und Konstanten. Sehr praktisch ist auch die neue Möglichkeit PHP-Dateien zu öffnen und auszuführen, die nicht zu einem Projekt gehören.

In der C/C++ Welt hat sich ebenfalls einiges getan. Vor allem wird das Arbeiten mit entfernten Hosts besser unterstützt. So kann das FileSystem des Hostrechners innerhalb der IDE durchsucht werden oder der Entwickler kann sich direkt über ein Terminal auf den Host verbinden. Die Quelldateien können bei der Arbeit an einem Remote-Projekt auf dem Host verbleiben.

Fazit

Insgesamt ist NetBeans 7.0 ein solides Update ohne spektakuläre Überraschungen. Das NetBeans-Team hat sich mit dem neuen Release auf die wesentlichen Eigenschaften einer Java-Entwicklungsumgebung konzentriert. Die IDE wurde erwartungsgemäß besser mit dem Oracle-Stack integriert und an aktuelle Versionen vieler verwendeter Tools und Bibliotheken angepasst. Die hervorragende Java EE-Unterstützung wurde verbessert und ausgeweitet. Die meiste Arbeit wurde aber in der Unterstützung der nächsten Version der JDK geleistet. Das ist eine notwendige Vorbereitung und praktisch zum Testen der neuesten Sprachfeatures und APIs. Einige kleine Verbesserungen, vor allem bei der Verwendung Unittests machen sich im täglichen Gebrauch schnell positiv bemerkbar. Unter den Neuentwicklungen ist vor allem die GIT-Unterstützung ein wichtiger Schritt vorwärts. Das neue Release ist damit vor allem eine praktische Verbesserung, die sich auf die tatsächlichen Kernaufgaben der IDE konzentriert und einiges an Verbesserungen für den alltäglichen Gebrauch mitbringt.

Anton Epple arbeitet als freiberuflicher Java Consultant und Trainer in
München. Seit mehr als sieben Jahren leitet er die Entwicklung von Java
Desktop Applikationen. Als aktives Mitglied der Open Source Community wurde
er 2007 Leiter der JavaTools Community auf java.net. Seit mehreren Jahren
beschäftigt er sich spezialisiert intensiv mit der NetBeans Platform und
wurde 2008 zum Mitglied des NetBeans Dream Teams ernannt.
Geschrieben von
Anton Epple
Kommentare

Schreibe einen Kommentar

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