Interface Builder es una aplicación de desarrollo de software para el sistema operativo macOS de Apple . Forma parte de Xcode (antes Project Builder ), el conjunto de herramientas para desarrolladores de Apple Developer . Interface Builder permite a los desarrolladores de Cocoa y Carbon crear interfaces para aplicaciones mediante una interfaz gráfica de usuario . La interfaz resultante se guarda como un archivo .nib , abreviatura de NeXT Interface Builder, o más recientemente, como un archivo .xib basado en XML .
Interface Builder deriva del software de desarrollo NeXTSTEP del mismo nombre. Una versión de Interface Builder también se utiliza en el desarrollo del software OpenStep , y existe una herramienta muy similar llamada Gorm para GNUstep . El 27 de marzo de 2008, se lanzó una versión especializada de Interface Builder para iPhone que permite la creación de interfaces para aplicaciones de iPhone con el SDK Beta 2 de iPhone.
Interface Builder se desarrolló intencionadamente como una aplicación independiente, para permitir a los diseñadores de interacción diseñar interfaces sin tener que utilizar un IDE orientado al código , pero a partir de Xcode 4, Apple ha integrado su funcionalidad directamente en Xcode.
Historia
Originalmente, el software se llamaba SOS Interface y fue creado por Jean-Marie Hullot mientras era investigador en Inria en Rocquencourt, cerca de París. Se le permitió conservar la propiedad del software al renunciar a Inria y dedicó un año a convertirlo en un producto completo, ahora llamado Interface Builder [ 1 ] y distribuido para Macintosh por ExperTelligence en los EE. UU. en 1986. [ 2 ] Fue escrito en Lisp (para el producto ExperLisp de ExperTelligence ) y estaba profundamente integrado con Macintosh Toolbox . Interface Builder se presentó en la MacWorld Expo en San Francisco en enero de 1987. [ 3 ]
Tras la MacWorld Expo, Denison Bollay llevó a Jean-Marie Hullot a NeXT para que se lo mostrara a Steve Jobs . Jobs reconoció su valor y comenzó a incorporarlo a NeXTSTEP, y en 1988 ya formaba parte de NeXTSTEP 0.8. Fue la primera aplicación comercial que permitía colocar objetos de interfaz, como botones , menús y ventanas , en una interfaz mediante el ratón.
Uno de los primeros usos destacados de Interface Builder fue el desarrollo del primer navegador web, WorldWideWeb , por Tim Berners-Lee en el CERN , utilizando una estación de trabajo NeXT .
Diseño
Interface Builder proporciona paletas , o colecciones, de objetos de interfaz de usuario a los desarrolladores de Objective-C o Swift . Estos objetos contienen elementos como campos de texto, tablas de datos, controles deslizantes y menús desplegables. Las paletas de Interface Builder son totalmente extensibles, lo que significa que cualquier desarrollador puede crear nuevos objetos y añadir paletas a Interface Builder.
Para crear una interfaz, un desarrollador simplemente arrastra los objetos de la paleta a una ventana o menú. Las acciones (mensajes) que pueden emitir los objetos se conectan a los destinos del código de la aplicación, y los punteros ( outlets ) declarados en dicho código se conectan a objetos específicos. De esta forma, toda la inicialización se realiza antes de la ejecución, lo que mejora el rendimiento y agiliza el proceso de desarrollo. Cuando Interface Builder era una aplicación independiente, los diseñadores de interfaces podían enviar archivos nib a los desarrolladores, quienes los incorporaban a sus proyectos.
Interface Builder guarda la interfaz de una aplicación como un paquete que contiene los objetos de interfaz y las relaciones utilizadas en la aplicación. Estos objetos se archivan (un proceso también conocido como serialización o marshalling en otros contextos) en un archivo XML o un archivo de lista de propiedades de estilo NeXT con una extensión .nib . Al ejecutar una aplicación, los objetos NIB adecuados se desarchivan, se conectan al binario de su aplicación propietaria y se activan. A diferencia de casi todos los demás sistemas de diseño de GUI que generan código para construir la interfaz de usuario (con notables excepciones como Glade , Delphi de Embarcadero Technologies y C++Builder , que transmiten objetos de interfaz de usuario de manera similar), los NIB a menudo se denominan liofilizados porque contienen los objetos archivados en sí mismos, listos para ejecutarse. A partir de la versión 3 de Interface Builder, se ha añadido un nuevo formato de archivo (con extensión .xib), que es funcionalmente idéntico a .nib, excepto que se almacena en un archivo plano, lo que lo hace más adecuado para el almacenamiento en sistemas de control de versiones y el procesamiento por herramientas como diff .
Referencias
Enlaces externos
- Descripción de Interface Builder de Apple para el desarrollo con Cocoa y Carbon
- Documentación de Interface Builder de Sun para el desarrollo con OpenStep (Archive.org)
- Documentación de archivos Nib de Apple
- Action!, el primer creador de interfaces dinámicas del mundo - 1988
- Herramientas de programación de macOS
- Próximo
- creadores de interfaces de usuario