up

Cappuccino is an open source framework that makes it easy to build desktop-caliber applications that run in a web browser.


Features  

Objective-J code

Lightning Objective-J Language

Objective-J is a powerful object-oriented language which compiles to run in the browser. Because Objective-J is a superset of JavaScript, it's easy to mix and match. Objective-J extends JavaScript with traditional inheritance and Smalltalk/Objective-C style dynamic dispatch.

Learn
Fish

Fish Stunning Controls

Cappuccino's AppKit ships with a huge number of controls, each polished far beyond what's expected on the web. You can quickly build complex apps without reinventing the wheel every time you need a scrollable, sortable, virtual, auto-saves-column-settings table view.

* Fish widget not actually included.

Learn
XcodeCapp Notification

Paint brush Interface Builder

If you have a Mac you can build your Cappuccino user interface in Xcode's Interface Builder, just like you would in Cocoa. Skip the tweak-coordinated-rebuild-test cycle and just place labels and buttons where you need them. The XcodeCapp utility will do the rest.

Learn


Download  

Box

Latest Version: 0.9.6 (January 20, 2013)

Beyond the starter pack, Cappuccino comes with a number of tools to make it easy to create new applications. With or without the starter pack, you can install all of Cappuccino and accompanying tools with the following command:

curl https://raw.github.com/cappuccino/cappuccino/v0.9.6/bootstrap.sh >/tmp/cb.sh && bash /tmp/cb.sh


What Next?

Your download includes a README file with a few quick tips on how to get started.

You’ll also probably want to check out our tutorials section. The get started one is designed specifically for figuring out what to do the very first time you download Cappuccino.

Getting the Source

If you'd like the full source, you can check it out from our GitHub repository, or clone it with this command:

git clone git://github.com/cappuccino/cappuccino.git

Learn more about contributing.


News

Highlights

Cocoa on the web: 280 North, Objective-J, and Cappuccino

...from what I have experienced using 280 Slides, a future with Cappuccino based-apps is a bright one.

Chris Foresman, Ars Technica

Why Objective-J, Cappuccino and SproutCore are completely changing the web app industry

...if you use Cappuccino, those apps will automatically look and behave like ... desktop apps - with zero learning curve on the developer's side. He or she can simply focus on building an kick ass app instead of trying to re-invent basic UI functionality every single time.

Ryan Carson, Carsonified

An interview with 280 North on Objective-J and Cappuccino

I can see the allure of Objective-J / Cappuccino for building desktop-like Web applications. It gives you a very high level abstraction over the browser. No more DOM. No more CSS layouts, which can be the bane of your existence for a complicated and dynamic layout.

Dion Almaer, Ajaxian

From the Blog

The Node Project - Take 2

The time has come to move Cappuccino to Node.js. Why move to Node? There are three main reasons:

1. Cross-platform parity

Cappuccino's build system is built on top of narwhal + rhino (jsc on Mac OS X). Rhino/jsc is the Javascript engine, narwhal is a set of libraries that interface with the host system. Rhino requires Java and is very slow. Narwhal has been abandoned. In addition to these dependencies, our current build system relies on Posix binaries to overcome limitations in narwhal.

Read more...

Pass by Reference

Objective-J 2.0 now supports pass by reference using the new @ref and @deref syntax. Pass by reference allows you to store a reference to a variable in a different variable and then to pass it around. Among other things this makes it possible to send a message which returns multiple values (one as the return value, and an arbitrary number as output variables).

Read more...

Dictionary Literals

Support for dictionary literals has today been added to Objective-J 2.0 in Cappuccino master. A dictionary literal allows you to allocate a CPDictionary with specific contents in a concise and readable manner.

Read more...