logo del FinderLa gente de 280 North hizo algo técnicamente muy interesante: desarrolló un entorno de ejecución de Objective-C en Javascript, y realizó un port de Cocoa para la web.

No sólo crearon estas librerias, sino una aplicación demo impresionante: 280 Slides es una aplicación para crear presentaciones (al estilo PowerPoint o Keynotes). Lo interesante es que funciona sobre Javascript, y está escrito en Objective-J, utilizando el port de Cocoa. Con esta tecnología crearon una aplicación rica totalmente web, con un look muy atractivo (y para los usuarios de Mac, practicamente indistinguible de una aplicación de escritorio).

Interpretando Objective-J

Cocoa es un conjunto de frameworks orientados a objetos que permiten el desarrollo de aplicaciones nativas para Mac OS X. Objective-C es el lenguaje para escribir dichos frameworks, aunque también es posible programar en Java.

Objective-J (un lenguaje similar a Objective-C, interpretado por estas librerias) se ejecuta completamente del lado del cliente, sin la necesidad de ningún entorno especial en el servidor, o plugin adicional en el navegador. Se contruyó un preprocesador en el cliente que toma Objective-J y lo traduce a Javascript. Luego, el Javascript se ejecuta normalmente en el navegador.

Con esta tecnología, el equipo comenzó el port de Cocoa, al cual llamaron Cappuccino. Cappuccino es una re-implementación de Cocoa en Objective-J; implementaron las API de AppKit, Foundation, CoreGraphics y parte de CoreAnimation. Así, desarrolladores familiarizados con estas API pueden desarrollar aplicaciones web ricas muy rápidamente.

Por otor lado, se anunció que el framework será de código libre, aunque todavía no se conoce la licencia que usarán.

Para los curiosos, Arts Technica publicó la nota Cocoa on the web, donde se explica con más detalles este entorno, con entrevistas a los propios creadores.

No se pierdan de probar la demo de 280 slides; realmente interesante lo que lograron. ¿Desaparecerán en el futuro las aplicaciones de escritorio?

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw