Plug-in (informatica) - Plug-in (computing)
In informatica , un plug-in (o plug-in , addin , addin , addon , o addon ) è un componente software che aggiunge una funzione specifica a un esistente programma per computer . Quando un programma supporta i plug-in, consente la personalizzazione.
Un tema o skin è un pacchetto preimpostato contenente dettagli sull'aspetto grafico aggiuntivi o modificati, ottenuto mediante l'uso di un'interfaccia utente grafica (GUI) che può essere applicata a software e siti Web specifici per adattarsi allo scopo, all'argomento o ai gusti dei diversi utenti per personalizzare l'aspetto di un software per computer o di una GUI front-end del sistema operativo (e gestori di finestre ).
Scopo ed esempi
Le applicazioni possono supportare plug-in per:
- consentire agli sviluppatori di terze parti di estendere un'applicazione
- supporta facilmente l'aggiunta di nuove funzionalità
- ridurre le dimensioni di un'applicazione non caricando le funzionalità inutilizzate
- codice sorgente separato da un'applicazione a causa di licenze software incompatibili .
Tipi di applicazioni e perché utilizzano i plug-in:
- Le workstation audio digitali e i software di editing audio utilizzano plug-in audio per generare, elaborare o analizzare il suono. Ardour , Audacity , Cubase , FL Studio , Logic Pro X e Pro Tools sono esempi di tali sistemi.
- I client di posta elettronica utilizzano plug-in per decrittografare e crittografare la posta elettronica. Pretty Good Privacy è un esempio di tali plug-in.
- Gli emulatori di console per videogiochi utilizzano spesso plug-in per modularizzare i sottosistemi separati dei dispositivi che cercano di emulare. Ad esempio, l' emulatore PCSX2 utilizza plug-in video, audio, ottici, ecc. per i rispettivi componenti della PlayStation 2 .
- I software di grafica utilizzano plug-in per supportare formati di file ed elaborare immagini. Un plug-in di Photoshop può farlo.
- I lettori multimediali utilizzano plug-in per supportare formati di file e applicare filtri. foobar2000 , GStreamer , Quintessential , VST , Winamp , XMMS sono esempi di tali lettori multimediali.
- Gli sniffer di pacchetti utilizzano i plug-in per decodificare i formati dei pacchetti. OmniPeek è un esempio di tali sniffer di pacchetti.
- Le applicazioni di telerilevamento utilizzano plug-in per elaborare i dati da diversi tipi di sensori; ad esempio , Opticks .
- Editor di testo e ambienti di sviluppo integrati utilizzano plug-in per supportare linguaggi di programmazione o di migliorare il processo di sviluppo ad esempio , Visual Studio , RAD Studio , Eclipse , IntelliJ IDEA , jEdit e MonoDevelop supporto plug-in. Visual Studio stesso può essere collegato ad altre applicazioni tramite Visual Studio Tools for Office e Visual Studio Tools for Applications .
- I browser Web hanno storicamente utilizzato gli eseguibili come plug-in, anche se ora sono per lo più deprecati . Gli esempi includono Adobe Flash Player , una macchina virtuale Java (per applet Java ), QuickTime , Microsoft Silverlight e Unity Web Player . (Le estensioni del browser , che sono un tipo separato di modulo installabile, sono ancora ampiamente utilizzate.)
Meccanismo
L'applicazione host fornisce servizi utilizzabili dal plug-in, incluso un modo per i plug-in di registrarsi con l'applicazione host e un protocollo per lo scambio di dati con i plug-in. I plug-in dipendono dai servizi forniti dall'applicazione host e di solito non funzionano da soli. Al contrario, l'applicazione host opera indipendentemente dai plug-in, consentendo agli utenti finali di aggiungere e aggiornare i plug-in in modo dinamico senza dover apportare modifiche all'applicazione host.
I programmatori in genere implementano i plug-in come librerie condivise , che vengono caricate dinamicamente in fase di esecuzione. HyperCard supportava una funzione simile, ma più comunemente includeva il codice del plug-in nei documenti HyperCard (chiamati stack ) stessi. Così lo stack HyperCard è diventato un'applicazione autonoma a sé stante, distribuibile come un'unica entità che gli utenti finali possono eseguire senza la necessità di ulteriori passaggi di installazione. I programmi possono anche implementare plugin caricando una directory di semplici file di script scritti in un linguaggio di script come Python o Lua .
Definizione di Mozilla
Nelle definizioni di Mozilla Foundation , le parole "componente aggiuntivo", " estensione " e "plug-in" non sono sinonimi. "Componente aggiuntivo" può riferirsi a qualsiasi cosa che estenda le funzioni di un'applicazione Mozilla. Le estensioni comprendono un sottotipo, anche se il più comune e il più potente. Le applicazioni Mozilla sono dotate di gestori di componenti aggiuntivi integrati che, in modo simile ai gestori di pacchetti , installano, aggiornano e gestiscono le estensioni. Il termine "plug-in", tuttavia, si riferisce strettamente ai renderer di contenuti web basati su NPAPI . Mozilla ha deprecato i plug-in per i suoi prodotti. Ma le applicazioni basate su UXP , come i browser Web Pale Moon e Basilisk , continuano a supportare i plug-in (NPAPI).
Storia
A metà degli anni '70, l' editor di testo EDT funzionava sul sistema operativo Unisys VS/9 utilizzando il computer mainframe UNIVAC Serie 90 . Ha consentito un programma dall'editor e l'accesso al buffer di modifica in memoria. L'eseguibile del plug-in potrebbe chiamare l'editor per ispezionare e modificare il testo. Il compilatore Fortran dell'Università di Waterloo lo ha utilizzato per consentire la compilazione interattiva dei programmi Fortran .
I primi software per personal computer con funzionalità plug-in includevano HyperCard e QuarkXPress su Apple Macintosh , entrambi rilasciati nel 1987. Nel 1988, Silicon Beach Software includeva funzionalità plug-in in Digital Darkroom e SuperPaint e Ed Bomke ha coniato il termine plug-in .