Cappuccino 0.7 Now Available

We’re pleased to announce the immediate release of Cappuccino 0.7, the latest update to the Cappuccino web framework. This release has been five months in the making, and it marks a significant step forward for the project.

0.7 By The Numbers

As of version 0.6, Cappuccino had 9 total contributors. Version 0.7 more than triples that number with 29 total contributors. And thanks to the inspiration and hard work of Xavier Noria and José Espinal, we’ve got a slick new website that keeps up to date tallies on all of the contributors to the project. Check it out here. If you find a mistake, be sure to let us know in the comments.

contributors

This release includes over 100 bug fixes, thanks in part to all the new contributors, and to the hard work of users taking the time to file quality bug reports. If you hadn’t noticed already, we’ve moved to github’s new issue tracking for bug reports, so check out the new system, and vote on issues that are important to you.

New Look

aristo

The biggest new feature of Cappuccino is our new new theme: Aristo. Aristo is the new look and feel for Cappuccino applications. Created by the talented designers at Sofa, Aristo is designed specifically to look good in the browser, and in any browser, whether it’s Firefox, Safari, or even Internet Explorer, Mac and Windows. We’ve also open-sourced the PSD file used to create Aristo. All the controls have been updated to use the new style, and we’ve added a few new controls as well, like checkboxes, radio buttons, and segmented controls.

Theming

We didn’t just build one new look for Cappuccino, though. Instead, we built an entirely new theme engine which will let anyone create a theme for Cappuccino. All the properties of the standard controls are fully themeable in all the different “theme states” (like “pushed”, “disabled”, “normal”, etc.). In the coming months, we’ll be sharing new themes with the community, and building a site for users to post their own themes for others to download and use.

Interface Builder

Those of you who come from a Cocoa background are used to using Apple’s Interface Builder tool to layout your Cocoa applications. Thanks to a technology in 0.7 called nib2cib, you can use Interface Builder to layout Cappuccino applications too. All of the classes supported in Cappuccino 0.7 that have Cocoa analogues are included. So, you can drag checkboxes, sliders, text fields, buttons, and lots more. You can even instantiate custom top level objects, or custom view subclasses, which will be converted to the right class in Cappuccino by the nib2cib tool. Once you’re done laying out the UI of your application with Interace Builder, you can use it’s target-action and outlet technology to build up its logic as well.

making a cappuccino application using interface builder

nib2cib is a powerful tool that drastically reduces the amount of code you need to write to build an interface with Cappuccino. The starter package now includes both a nib/xib based application template, and a standard, code based template, so you can choose which is best for you. From the command line you can use the new capp tool to generate a nib/xib project by typing “capp gen -t NibApplication MyApp”.

The Rest

As if that wasn’t enough, there are a lot more changes. First off, improved support for debugging in Cappuccino and Objective-J, thanks to some contributions to WebKit. For more details, see Francisco’s post on the topic.

We now build on top of Rake instead of ant, which has helped us create a much better build system that can improve quickly. Objective-J has improved support for deploying code to multiple platforms, like server (e.g. rhino) and browser. And we’re including the new Narwhal JavaScript standard library in Cappuccino as an external dependency.

Narwhal is still in the early stages, but eventually it will be a set of standard JavaScript APIs that work consistently across many different JavaScript implementations, making it easy to work on any JavaScript interpreter you have available. We’ll write more about all these new features as time goes on, especially all the new tools and APIs in 0.7, so stay tuned. In the mean time, you can check out information we’ve posted to the wiki.

Thanks again to everyone who’s contributed to Cappuccino for the 0.7 release, and to everyone using Cappuccino!

- Ross

Tags: , , , , , , ,

  • mugwump64
    Hi Boucher,

    sure you're right - I've been through the tutorials and even built my first mini-application: The immediate pain of not knowing where what goes wrong fades a little after the first steps.

    Still, the fact that the browser reports the error in the compiled version, you still have to guess where the error comes from. Even harder for beginners. A littlle bit like early jsp...

    I found the debugging-tutorial and after installing the cappuccino-tools and watching some of the screencasts at http://cappuccinocasts.com/ developing with cappuccino starts to feel ok...

    However, testing seems to be a little underdeveloped: This is the only thing I could find: http://www.nice-panorama.com/Programmation/capp... - which is helpful, but a little sparse on the strategies of testing in cappuccino: Are there any more tutorials on testing somewhere? There are some tests in objj/narwhal/test, but I didn't find too many examples for actual cappuccino-application-tests... Any pointers to example would be great!
  • Impressive! It certainly looks beautiful&very complete. I give it a spin today, and my feelings for cappuccino are wow, bad, good, bad again, good again - mixed, to be honest.

    Being very new to cappucino, there are two things I might just have been missing: But they are obviously not prominent enough in the documentation:

    - what about testing? How to test a cappucino app? Is there some sort of ObjectJUnit I have missed?
    - how about debugging? Not the complex things like stepping through, inspecting variables and so on. Just the simple things, like seeing which file produced the error in what line? Every once in a while I got simple problems like a class not being found. This can be easily fixed, because you know which class imports what. The Browser-Error is not of much help: [Exception... "'*** Could not locate file named "AppKit/CALaxer.j" in search paths.' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT)" location: "<unknown>" data: no]. All exceptions are thrown by Objective-J.js - so you can only guess where the error comes from. Other errors are just swallowed silently (This maybe points back to messages being swallowed that go to nil-objects - but how do I find the error now?)

    To sum it up: I'm seriously impressed about the look&feel and the things you can build with it - but I'm missing some basics here: Sure, it will take a while to get into it, but is there a tutorial on how to get these basics (testing, finding&fixing errors) to work?
  • boucher
    Hi Stefan,

    There's a tutorial on debugging and another on Objective-J on the
    tutorials section of our website. (http://cappuccino.org/learn/
    tutorials).

    There is an OJUnit framework which is included in the tools
    installation of Cappuccino. It runs on top of rhino, and right now is
    mostly suitable for non visual testing.

    The easiest way to find the source of an error is to load it in Safari
    4 or a webkit nightly and turn on debugging, and the "Break on
    Exception" option. This will give you a stack trace to the problem.
  • MySchizoBuddy
    Feasibility question
    How feasible it is right now, to be able to create a Web interface to CouchDB using Cappucino
  • aquaibm
    Nice,you guys are the best.
  • Great jobs guys!
  • MySchizoBuddy
    Now that we have nib2cib does this mean Atlas is dead?
  • boucher
    Definitely not.
  • If I'm not in error, the Apple 'Visual Interface Builder' tool is only available for MACs, isn't it ? With regard to approaches in the Apple MAC world, the following post may be interesting, too: http://aralbalkan.com/2152 ...
  • congrats
  • Jason
    I'm going to have to give this a go!!
  • This is another impressive step, great work guys!
  • kriskowal
    Narwhals, narwhals / swimming in the ocean / causing a commotion / 'cause they are so awesome. Narwhals, narwhals / petty big, and pretty wide / they kick that polar bear in the side.
    Like an underwater unicorn / they have a kick-ass facial horn / they are the Jedi of the sea.
  • Andrew
    Great, great, great!

    Congratulations Cappuccino team! =D

    []'s
  • ddewit
    You guys rock! (envy, envy envy)
  • Congratulations guys. Just one small point... in the contributors' site, people with a single commit are supposed to be in the 17th position, not the 11th. :)
  • boucher
    Yeah, we didn't write the contributor software, but I know this issue has been brought to their attention as well, so we'll pull in a fix once they have one.
blog comments powered by Disqus

Download

Cappuccino and Objective-J are licensed under the LGPL. For more information, see our licensing page.

Copyright © 2009 - 280 North, Inc. Cappuccino and Objective-J are registered Trademarks of 280 North. Logo by Sofa. Hosting by Slicehost.