Cappuccino is itself written in a language that the developers call "Objective-J," which consists of many extensions to standard JavaScript. Objective-J provides a cross-platform environment, as well as many enhancements to JavaScript, similar in some ways to the Prototype library. But it also introduces a new syntax, clearly modeled on Objective-C, to provide a new means of interacting with objects within JavaScript. Objective-J extends JavaScript with keywords such as @implementation to define a new object class, method signatures (which let methods indicate what type of data they will return), and object invocations using Objective-C's [object message] syntax, a distinct departure from JavaScript's traditional object.message syntax.
Just as Objective-J is modeled on Objective-C, so too is Cappuccino modeled on Cocoa, the API that application developers use to write programs for the Macintosh. Cocoa is the latest iteration of an API that was originally developed by NeXT, the software company that Steve Jobs founded when he left Apple in the mid-1980s. NeXT's API, known as NeXTStep, was universally agreed to be ahead of its time, allowing for rapid software development. The API was made public as "OpenStep," and a group of open-source developers use that as the basis for their "GNUStep" application framework, which survives to this day. Cappuccino thus offers another version of the same API, this time for Web developers.
The combination of Objective-J and Cappuccino, the authors claim, leads to rich Web applications like the one that they created for their startup, called "280 Slides". And indeed, the widgets and behavior for these applications does feel more desktop-like than many competitors have displayed to date. However, it remains to be seen how these frameworks will interact with existing server-side application frameworks, including such popular ones as Ruby on Rails and Django. It will also be interesting to see how many developers adopt Cappuccino, as opposed to the SproutCore framework that is sponsored in part by Apple. Nevertheless, the release of rich widgets and APIs for Web applications is an exciting event, especially as applications are based increasingly within the browser.
Khürt Williams uses OStatic to support Open Source, ask and answer questions and stay informed. What about you?