Bundle
In informatica un bundle, nei sistemi operativi sviluppati dalla Apple Inc. come iOS e macOS, è una directory che raggruppa un eseguibile e le relative risorse quali i file NIB, le immagini, i suoni in una struttura standardizzata[1].
Su altri sistemi come Microsoft Windows, le risorse necessarie al funzionamento dell'applicazione sono compilate direttamente nell'eseguibile. Invece su macOS si interagisce con queste risorse come se fossero normali file nel sistema. Lo scopo è di risolvere i problemi connessi con l'organizzazione delle risorse usando una più semplice struttura gerarchica di directory.
Solitamente nel bundle possono essere raggruppati le applicazioni, i framework e i plugin.
Il bundle non va confuso con il pacchetto, sebbene i due concetti possano sovrapporsi. Un bundle difatti può apparire come un'unica entità nel Finder (ad esempio i bundle applicazione), oppure essere completamente trasparente e mostrare la sua struttura interna (come nel caso dei framework). I documenti non sono considerati come bundle a tutti gli effetti[1].
I bundle applicazione
modificaStruttura gerarchica dei bundle applicazione:
MiaApplicazione.app
Contents
MacOS
MiaApplicazione
(eseguibile)
Resources
Lingua1.lproj
InterfacciaLingua1.nib
ImmagineLingua1.jpg
Lingua2.lproj
InterfacciaLingua2.nib
ImmagineLingua2.jpg
Suono
Frameworks
Shared Frameworks
Plugins
I bundle applicazione sono normalmente presentati all'utente sotto forma di "pacchetto". Questi file sono directory con il nome terminante con l'estensione .app
. È possibile visualizzare il contenuto di un pacchetto facendo control-clic su di esso e scegliendo l'appropriata voce dal menu contestuale.
In un'applicazione, la directory contenuta nel bundle normalmente si chiama Contents
; dentro di essa è solitamente contenuta una directory chiamata macOS
, che contiene l'eseguibile, e una directory chiamata Resources
, che contiene le risorse dell'applicazione. La directory Resources
contiene le risorse e le interfacce utente in tutte le lingue in cui l'applicazione è stata localizzata. Queste risorse vengono archiviate all'interno di sotto-directory chiamate Lingua.lproj
(ad esempio English.lproj
oppure Italian.lproj
).
Altre comuni sotto-directory sono Plugins
, Frameworks
e Shared Frameworks
. La directory Frameworks
contiene i framework usati dall'applicazione, che sono usati anche se versioni diverse di quei framework si trovano nel sistema. La directory Shared Frameworks
contiene framework che possono essere utilizzati sia dalle applicazioni che li contengono sia da altre applicazioni; sono usati solo se non esiste una versione più recente nel sistema. La directory Plugins
contiene estensioni utilizzabili dall'applicazione[2].
Note
modifica- ^ a b About Bundles, su developer.apple.com. URL consultato il 4 dicembre 2020.
- ^ (EN) Anatomy of Framework Bundles, su developer.apple.com. URL consultato il 22 febbraio 2017.