Bundle
Da Wikipedia, l'enciclopedia libera.
Nel sistema operativo Mac OS X della Apple Computer, un bundle è una directory che permette di raggruppare il codice sorgente del software e le relative risorse. Solitamente nel bundle possono essere raggruppati le applicazioni, i framework e i plugin, ma anche i documenti possono essere raggruppati nei bundle.
Un bundle solitamente contiene un eseguibile, i file nib, le immagini, i suoni e altre risorse. Su altri sistemi come Microsoft Windows, questo codice è compilato direttamente nell'eseguibile. Su Mac OS X, comunque, queste risorse si usano e si interagisce con esse come se fossero normali file nel sistema, nel tentativo di risolvere problemi connessi con l'organizzazione delle risorse usando una più semplice struttura gerarchica di directory.
[modifica] I bundle applicazione
Struttura gerarchica dei bundle applicazione:
- MiaApplicazione.app
- Contents
- MacOS
- MiaApplicazione (eseguibile)
- Resources
- Lingua1.lproj
- InterfacciaLingua1.nib
- ImmagineLingua1.jpg
- Lingua2.lproj
- InterfacciaLingua2.nib
- ImmagineLingua2.jpg
- Suono
- Lingua1.lproj
- Frameworks
- Shared Frameworks
- Plugins
- MacOS
- Contents
I bundle applicazione sono normalmente presentati all'utente sotto forma di "pacchetto". Questi file in verità 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 una applicazione, la directory contenuta nel bundle normalmente si chiama Contents; dentro di essa è solitamente contenuta una directory chiamata MacOS, che contiene l'eseguibile, ed 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 Enlgish.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.
Altri bundle sono i file RTF con immagini, che possiedono l'estensione di file .rtfd o i file parzialmente scaricati in Safari, che possiedono l'estensione .download. In iMovie HD, i progetti sono anch'essi dei bundle.