Glosario de Informática e Internet
DefiniciĆ³n de Cocoa en el glosario.
Cocoa es un entorno de aplicaciones tanto para el sistema operativo OS X como para iOS, el sistema operativo utilizado en dispositivos Multi-Touch como iPhone, iPad e iPod touch. Consiste en un conjunto de bibliotecas de software orientadas a objetos, un sistema en tiempo de ejecución y un entorno de desarrollo integrado.
Cocoa es un conjunto de marcos orientados a objetos que proporciona un entorno de ejecución para aplicaciones que se ejecutan en OS X e iOS. Cocoa es el entorno de aplicaciones preeminente para OS X y el único entorno de aplicaciones para iOS. (Carbon es un entorno alternativo en OS X, pero es un marco de compatibilidad con interfaces programáticas de procedimiento destinadas a admitir bases de código OS X existentes).
La mayoría de las aplicaciones en OS X e iOS, incluidos Mail y Safari, son aplicaciones Cocoa. Un entorno de desarrollo integrado llamado Xcode admite el desarrollo de aplicaciones para ambas plataformas. La combinación de este entorno de desarrollo y Cocoa facilita la creación de una aplicación completa y bien factorizada.
Es uno de los 5 APIs más importantes disponibles en el Mac OS X (los otros son Carbon, Toolbox, POSIX y Java). Otros ambientes como Perl y Ruby son considerados ambientes de programación menores porque generalmente no son usados para programación de aplicaciones.
Como ocurre con todos los entornos de aplicación, Cocoa presenta dos caras; tiene un aspecto de tiempo de ejecución y un aspecto de desarrollo. En su aspecto de tiempo de ejecución, las aplicaciones Cocoa presentan la interfaz de usuario y están estrechamente integradas con los otros componentes visibles del sistema operativo; en OS X, estos incluyen el Finder, el Dock y otras aplicaciones de todos los entornos.
Pero es el aspecto del desarrollo el que resulta más interesante para los programadores. Cocoa es un conjunto integrado de componentes de software orientados a objetos (clases) que le permite crear rápidamente aplicaciones OS X e iOS sólidas y con todas las funciones. Estas clases son bloques de construcción de software reutilizables y adaptables; puede utilizarlos tal cual o ampliarlos para sus requisitos específicos. Las clases Cocoa existen para casi todas las necesidades de desarrollo concebibles, desde objetos de interfaz de usuario hasta formateo de datos. Cuando no se haya anticipado una necesidad de desarrollo, puede crear fácilmente una subclase de una clase existente que responda a esa necesidad.