Cappuccino released : new site, doc and tutorials / nib2cib

Posted: September 25, 2008 in Apple, IT/Dev

Cappuccino has been in fact available since September, 4 ! The new site is very well done, and the documentation made during this summer is huge and great : tutorials and new demosdiscussions and newsclasses reference.

The framework can be downloaded here. Developing is made in the browser code editor, and debugging is available through FIrefox Firebug plugin for example.

The development staff may be working about integrating Cappuccino with Interface Builder, but we can still find a recent project, nib2cib, that allows to convert an IB Nib archive into a Cib archive (that can be loaded by Cappuccino). During the conversion process, the class names prefix have to be modified (from NS to CP), as the Nic archive format is different from the Nib one (it has to be optimized for web download), and the coordinate system is flipped (Y origin at top) compared with classic Cocoa AppKit. The supported classes to create interfaces under IB are those for now : NSButton, NSControl, NSFont, NSObject (and NSCustomObject), NSResponder, NSSlider, NSSplitView, NSView (and NSCustomView) and NSWindow.

On the famous Theocacao site, the author and most readers agree that Cappuccino has been conceived with desktop applications programming in mind (that includes enterprise/B2B applications), in fact it is not intended to develop B2C sites (SproutCore is far more appropriate for these cases : for example Cappuccino doesn’t directly manage hyperlinks, we have to use classic Cocoa AttributedString to call an url from a text control). Moreover it has to be confirmed if Cappuccino handles KVC/KVO like proutCore, but the developers may be working on it.

Access to server-side services seem to have to be managed through JSON (we can call javascript code from Objective-J code, the same as for C or C++ from Objective-C).

Finally the Cappuccino developers can’t do anything about accessibility features for now, they have to wait for the future versions of browsers (provide entry points to system features).

Cappuccino consists of 15000 lines of javascript code for the implementation of AppKit classes, and 5000 lines of code for the FoundationKit port (there is also some CoreAnimation implementation). The whole frameworks are said to weight only 100Kb if compressed (have to be downloaded before application execution, the same as for GWT).
It is possible to extend (subclass) the Cappuccino Objective-J classes, as we can read in this example at (extends CPTextField class to handle hyperlinks/url calls).

Beside the very useful comments on the Theocacao article (that have been resumed in the previous paragraphs), we can read some reactions at Ajaxian.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s