*** Welcome to piglix ***

Cappuccino (application development framework)

Cappuccino
Cappuccino-icon.png
Developer(s) Cappuccino Core Developers and community.
Stable release
0.9.9 / March 31, 2016; 10 months ago (2016-03-31)
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 adds traditional inheritance and Smalltalk/Objective-C message calls to JavaScript. Objective-J compiles to, and is a strict superset of, JavaScript. This means that all valid JavaScript code is also valid Objective-J code (this is the same relationship that Objective-C has to the C language). Objective-J and JavaScript may be freely mixed within the same source file (suffixed with ".j" file extension) and many framework classes are "toll-free-bridged" to their JavaScript counterparts. For example, CPArray (equivalent to Cocoa's NSArray) and native JavaScript arrays are bridged and may be used interchangeably.

Programs written in Objective-J look very similar to their counterparts written in Objective-C. There are significant differences, however: for example, Objective-J has no header files, and local variables are declared with the JavaScript "var" keyword rather than a type declaration. Most of the Cappuccino framework's classes are named identically to their Cocoa counterparts, except with a "CP" class prefix instead of "NS", and the majority of API's function identically or very similarly. 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. The framework also embeds a tool that can perform this compilation ahead of time, such that only regular JavaScript is sent to the client; this is significantly more performant and generally preferable. The on-the-fly compilation option, however, is convenient for development purposes.

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.


...
Wikipedia

...