Cappuccino es un marco de desarrollo de aplicaciones de código abierto para desarrollar aplicaciones web que se ven y se sienten como aplicaciones de escritorio en Mac OS X. Cappuccino fue desarrollado por los graduados de la Universidad del Sur de California Francisco Tolmasky, Tom Robinson y Ross Boucher, quienes también son los fundadores de 280 North , Inc. Está dirigido principalmente a desarrolladores de aplicaciones web.
Desarrollador (es) | Desarrolladores y comunidad de Cappuccino Core. |
---|---|
Lanzamiento estable | 1.0.0 / 4 de septiembre de 2018 |
Escrito en | JavaScript / Objective-J |
Sistema operativo | Multiplataforma |
Licencia | LGPL |
Sitio web | www |
Cappuccino consta de dos componentes distintos: un lenguaje de programación llamado Objective-J y una biblioteca orientada a objetos que es el puerto Objective-J de varios de los frameworks Cocoa , a saber, Foundation Kit , Application Kit , CoreGraphics y CoreAnimation.
Objetivo-J
Objective-J agrega herencia tradicional y llamadas de mensajes Smalltalk / Objective-C a JavaScript . Objective-J se compila y es un superconjunto estricto de JavaScript. Esto significa que todo el código JavaScript válido también es código Objective-J válido (esta es la misma relación que tiene Objective-C con el lenguaje C). Objective-J y JavaScript se pueden mezclar libremente dentro del mismo archivo fuente (con el sufijo de extensión de archivo ".j") y muchas clases de marco son "puenteadas gratuitas" a sus contrapartes de JavaScript. Por ejemplo, CPArray (equivalente a Cocoa's NSArray) y las matrices JavaScript nativas están puenteadas y pueden usarse indistintamente.
Los programas escritos en Objective-J tienen un aspecto muy similar a sus homólogos escritos en Objective-C. Sin embargo, existen diferencias significativas: por ejemplo, Objective-J no tiene archivos de encabezado y las variables locales se declaran con la palabra clave "var" de JavaScript en lugar de una declaración de tipo. La mayoría de las clases del marco de trabajo Cappuccino se nombran de manera idéntica a sus contrapartes de Cocoa, excepto con un prefijo de clase "CP" en lugar de "NS", y la mayoría de las API funcionan de manera idéntica o muy similar. El compilador de Objective-J está escrito en JavaScript y los programas escritos en Objective-J pueden ser compilados directamente en el lado del cliente (normalmente en el navegador web) por el compilador de Objective-J a través del tiempo de ejecución de Objective-J. El marco también incorpora una herramienta que puede realizar esta compilación con anticipación, de modo que solo se envía JavaScript normal al cliente; esto es significativamente más eficaz y generalmente preferible. Sin embargo, la opción de compilación sobre la marcha es conveniente para fines de desarrollo.
Caracteristicas y ventajas
Aunque el marco Cappuccino utiliza tecnologías web estándar para la representación de páginas web, como JavaScript, el modelo de objetos de documento del navegador y las hojas de estilo en cascada , no es una biblioteca de widgets de JavaScript clásica como ExtJs , jQuery o Prototype . Los desarrolladores de Cappuccino nunca necesitan manipular directamente el DOM o diseñar documentos CSS. En cambio, esas tareas son manejadas por Cappuccino, lo que permite que el desarrollador de la aplicación se concentre en la implementación de las funciones de la aplicación sin distraerse con detalles específicos del mecanismo de renderizado. Cappuccino, que se compila directamente en el navegador web , es independiente de la lógica del lado del servidor. Como tal, Python , PHP o Ruby , por ejemplo, pueden usarse para la lógica de back-end de una aplicación.
Compatibilidad
Cappuccino es compatible con muchos de los navegadores más recientes, incluidos: Internet Explorer 7+, Firefox 2+, Safari 3+, Opera 9+ y Google Chrome.
Diferencias con otros marcos
Cappuccino se diferencia de otros marcos porque proporciona una abstracción completa del DOM ( Modelo de objetos de documento ), mientras que otros marcos y bibliotecas dependen de que el usuario comprenda el DOM y las tecnologías web tradicionales. Cappuccino no requiere conocimientos previos sobre tecnologías web. Cappuccino implementa las últimas funciones HTML5, resumidas a través de una API similar a Cocoa. Las vistas se manipulan mediante una API que no requiere manipulación de CSS o DOM.
Aplicaciones
La primera aplicación web ampliamente conocida escrita en Objective-J / Cappuccino fue 280 Slides , un sistema de preparación de presentaciones en línea. 280 Slides presenta la capacidad de importar documentos existentes, una recuperación de guardado automático, es capaz de guardar documentos como formatos de Microsoft PowerPoint , PDF y OpenDocument , y tiene una amplia gama de temas.
Desde entonces, se han construido muchas otras aplicaciones en el marco de Cappuccino. Ejemplos notables incluyen Mockingbird, una herramienta colaborativa de wireframing en línea, PicsEngine, una biblioteca de fotos personal en la web, problemas de GitHub, un front-end para el rastreador de problemas de GitHub, Spot Specific Apps a la Carte, una herramienta de creación de aplicaciones móviles en línea, Archipel, un Orquestador XMPP para gestionar la virtualización, Akshell, una plataforma de desarrollo de JavaScript basada en la nube, y RW Elephant, un sistema de gestión de inventario basado en la nube para empresas de alquiler.