En anglais, le terme « wrapper » désigne entre autres un papier d’emballage ou une jaquette de livre. Dans le domaine informatique, le terme désigne un programme ou code qui « enveloppe », ou englobe, d’autres composants logiciels. Plusieurs raisons motivent le recours aux wrappers.
La compatibilité et l’interopérabilité entre des structures logicielles hétérogènes en sont une et la représentation visuelle une autre, à l’image des wrappers HTML et CSS. Un wrapper peut s’appliquer à un composant logiciel, un produit logiciel indépendant, une architecture logicielle, une classe en programmation orientée objet ou un framework.
Si un programme inclut des fonctions ou blocs écrits dans un autre langage de programmation, on peut les envelopper à l’aide d’un wrapper. Le programme principal communique exclusivement avec le wrapper, qui transmet les instructions à la partie enveloppée du programme et renvoie les résultats. Le wrapper est le seul composant qui communique directement avec les deux parties du programme.
Les wrappers ont de multiples usages en programmation et en développement logiciel. Les exemples d’application suivants montrent comment fonctionne un wrapper et les tâches qu’il peut réaliser.