Interface Builder software | |
---|---|
Interface Builder su Mac OS X Leopard | |
Genere | Integrated development environment |
Sviluppatore | Apple |
Ultima versione | 3.0 (2007) |
Sistema operativo | macOS |
Licenza | Proprietaria (licenza non libera) |
Sito web | www.apple.com/it/ |
Interface Builder è un'applicazione per lo sviluppo software per il sistema operativo macOS e fa parte di Xcode (tool di sviluppo fornito gratuitamente con macOS, precedentemente chiamato Project Builder). Interface Builder permette agli sviluppatori che usano Carbon e Cocoa di disegnare interfacce grafiche per le applicazioni usando uno strumento grafico, senza la necessità di scrivere decine di righe di codice. L'interfaccia risultante è salvata in un file .nib (abbreviazione di NeXT Interface Builder).
Interface Builder deriva dal omonimo software del NeXTSTEP development software. Il suo aspetto è immutato in Gorm, un l'equivalente di Interface Builder per GNUstep. Una versione di Interface Builder è usata anche nello sviluppo del software OpenStep.
Interface Builder appare per la prima volta nel 1988 come parte di NeXTSTEP 0.8. È stata una delle prime applicazioni commerciali che permetteva di disegnare interfacce e inserirci widget e menù usando il mouse.
Interface Builder mette a disposizione allo sviluppatore Objective-C palette o collezioni. Questi elementi dell'interfaccia grafica comprendono caselle di testo, tabelle e menu a comparsa. Le palette di Interface Builder sono completamente estensibili: questo significa che è possibile sviluppare nuovi oggetti e aggiungerli alle palette.
Per costruire un'interfaccia lo sviluppatore deve semplicemente trascinare gli oggetti dalla palette in una finestra o in un menu.
Le actions (o messaggi) che possono essere emesse dagli oggetti sono collegate ai target nel codice dell'applicazione e gli outlet (o puntatori) dichiarati nel codice dell'applicazione sono collegati a oggetti specifici. In questo modo tutta l'inizializzazione viene effettuata prima dell'esecuzione dell'applicazione; grazie a ciò, da una parte il processo di sviluppo viene semplificato e dall'altra vengono migliorate le prestazioni dell'applicazione.
Interface Builder registra l'interfaccia di un'applicazione come se fosse una directory (bundle), che contiene gli oggetti dell'interfaccia e le relazioni tra di essi utilizzate nell'applicazione. Questi oggetti sono raggruppati o in un file XML, o in un file stile-NeXT con estensione .nib. Quando un'applicazione viene lanciata, i corrispondenti oggetti NIB vengono scompattati, collegati al codice binario della loro rispettiva applicazione, e risvegliati. I NIB vengono spesso chiamati "freeze dried" (pronti all'uso) perché contengono oggetti archiviati e pronti per essere eseguiti.
Grazie a questa struttura e a questa tecnologia, le risorse localizzate nelle diverse lingue vengono separate e sono registrate in NIB e risvegliate quando occorre, cioè quando nel pannello Internazionale delle Preferenze di Sistema di macOS è impostata quella determinata lingua.