
Introducción a Cocoa
7/Febrero/2008Todo esto trata sobre cómo programar para la plataforma Mac OS. En Mac OS X se proporcionan 5 entornos de programación de diferentes ámbitos, como son:
- BSD:
Proporciona una serie de herramientas y llamadas al sistema para acceder a operaciones del propio sistema UNIX de mac OS X. - Classic:
Usado para dar soporte aplicaciones de Mac OS 9 ara que puedan ser ejecutadas sobre Mac OS X. - Carbon:
Son una serie de APIs procedurales derivadas del Toolbox API usado en versiones de Mac OS previas a Mac OS X. - Cocoa:
Cocoa es un conjunto de APIs orientadas a objetos proporcionadas por el sistema operativo Mac OS X. Cocoa es en gran medida una evolución de las tecnologías que NeXT usaba en su sistema operativo NeXTSTEP (como veremos más adelante). Básicamente Cocoa actúa como una capa de objetos que median entre nuestras aplicaciones y el sistema operativo Mac OS X. A través de Cocoa podemos acceder a varios Frameworks de Mac OS X como Quartz, QuickTime, OpenGL, ColorSync e incluso las funcionalidades del sistema BSD. - Java:
Basado en una máquina virtual Java, permite al ejecución de código multiplataforma y portable sin necesidad de recompilación.
A lo largo de estas secciones nos centraremos tan sólo en Cocoa y dejaremos un poco de lado el resto de tecnologías. Ahora hagamos un poco de historia para ver cómo ha evolucionado Cocoa.
Evolución de Cocoa
Cocoa es un conjunto de tecnologías que provienen del desarrollo del sistema operativo NeXTSTEP. En 1987 la compañía NeXT presentó su sistema operativo basado en un BSD Unix de Berkley, y desde entonces el sistema operativo incluía una serie de frameworks para que los programadores desarrollasen sobre el lenguaje Objective C.Tras el abandono del negocio del hardware por parte de NeXT en 1993, NeXTSTEP se migró a diferentes plataformas (Intel x86, SPARC, Alpha y PA-RISC) y el proyecto pasó a denominarse OpenStep. En 1996, tras los infructuosos intentos por parte de Apple de desarrollar un digno sucesor de su sistema Mac OS 7, se encontró en OpenStep una opción viable. Apple adquirió NeXT y durante los siguientes 5 años se desarrolló el siguiente sistema operativo para Macintosh, denominado incialmente Rhapsody. Rhapsody pretendía ser una fusión del antiguo Mac OS 7 (y siguientes) con las tecnologías de OpenStep. Rhapsody se convirtió en lo que hoy conocemos como Mac OS X, y por su parte OpenStep se convirtió en Cocoa.
El framework Cocoa
Cocoa está dividido en 4 niveles de profundidad en función del nivel de sistema al que afecte. Describimos brevemente los dos niveles superiores que serán con los que más interactuamos como programadores:
![]()
Application Kit Framework
Contiene más de 120 clases y funciones destinadas a mostrar en pantalla los elementos de la interfaz de usuario, gestionar la comunicación entre ellos y los dispositivos de video o manejar los eventos generados por el usuario.
![]()
Foundation Framework
El Foundation Framework proporciona más de 80 clases y funciones que estableces una serie de paradigmas a través de los cuales se definen convenciones de uso para ciertos mecanismo y objetos.