Cappuccino (application development framework)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Cappuccino
Cappuccino-icon.png
Developer(s) Cappuccino Core Developers and community.
Written in JavaScript/Objective-J
Operating system Cross-platform
License LGPL
Website cappuccino-project.org

Cappuccino is an open source application development framework for developing web applications that look and feel like desktop applications on Mac OS X. Cappuccino was developed by University of Southern California graduates Francisco Tolmasky, Tom Robinson and Ross Boucher, who are also the founders of 280 North, Inc. It is primarily targeted towards web applications developers.

Cappuccino consists of two distinct components: a programming language called Objective-J and an object-oriented library which is the Objective-J port of several of the Cocoa frameworks, namely Foundation Kit, Application Kit, CoreGraphics, and CoreAnimation.

Objective-J[edit]

Objective-J adds traditional inheritance and Smalltalk/Objective-C message calls to JavaScript. Objective-J shares the same relationship with JavaScript as Objective-C shares with C, so it is a strict superset of JavaScript. Programs written in Objective-J are almost identical to their counterpart written in Objective-C. The Objective-J compiler is written in JavaScript and programs written in Objective-J may be directly compiled on the client side (typically in the web browser) by the Objective-J compiler through the Objective-J runtime.

Features and advantages[edit]

Even though the Cappuccino framework uses standard web technologies for web page rendering, such as JavaScript, the browser Document Object Model, and Cascading Style Sheets, it is not a classical JavaScript widget library such as ExtJs, jQuery or Prototype. Cappuccino developers never need to directly manipulate the DOM or design CSS documents. Instead, those tasks are handled by Cappuccino, permitting the application developer to focus on the implementation of application features without being distracted by specifics of the rendering mechanism. Cappuccino, being compiled directly in the web browser, is agnostic of the server-side logic. As such, Python, PHP or Ruby, for instance, may be used for the back-end logic of an application.

Compatibility[edit]

Cappuccino is compatible with many of the latest browsers, including: Internet Explorer 7+, Firefox 2+, Safari 3+, Opera 9+, and Google Chrome.

Differences from other frameworks[edit]

Cappuccino differs from other frameworks as it provides a complete abstraction from the DOM (Document Object Model), whereas other frameworks and libraries rely on the user understanding the DOM, and traditional web technologies. Cappuccino doesn't require previous knowledge about web technologies. Cappuccino implements the latest HTML5 features, abstracted through a Cocoa-like API. Views are manipulated using an API that doesn't require CSS or DOM manipulation.

Applications[edit]

The first widely known web application written in Objective-J/Cappuccino was 280 Slides, an online presentation preparation system. 280 Slides features the ability to import existing documents, an autosave recovery, is able to save documents as Microsoft PowerPoint, PDF, and OpenDocument formats, and has a wide range of themes.

Since then, numerous other applications have been built on the Cappuccino framework. Notable examples include Mockingbird, a collaborative online wireframing tool, PicsEngine, a personal photo library on the web, GitHub issues, a front-end to GitHub's issues tracker, Spot Specific Apps a la Carte, an online mobile app authoring tool, Archipel, a XMPP orchestrator to manage virtualization, Akshell, a cloud-based JavaScript development platform, and R.W. Elephant, a cloud based inventory management system for rental businesses.

External links[edit]