Jump to content

Interface Builder: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Grossly erroneous 'facts' here. This snippet needs to be written WELL. Perhaps we shall come back. As things stand, this is very very bad. Cheers.
Line 25: Line 25:
Interface Builder provides "palettes", or collections, of user interface objects to an [[Objective-C]] developer. These user interface objects contain items like text fields, data tables, sliders, and pop-up menus. Interface Builder's palettes are completely extensible, meaning any developer can develop new objects and add palettes to Interface Builder.
Interface Builder provides "palettes", or collections, of user interface objects to an [[Objective-C]] developer. These user interface objects contain items like text fields, data tables, sliders, and pop-up menus. Interface Builder's palettes are completely extensible, meaning any developer can develop new objects and add palettes to Interface Builder.


To build an interface, a developer simply drags interface objects from the palette onto a window or menu. In this way, Interface Builder functions somewhat like a [[graphics program]].
To build an interface, a developer simply drags interface objects from the palette onto a window or menu. 'Actions' (messages) which the objects can emit are connected to 'targets' in the application's code and 'outlets' (pointers) declared in the application's code are connected to specific objects. In this way all initialisation is done before runtime, both improving performance and streamlining the development process.

NIBs are often referred to as 'freeze dried' because they contain actual code initialised and ready to run.


{{sectstub}}
{{sectstub}}

Revision as of 12:30, 31 January 2006

For information on general interface builders, please see User interface builder.
Interface Builder
Developer(s)Apple Computer
Stable release
2.5 / 2005
Operating systemMac OS X
Typesoftware development
LicenseProprietary
WebsiteApple.com

Interface Builder is a software development application on Apple Computer's Mac OS X operating system. It is part of the Apple 'ADC' developers toolset. Interface Builder allows Cocoa and Carbon developers to create interfaces for applications using a graphical user interface. The resulting interface is stored as a .nib file (short for NeXT Interface Builder).

Interface Builder is descended from the NeXTSTEP development software of the same name. Its design is closely mirrored in Gorm, an interface builder for GNUstep. A version of Interface Builder is also used in the development of OpenStep software.

History

Interface Builder first made its appearance in 1990 as part of NeXTSTEP 2.0. It was one of the first commercial applications that allowed interface elements (such as widgets and menus) to be placed in an interface using a mouse.

Design

Interface Builder provides "palettes", or collections, of user interface objects to an Objective-C developer. These user interface objects contain items like text fields, data tables, sliders, and pop-up menus. Interface Builder's palettes are completely extensible, meaning any developer can develop new objects and add palettes to Interface Builder.

To build an interface, a developer simply drags interface objects from the palette onto a window or menu. 'Actions' (messages) which the objects can emit are connected to 'targets' in the application's code and 'outlets' (pointers) declared in the application's code are connected to specific objects. In this way all initialisation is done before runtime, both improving performance and streamlining the development process.

NIBs are often referred to as 'freeze dried' because they contain actual code initialised and ready to run.

Nib files

File:Nib.png
Nib file icon

Interface Builder saves an application's interface as a directory hive that contains the interface objects and relationships used in the application. These objects are marshalled into either an XML file or a NeXT-style property list file with a .nib extension. Upon running an application, the proper NIB objects are unpacked, connected into the binary of their owning application, and awakened.

See also: Apple's Nib file documentation