Cappuccino News

Here's a quick update on what's new with Cappuccino this past month.

New features

  • Some major features have been added to xCodeCapp:
    • xCodeCapp has been upgraded to version 3.1.
    • You can update Cappuccino from xCodeCapp.
    • You can check the code style (capp_lint) of the current project from xCodeCapp.


Building Cappuccino Documentation

In this post I will explain how you can use the jake command to build the Cappuccino documentation straight from the source. I will cover building both the HTML version of the source, as well as a DocSet version suitable for use in Dash or XCode.


Cappuccino 0.9.7

After nearly a year's worth of work we are truly excited to introduce Cappuccino 0.9.7, a major update to the Cappuccino framework featuring a massive number of new features.

Since Cappuccino is such a wide framework, ranging from a low foundations such as our Objective-J compiler, all the way up to the full featured, fully themable UI kit AppKit, it's incredibly hard to summarise all the changes. But here's our best stab at it:


Cup - The File Upload Framework

A common need for Cappuccino apps is the ability to upload files. Until now, the only native Cappuccino upload solution was DeepDropUpload by David Cann. While DeepDropUpload works, it hasn't been updated in two years, and it doesn't integrate directly with Interface Builder.


The New Objective-J 2.0 Compiler

The new Objective-J 2.0 compiler has three components: tokenizer, parser and code generator. The merging of this pull request brought major improvements to the tokenizer and code generator.

Tokenizer improvements: macros and preprocessor directives


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.


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).


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.


Cappuccino 0.9.6

Cappuccino 0.9.6 is a stable build of Cappuccino for those of you not yet ready to update to Objective-J 2.0.

Should I get Cappuccino 0.9.6?

Are any of the following true?

  • I need a stable build.
  • I am currently using Cappuccino 0.9.5, 0.9.6-RC1 or 0.9.6-RC2.


Introducing Cappuccino-Project.org 2013

We're extremely excited to today unveil the new Cappuccino project website. We've been hard at work with this site for quite a while now, and we think it represents a major step forward for Cappuccino as an open source project.