Un framework est un regroupement de briques logiciels qui servent de fondations à un nouveau projet.
Le but de la mise à disposition d’un framework peut être multiple. En général, il s’agit de fournir une base des fonctionnalités courantes d’un langage de programmation afin de ne pas avoir à réinventer la roue lors de son utilisation.
Si on parle d’un langage coté serveur, alors on trouvera le plus souvent gérées par le framework les connexions aux bases de données, la validation des données entrées par les utilisateurs et bien d’autres choses encore. Cela permet au développeur de s’appuyer sur les fonctionnalités souvent solidement éprouvées par la communauté gravitant autour du développement et de l’utilisation du framework et d’ainsi économiser un temps précieux à ne pas réinventer les fonctions de bases communes à un très grand nombre de projets.
Si on parle de HTML, de JavaScript ou de CSS, le framework propose en règle générale toute une panoplie de composants permettant là encore de ne pas avoir à tout programmer de zéro. Le plus souvent, ils sont accompagnés de composants à utiliser directement dans le projet et qui permettront d’obtenir un style visuel cohérent (bouton, menu, barre de navigation ...)
Il existe un très grand nombre de frameworks, chacun ayant ses spécificités d’abord gouvernées par le ou les langages de programmation qu’il met en jeu. Comme partout, la chose est d’ailleurs affaire de mode avec la popularité de chacun évoluant au fil des années et des habitudes.