Il termine inglese “wrapper” indica letteralmente un imballaggio, qualcosa che si avvolge intorno a qualcos'altro come copertura o protezione: un involucro. In riferimento ai software, il termine indica un programma o un codice che riveste altri componenti del programma.
I wrapper vengono utilizzati per vari motivi: spesso ai fini della compatibilità o dell’interoperabilità tra diverse strutture software o anche per motivi di rappresentazione grafica, come nel caso dei wrapper HTML o CSS. Un wrapper può essere un singolo componente software, un prodotto software indipendente, un’architettura software, una classe nella programmazione orientata agli oggetti o un framework.
Se, all’interno di un programma, è necessario utilizzare funzioni o blocchi di programma di un altro linguaggio di programmazione, è possibile “avvolgere” questi elementi con un wrapper. Il programma principale comunica esclusivamente con il wrapper, il quale inoltra i comandi al programma incorniciato e, viceversa, restituisce i risultati. Il wrapper è di fatto l’unico componente che comunica direttamente con le due parti del programma.
I wrapper possono essere utilizzati in diversi modi nell’ambito della programmazione e dello sviluppo di software. Attraverso i seguenti esempi applicativi vi spieghiamo come funziona esattamente un wrapper e quali compiti svolge.