Depuis lors, la fondation open source a poursuivi le développement de l'EDI et Apache NetBeans 9.0 est la première version sous sa tutelle. C'est un EDI complet pour le développement Java SE. Il comprend tous les modules qui constituent ensemble la plateforme NetBeans (c'est-à-dire le framework sous-jacent), ainsi que tous les modules qui fournissent les fonctionnalités liées à Java SE d'Apache NetBeans (Java Swing, JavaFX, etc.).
Après une release candidate fin mai, Apache NetBeans 9.0 est généralement disponible avec des fonctionnalités comme le support de l'inférence de type des variables locales et le support du système de module Jigsaw, entre autres.
Support de l'inférence de type des variables locales
L'inférence du type des variables locales est une fonctionnalité ajoutée dans le JDK 10 pour étendre l'inférence de type aux déclarations de variables locales avec des initialiseurs. En supportant cette fonctionnalité, Apache NetBeans 9.0 va fournir des conseils et refactorisations pour transformer un type explicite vers le nouveau type "var" et vice versa.
Netbeans suggère de convertir un type de variable explicite en 'var'
Netbeans suggère de convertir un type var en un type explicite
Le type var n'est pas pris en charge pour la déclaration de plusieurs variables simultanément. Dans ce cas, pour vous aider à corriger les erreurs de compilation, Apache Netbeans 9.0 va donc suggérer de scinder en plusieurs instructions de telles déclarations.
Le type var n'est pas non plus pris en charge pour l'initialiseur de tableau. Apache Netbeans 9.0 va donc ici également vous suggérer de remplacer le type var par un type explicite en identifiant le type de données dans le tableau.
Support du système de module Jigsaw
Le système de module Java (Jigsaw), qui constituait la fonctionnalité la plus importante introduite dans le JDK 9 publié en septembre dernier, est supporté par Apache Netbeans 9.0. Son support se traduit notamment par l'introduction d'un certain nombre de changements, à savoir :
- la possibilité pour un projet NetBeans Java SE standard (Ant) de devenir un module JDK unique en ajoutant simplement module-info.java dans le package par défaut ;
- l'ajout d'un nouveau type de projet : Java Modular Poject. Cela permet de développer plusieurs modules JDK dans un projet NetBeans (basé sur Ant). L'avantage de ce projet par rapport à plusieurs projets Java SE contenant chacun un module est que les dépendances sont gérées plus simplement et tous les modules du projet sont compilés en même temps ;
- une option Modulepath pour activer l'utilisation de modules, en plus de l'option Classpath qui définit à une machine virtuelle Java le chemin d'accès au répertoire où se trouvent les classes et les packages Java afin qu'elle les exécute. Avec Modulepath, il est désormais possible de fournir des répertoires contenant des modules ;
- le support du cycle Edit-Compile-Debug-Profile dans les modules ;
- la possibilité d'afficher les dépendances de modules dans l'EDI ;
- chaque projet Java SE (avec module-info.java) ou Java Modular App peut être empaqueté dans une image JLink permettant une distribution transparente de l'application et des modules requis.
Autres changements
En plus du support de l'inférence de type des variables locales et des modules, NetBeans 9.0 viendra avec une interface utilisateur intégrée de type console pour Java Shell, en exploitant les capacités de l'éditeur NetBeans. Rappelons que Java Shell est un outil introduit dans le JDK 9 pour apporter des capacités REPL (Read-Eval-Print-Loop) à Java.
On notera encore, parmi les principales nouveautés, des améliorations pour le profileur Java, y compris ses résultats. En effet, des actions pour développer et réduire les nœuds ont été ajoutées aux résultats de la table arborescente du profileur. À cela s'ajoute le fait que les fenêtres contextuelles utilisées pour configurer le profileur ou filtrer les résultats peuvent désormais être redimensionnées, ce qui facilite la gestion des noms de classe ou de méthode qui sont plus longs.
Lors de de la sortie de la version bêta, la fondation Apache avait également mis en avant d'autres fonctionnalités dans divers domaines :
- au niveau de PHP : support de PHP 7.1, y compris la visibilité des constantes de classe, la gestion des exceptions par capture multiple, les types nullables et la coloration pour de nouveaux mots-clés (void, iterable), ainsi que d'autres améliorations du support de PHP ; et
- côté C / C++ : support du débogueur natif dxb dans le débogueur C / C++, support de l'outil de formatage automatique populaire clang-format dans l'éditeur C / C ++ et support expérimental de nouveaux diagnostics basés sur Clank (Java clang).
Apache Netbeans 9.0 est disponible en téléchargement sur le site de la fondation. Précisons également que Netbeans n'est pas encore officiellement un projet à part entière de la fondation Apache, mais est en cours de le devenir.
Sources : Communiqué de la fondation Apache, Nouveautés d'Apache Netbeans 9.0
Et vous ?
Utilisez-vous NetBeans ? Que retenez-vous de cet EDI ?
Que pensez-vous des nouveautés d’Apache NetBeans 9.0 ?
Voir aussi :
Java 11 : migrer ou changer de langage, qu'envisagez-vous de faire suite aux derniers changements annoncés par Oracle ?
Oracle annonce la sortie officielle de Java 10 : ce qui signifie la fin des mises à jour et correctifs de sécurité gratuits pour Java 9
NetBeans 8.1 disponible avec de nouvelles fonctionnalités : la création de projets Node.js, le support de HTML5/Javascript amélioré entre autres
NetBeans : Oracle souhaite passer la gestion de l'EDI Java open source à Apache, une proposition a été soumise par le géant des bases de données
Oracle annonce la sortie officielle de Java 10, ce qui signifie la fin des mises à jour et correctifs de sécurité gratuits pour Java 9