Jump to section

Un framework Java, qu'est-ce que c'est ?

Copier l'URL

Un framework Java™ est un bloc de code prérédigé qu'utilisent les développeurs pour créer des applications avec le langage de programmation Java.

Les frameworks Java sont propres au langage de programmation Java. Il s'agit de plateformes Java destinées au développement d'applications logicielles et de programmes Java.

Un framework Java est un bloc de code prérédigé et réutilisable. Les développeurs peuvent l'utiliser comme modèle pour créer des applications en y ajoutant du code personnalisé selon les besoins.

Les frameworks sont conçus pour être utilisés et réutilisés plusieurs fois de sorte que les développeurs puissent programmer leurs applications sans avoir à écrire le code en partant de zéro.

Les frameworks Java peuvent inclure des classes prédéfinies (telles que des catégories d'objets) et des fonctions utilisables pour traiter, ajouter et gérer des périphériques matériels, ainsi qu'interagir avec les logiciels du système. Tout dépend du type de framework, du niveau de compétences du développeur Java, de ses préférences et de la fonction prévue pour l'application.

Java est un langage de programmation orientée objet qui date de 1995. Les développeurs utilisent Java pour programmer des applications qui vont s'exécuter à l'intérieur des limites du domaine dans lequel elles se trouvent.

Attention à ne pas confondre Java et JavaScript, un langage de programmation différent développé à la même époque par une autre entreprise. Le développement Java permet de créer des applications qui s'exécutent dans des navigateurs ou sur les systèmes nus, machines virtuelles ou conteneurs des serveurs. De son côté, JavaScript fonctionne uniquement dans les navigateurs.

La bibliothèque représente une fonction d'une application, le framework est le squelette de l'application, et ces deux composants sont rassemblés et mis à disposition de l'utilisateur au moyen de l'API. Un framework peut inclure une bibliothèque, un compilateur ainsi que d'autres programmes utilisés dans le processus de développement. Si le framework est bien conçu, le développeur n'a pas besoin de se préoccuper des portions de code qui se répètent dans un domaine ou une application.

Bibliothèque

Une bibliothèque est une collection de routines ou de ressources précompilées fréquemment employées (classes, modèles, données de configuration, etc.), utilisable par un programme sur un ordinateur. Au lieu d'écrire le code de cette fonction à chaque exécution d'une tâche, vous pouvez utiliser des routines et les appeler lorsque la tâche doit être effectuée. Lorsqu'il a besoin d'une ressource, le programme appelle la bibliothèque correspondante.

Framework

Un framework peut être une collection de bibliothèques. À la différence des bibliothèques qui sont appelées par un programme, c'est le framework qui appelle une action. Le contrôle est inversé. Le framework contient déjà le modèle, ou la trame, des éléments nécessaires. Il peut donc appeler les ressources dont il a besoin (les trous à remplir dans le code) sur la base de ce qu'il contient déjà.

API (interface de programmation d'applications)

Un framework est semblable à une interface de programmation d'application (API). Techniquement, les frameworks incluent des API. Les frameworks sont une base pour la programmation, alors que les API donnent accès aux éléments pris en charge par les frameworks.

Vous ne savez pas encore tout sur Java et les applications cloud-native…

Il existe plusieurs frameworks Java. Ce sont les compétences du développeur et les exigences de l'application ou du site web qui déterminent les frameworks à utiliser. Voici quelques exemples de frameworks Open Source parmi les plus utilisés :

  • Quarkus, un framework Java pour l'ensemble de la pile informatique qui fonctionne parfaitement avec les infrastructurescloud-native basées sur des microservices
  • Grails, écrit dans le langage de programmation Groovy, qui fournit aux frameworks d'applications web des vues pour les plug-ins HTML et CSS
  • Hibernate, un framework de mapping objet-relationnel utilisé pour la gestion des bases de données relationnelles qui peut exécuter des requêtes SQL à l'aide d'API fournies par Java Database Connectivity (JDBC)
  • Google Web Toolkit (GWT), qui relie les équipes de développement de logiciels front-end et back-end

Il existe d'autres frameworks Java couramment utilisés :

  • Vaadin, avec des frameworks axés sur les interfaces utilisateurs 
  • Play, qui rationalise le développement d'applications web et fonctionne bien avec le langage de programmation Scala
  • Apache Struts, axé sur les applications d'entreprise, qui fonctionne bien avec les techniques asynchrones JavaScript et XML (AJAX), un moyen utile de mettre à jour des sections de pages web sans tout actualiser
  • JavaServer Faces (JSF) d'Oracle, qui fournit aux développeurs back-end des frameworks front-end

Il s'agit d'une pile Java native pour Kubernetes conçue pour les machines virtuelles Java (JVM) et la compilation native. Quarkus optimise le langage Java pour Kubernetes, qui devient alors une plateforme efficace pour les environnements cloud, sans serveur et Kubernetes.

La solution d'injection de dépendances de Quarkus utilise la spécification CDI (Contexts and Dependency Injection). Quarkus inclut aussi un framework d'extension qui permet de l'enrichir et de configurer, de démarrer et d'intégrer un framework dans votre application. Il est aussi simple d'ajouter une extension qu'une dépendance. Vous pouvez sinon utiliser les outils de Quarkus.

Pour aller plus loin

ARTICLE

Stateful et stateless : quelle est la différence ?

Les qualificatifs « stateful » ou « stateless » dépendent de la durée pendant laquelle l'état de l'interaction avec un élément est enregistré ainsi que de la manière dont cette information doit être stockée.

ARTICLE

Quarkus, qu'est-ce que c'est ?

Quarkus est une pile Java native pour Kubernetes conçue pour les machines virtuelles Java (JVM) et la compilation native, qui permet d'optimiser Java spécifiquement pour les conteneurs.

ARTICLE

Le serverless ou informatique sans serveur, qu'est-ce que c'est ?

Le serverless est un modèle de développement cloud-native qui permet aux développeurs de créer et d'exécuter des applications sans avoir à gérer des serveurs.

En savoir plus sur les applications cloud-native

Produits

Une plateforme d'applications d'entreprise comprenant un ensemble unifié de services testés conçus pour distribuer des applications sur votre choix d'infrastructure.

Ressources

Formations

Formation gratuite

Développement d'applications cloud-native avec des architectures de microservices