NetBeans

NetBeans
Description de l'image Netbeans logo.png.
Description de l'image NetBeans IDE 6.0 on Linux.png.
Informations
Développé par Apache Software Foundation (Cédé par Oracle)
Première version (1996, sous le nom de Xelfi[1])
Dernière version 9.0 ()[2]
Dépôt github.com/apache/incubator-netbeans
Écrit en Java
Environnement Plateforme Java
Langues Multilingue
(français : partiellement)
Type IDE pour Java, PhP, C/C++, Fortran, JavaScript, Python, Ruby
Licence CDDL/ GPL
Site web netbeans.org

NetBeans est un environnement de développement intégré (EDI), placé en open source par Sun en juin 2000 sous licence CDDL (Common Development and Distribution License) et GPLv2. En plus de Java, NetBeans permet la prise en charge native de divers langages tels le C, le C++, le JavaScript, le XML, le Groovy, le PHP et le HTML, ou d'autres (dont Python et Ruby) par l'ajout de greffons. Il offre toutes les facilités d'un IDE moderne (éditeur avec coloration syntaxique, projets multi-langage, refactoring, éditeur graphique d'interfaces et de pages Web).

Compilé en Java, NetBeans est disponible sous Windows, Linux, Solaris (sur x86 et SPARC), Mac OS X ou sous une version indépendante des systèmes d'exploitation (requérant une machine virtuelle Java). Un environnement Java Development Kit JDK est requis pour les développements en Java.

NetBeans constitue par ailleurs une plate forme qui permet le développement d'applications spécifiques (bibliothèque Swing (Java)). L'IDE NetBeans s'appuie sur cette plate forme.

L'IDE Netbeans s'enrichit à l'aide de greffons.

Historique

En 1997, NetBeans naît de Xelfi, un projet d'étudiants dirigé par la Faculté de mathématiques et de physique de l'Université Charles de Prague. Plus tard, une société se forme autour du projet et édite des versions commerciales de l'EDI NetBeans, jusqu'à ce qu'il soit acheté par Sun en 1999. Sun place le projet sous double licence CDDL et GPL v2 en juin de l'année suivante.

En septembre 2016, Oracle, qui a racheté Sun, propose de céder le projet à la fondation Apache Software Foundation. Ce qui est accepté en octobre 2016[3].

Multilingue

NetBeans est disponible en 23 langues (version 7.0 sortie en avril 2011), dont la plupart de ces traductions a été réalisée par la communauté des utilisateurs[réf. souhaitée].

Environnement

Netbeans est un IDE qui supporte une large variété de langages de programmation et d'outils de collaboration.

Environnement de base

L'environnement de base comprend les fonctions générales suivantes[4] :

  • configuration et gestion de l'interface graphique des utilisateurs,
  • support de différents langages de programmation,
  • traitement du code source (édition, navigation, formatage, inspection),
  • fonctions d'import/export depuis et vers d'autres IDE, tels qu'Eclipse ou JBuilder,
  • accès et gestion de bases de données, serveurs Web, ressources partagées,
  • gestion de tâches (à faire, suivi…),
  • documentation intégrée.

Principaux langages supportés

L'éditeur intégré propose des fonctions de complètement, de contrôles syntaxiques et sémantiques, d'avertissements et de conseils, de reprises de code (« refactoring » : renommage, changement des méthodes, gestion des classes, …), de sauvegarde et reprise.

Il supporte principalement les langages suivants[5] :

Gestion de projets

Netbeans supporte les principaux systèmes de gestion de versions[16] : Subversion, Git, Mercurial, ClearCase, CVS. Il intègre par ailleurs des outils collaboratifs[16] (Projet Kenai Team Server).

Il interagit avec les logiciels de gestion de bugs : Jira, Bugzilla.

Débogage et optimisation

Netbeans comprend un profileur de code Java[17] (analyse des performances CPU, de la génération de charge, analyse de l'utilisation mémoire, …).

Il intègre par ailleurs des outils de débogage Java[18]. Il peut aussi interagir avec des débogueurs PHP (Zend, Xdebug).

Bases de données

NetBeans comprend un explorateur de bases de données[19] qui supporte toutes les bases de données relationnelles pour lesquelles un connecteur JDBC existe (selon les versions des gestionnaires de bases de données): JavaDB (Derby) MySQL, PostgreSQL, Oracle, Microsoft SQL Server, PointBase , JTD engine , IBM Redistributable DB2, …

L'explorateur comprend un éditeur de requêtes, un gestionnaire intégré de bases de données MySQL.

Outils de construction d'applications

Applications sur serveurs (applications Web et JAVA EE)

NetBeans supporte une importante variété d'environnements pour l'exécution d'applications web et Java EE[20],[9] : Java Server Pages (JSP), Java Server Faces(JSF), Enterprise JavaBeans (EJB 2.1, EJB 3, EJB 3.1), Apache Struts, Spring Web MVC, Hibernate… Il supporte les standards Java EE 6, Java EE 5, J2EE 1.4, Java Persistence API (JPA 2.0 ), Java Servlet API.

Il permet le déploiement d'applications Java et d'Applets via Java Web Start (JNLP).

Netbeans intègre les fonctions de Hudson (Maven et projets Java SE pour Ant) et de Maven (créer, exécuter, tester et déboguer des projets Maven Apache).

Applications sur poste de travail

Il supporte le développement d'applications postes de travail (Java SE)[6], en lien avec JDK 1.1, 1.2, 1.3, 1.4, JDK 5.0 et JDK 6. Il permet l'utilisation des tests JUnit 3 et 4.

NetBeans propose un environnement graphique exploitant Swing, désigné comme Java Swing GUI Builder (ancien projet Matisse)[21]. Cet environnement comporte des palettes d'outils de composition d'interfaces (composantes Swing et AWT et composantes spécifiques développées pour les projets). Il est utilisé au travers d'une interface graphique simple (choisir et positionner) qui permet de dessiner des interfaces pour les utilisateurs et de les visualiser à la volée. La construction d'interface graphique est conforme à JSR 296 (Swing Application Framework), et JSR 295 (technologie Beans Binding ).

NetBeans supporte par ailleurs Java FX[8].

Applications Java sur mobiles ou embarquées

Netbeans permet le développement d'applications Java pour mobiles (Java ME)[7] et systèmes embarqués.

Web Services

NetBeans[22] propose différents outils pour l'exploitation de web services. Il supporte JAX-WS services, JAX-RS RESTful Web Services, standards JAX-RPC Web Service, SOAP et RESTful Web Services, JBI Java Business Integration, Java Architecture for XML Binding API (JAXB), Mobile Java ME Web services. Il permet l'utilisation des web services Google Maps, StrikeIron, Yahoo News Search. Il supporte par ailleurs l'intégration de services fournis par quelques acteurs clés (Google, Facebook, Yahoo, YouTube, …).

Plate forme NetBeans

Plate-forme

NetBeans est aussi une plate-forme générique[23] pour le développement d'applications pour stations de travail (bibliothèque Swing (Java)).Elle fournit des ressources pour développer les éléments structurants de ces applications: gestion des menus, des fenêtres, configuration, gestion des fichiers, gestion des mises à jour… Des présentations détaillées sont fournies par le centre de documentation de NetBeans[24].

L'IDE NetBeans comprend toutes les ressources utiles mais il est aussi possible d'installer la plate-forme séparément.

Le développement d'applications sur la base de la plate-forme NetBeans consiste en la réalisation de « modules » qui s'insèrent dans la plate-forme et en étendent dynamiquement les fonctions.

Un module est un groupe de classes Java, de portée variée : elle peut consister en une simple classe Java réalisant des fonctions simples (exemple : ajouter une action dans un menu pour éditer le contenu du presse papier) comme elle peut intégrer une application externe complète (exemple : Java profiling suite). Un module peut s'appliquer à l'IDE NetBeans lui-même.

La réalisation des modules s'appuie sur une API normalisée[25].

Un espace de partage entre développeurs est mis en place.

OSGi

La plate forme NetBeans se conforme au framework d'OSGiNetBeans IDE 6.9 permet de créer des paquetagesOSGi pour des applications Java et pour des applications développées depuis NetBeans[26].

Greffons

NetBeans s'enrichit au travers d'un système de greffons[27].

Versions disponibles au téléchargement

Différentes versions, regroupant les composantes de NetBeans en ensembles cohérents, sont disponibles au téléchargement[28] et peuvent ensuite être complétées à l'aide des greffons. Elles sont adaptées aux environnements Windows 2000 / Vista / XP, Linux x86/x64, Solaris x86:x64/sparc et OpenSolaris, Mac OS X, version indépendante des systèmes d'exploitation.

Les ensembles constitués varient selon les environnements ; la matrice est disponible en ligne[28]. Ils se présentent comme suit :

  • Java SE ;
  • Java FX ;
  • Java incluant en option Glassfish et / ou Tomcat (hors version indépendante des systèmes d'exploitation) ;
  • Ruby ;
  • C/C++ et Fortran ;
  • PHP ;
  • ensemble des composantes précédentes.

Le support Python est assuré par des greffons.

Références

  1. http://netbeans.org/community/articles/interviews/yarda-tulach.html
  2. https://netbeans.apache.org/download/nb90/nb90.html
  3. « NetBeans Incubation Status » (consulté le 4 août 2017)
  4. http://netbeans.org/features/ide/index.html
  5. http://netbeans.org/features/ide/editor.html
  6. a et b http://netbeans.org/features/java/javase.html
  7. a et b http://netbeans.org/features/javame/index.html
  8. a et b http://netbeans.org/features/javafx/index.html
  9. a et b http://netbeans.org/features/web/java-ee.html
  10. http://netbeans.org/features/groovy/index.html
  11. http://netbeans.org/features/php/index.html
  12. http://netbeans.org/features/javascript/index.html
  13. http://netbeans.org/features/cpp/index.html
  14. http://wiki.netbeans.org/Python
  15. http://netbeans.org/features/ruby/index.html
  16. a et b http://netbeans.org/features/ide/collaboration.html
  17. http://netbeans.org/features/java/profiler.html
  18. http://netbeans.org/features/java/debugger.html
  19. http://netbeans.org/features/ide/database.html
  20. http://netbeans.org/features/web/web-app.html
  21. http://netbeans.org/features/java/swing.html
  22. http://netbeans.org/features/web/web-services.html
  23. http://netbeans.org/features/platform/index.html.
  24. http://netbeans.org/kb/trails/platform.html.
  25. http://bits.netbeans.org/dev/javadoc/index.html.
  26. http://netbeans.org/features/java/osgi.html
  27. http://plugins.netbeans.org/PluginPortal/
  28. a et b « Télécharger l'EDI NetBeans 8.0.1 », NetBeans.org.

Voir aussi

Articles connexes

Liens externes

  • (en) Site officiel
  • (fr) Fiche descriptive synthétique venant de la communauté de l'enseignement supérieur et de la recherche (PLUME)