Cappuccino is an open source application framework for developing applications that look and feel like the desktop software users are familiar with.
Nobody will deny that there is a distinct difference between a web site and a desktop application. Similarly, we believe there is a big difference between a static web page and a full fledged web application. Cappuccino is designed for applications, not web pages.
Instead of doing all or most of the work on the server, Cappuccino applications do as much as possible in the client. A typical application would never reload, but rather send and recieve data using traditional AJAX techniques and then present that data in the client code.
Instead of worrying about how to implement drag and drop, copy and paste (of text and objects), undo and redo, document saving, rich cross-browser drawing and graphics, and a slew of other features, developers are free to focus on specific problems like PowerPoint support, or Twitter integration, or whatever else makes their application unique and compelling.
Cappuccino is not designed for building web sites, or making existing sites more “dynamic”. We think these goals are too far removed from those of application development to be served well by a single framework. Projects like Prototype and jQuery are excellent at those tasks, but they are forced by their nature to make compromises which render them ineffective at application development.
With Cappuccino, you don’t need to know HTML. You’ll never write a line of CSS. You don’t ever have to interact with DOM. We only ask developers to learn one technology, Objective-J, and one set of APIs. Plus, these technologies are implementations of well known and well understood existing ones. Developers can leverage decades of collective experience to really accelerate the pace of building rich web applications.
Cappuccino and Objective-J run in any modern web browser, including:
Before reading any further, please note that Cappuccino is not like jQuery or Mootools. Cappuccino is not good at making websites. It’s good for making web applications.
Cappuccino rocks at:
Cappuccino is not meant:
The best way to know if Cappuccino is what you want and what you need is to ask yourself:
“Does it make sense to make a native desktop application of my project?”
If the answer is “yes”, then you should definitly give Cappuccino a try. It will greatly improve your developement time thanks to a powerful foundation, great controls and cool toolchain.
Cappuccino is GNUStep or Cocoa for the web. Cocoa is the set of libraries and frameworks used to create both Mac OS and iOS applications.
To use Cappuccino, some knowledge of Cocoa is recommended, in particular its key concepts. As you can see from the following examples, code in Cocoa and Cappuccino looks very similar:
NSString *myString = @"hello world"; NSArray *myArray = [NSArray array]; [myArray addObject:myString];
var myString = @"hello world", myArray = [CPArray array]; [myArray addObject:myString];
Obviously, like everyone else in the open source world, we owe a great deal of thanks to others, including several existing projects. Among them are:
You can learn more about using Cappuccino and Objective-J in this tutorial or by browsing documentation.