Cappuccino est un framework open source de développement d'applications web qui tend à recréer l'expérience utilisateur d'une application « poste de travail » classique inspirée de Mac OS X. Cappuccino a été développé par des diplômés de l'université de Californie du sud : Francisco Tolmasky, Tom Robinson et Ross Boucher qui sont également les fondateurs de la société 280 North. Il est publié sous licence LGPL.
Son domaine d'utilisation est le développement d'applications web et non pas de sites web.
Cappuccino est constitué de deux composants distincts : un langage de programmation appelé Objective-J et une bibliothèque orientée objet qui est le portage de plusieurs des frameworks Cocoa en Objective-J dont Foundation Kit, Application Kit, CoreGraphics, et CoreAnimation.
Objective-J
L'Objective-J apporte l'héritage traditionnel ainsi que les appels de messages du Smalltalk/Objective-C à JavaScript. La relation qui lie Objective-J à JavaScript est du même type que celle qui lie Objective-C à C ; Objective-J est une surcouche stricte de JavaScript. Les programmes écrits en Objective-J sont presque identiques à leurs contreparties en Objective-C. Le compilateur Objective-J est écrit en JavaScript et les programmes écrits en Objective-J peuvent être directement compilés du côté client (généralement dans un navigateur web) par le compilateur Objective-J via l'environnement d'exécution (runtime) Objective-J.
Fonctionnalités et avantages
Même si le framework Cappuccino utilise des technologies standards du web telles que JavaScript, le DOM du navigateur et les CSS, ce n'est pas une bibliothèque classique de composants telle que ExtJs, jQuery ou Prototype. Les développeurs utilisant Cappuccino n'ont jamais besoin de manipuler directement le DOM ou de concevoir des documents CSS. Ces tâches sont gérées par Cappuccino, permettant aux développeurs de se concentrer sur la mise en place des fonctionnalités de l'application sans être distraits par les spécificités des mécanismes de rendu. Cappuccino, en étant compilé directement dans le navigateur, est agnostique vis-à-vis du traitement côté serveur. De fait, Python, PHP ou Ruby, par exemple, peuvent être utilisés pour les traitements « d'arrière-boutique » de l'application.
Compatibilité
Cappuccino est compatible avec la plupart des navigateurs récents, notamment : Internet Explorer 7+, Firefox 2+, Safari 3+, Opera 9+ et Google Chrome.
Différences avec d'autres frameworks
Cappuccino diffère des autres frameworks dans le sens où il fournit une abstraction totale du DOM (Document Object Model), là où d'autres frameworks et bibliothèques comptent sur les connaissances du développeur du DOM et des techniques traditionnelles du web. Cappuccino ne requiert aucune connaissance préliminaire des technologies web. Cappuccino propose les dernières fonctionnalités HTML5, abstraites à travers une API similaire à Cocoa. Les vues sont manipulées en utilisant une API qui ne nécessite pas de manipulation des CSS ou du DOM.
Liens externes