Interface Builder
From Wikipedia, the free encyclopedia
| Please help improve this article or section by expanding it. Further information might be found on the talk page or at requests for expansion. (May 2008) |
| Interface Builder | |
|---|---|
| Developed by | Apple Inc. |
| Latest release | 3.0 / 2007 |
| OS | Mac OS X |
| Genre | software development |
| License | Proprietary |
| Website | http://www.apple.com/ |
Interface Builder is a software development application for Apple's Mac OS X operating system. It is part of Xcode (formerly Project Builder), the Apple Developer Connection developer's 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, or more recently, as a .xib file.
Interface Builder is descended from the NeXTSTEP development software of the same name. A version of Interface Builder is also used in the development of OpenStep software, and a very similar tool called Gorm exists for GNUstep.On The 27th Of March, 2008, a specialized iPhone version of Interface Builder allowing interface construction for iPhone applications was released with the iPhone SDK Beta 2.
Contents |
[edit] History
Interface Builder first made its appearance in 1988 as part of NeXTSTEP 0.8. It was invented and developed by Jean-Marie Hullot. 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.
[edit] Uses
Tim Berners-Lee developed the original World Wide Web system at CERN on a NeXT workstation. Steve Jobs' insistence that average people should be able to write custom "mission-critical" applications formed the basis of Interface Builder, which Berners-Lee utilized to do just that — by writing a program entitled "WorldWideWeb 1.0".
[edit] 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 initialization is done before runtime, both improving performance and streamlining the development process.
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. Unlinke other GUI designer systems which generate code to construct the UI, NIBs are often referred to as freeze dried because they contain the archived objects themselves, ready to run. As of Interface Builder version 3, a new file format (with extension .xib) has been added, which is functionally identical to .nib, except it is stored in a flat file. One advantage is that atomic operations may be performed on the .xib file which are not available for .nib's containers.
[edit] External links
- Apple's Interface Builder documentation for Cocoa and Carbon development
- Sun's Interface Builder documentation for OpenStep development
- Apple's Nib file documentation
|
|||||

