Friday, September 5th, 2008

Cappuccino and Objective-J released as opensource

Category: JavaScript

We were all very impressed with the work that the 280 North team did with 280 Slides, and they fulfilled their promise by opensourcing Cappuccino and Objective-J under LGPL:

Cappuccino is an open source application framework for developing applications that look and feel like the desktop software users are familiar with.

Cappuccino is built on top of standard web technologies like JavaScript, and it implements most of the familiar APIs from GNUstep and Apple’s Cocoa frameworks. When you program in Cappuccino, you don’t need to concern yourself with the complexities of traditional web technologies like HTML, CSS, or even the DOM. The unpleasantries of building complex cross browser applications are abstracted away for you.

Cappuccino was implemented using a new programming language called Objective-J, which is modelled after Objective-C and built entirely on top of JavaScript. Programs written in Objective-J are interpreted in the client, so no compilation or plugins are required.

The team has done a good job doing what many opensource projects miss, giving documentation and discussion. It will be interesting to see how others take this work and produce compelling Web based products. Let us know if it is you!

Posted by Dion Almaer at 7:19 am

3.8 rating from 29 votes


Comments feed TrackBack URI

“Pretty much everyone agrees that JavaScript, and application development on the web in general, are in serious need of an update”
Hmm. How about “some people think…”

Comment by Nosredna — September 5, 2008

Must say I have to agree with Nosredna. Plus I find this part ironic: “you don’t need to concern yourself with the complexities of traditional web technologies like HTML, CSS, or even the DOM.”
And one from their website: “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.” I must say I’ll be sure to stay clear of this framework.

Comment by TNO — September 5, 2008

In some regards they are right. Though I am not sure I agree on that there’s much of a difference between “web” and “apps” in regards to how they can be solved with Ajax. Though “apps” tends to have far more focus on domain problems which increases the reasoning for stuff like ORM, tiers, abstractions etc. “Websites” don’t need so much of that but more of HTML, “Bling” and design things.
A business user of some CRM system normally wouldn’t care if the form he uses for creating new customers looks like TOILET paper. Though he WOULD care a LOT if it contained compromises which creates holes in security, makes it little responsive to use or don’t have “feature x”.
While throwing the same design at a website often streamlined to try to “sell” something would be horrible.
You can see this in fact at which is an “application”. They’ve spent something like ZIP on design and the whole kitchen sink on functionality and domain problems related to CRM…
How many here would use the design at their web-shop…? ;)
While how many here would create with the design, architecture and tiers from…? ;)
There IS a difference, and the Java guy has a very valid argument all though making those arguments today is very unpopular because it tends to question what people have a lot of love and affection towards today which is Rock Star JS frameworks like jQuery, Dojo, Moo, ExtJS Prototype and so on.
I am dead set on myself that Ajax will survive and “win”. But I am also equally dead set on that developers will NOT create next generation of web-apps in JS. I think that ajaxian guy from agilepath something once called JavaScript the “new Assembly Language” at his blog and I totally agree with him! JavaScript is Gods gift to *framework* developers. NOT Application developers…
Just like x86 ASM is Gods gift to C++ compiler writers, but very few successful applications have ever been written in it. At least lately … ;)
I tend to look at it like this; “The web is dead, long live the web”…

Comment by ThomasHansen — September 5, 2008

BTW, it was Dietrich Kappe I think which wrote “the new Assembly Language”… ;)

Comment by ThomasHansen — September 5, 2008

“JavaScript is Gods gift to *framework* developers. NOT Application developers…”
I’m surprised you could say that when you have things such as Yahoo mail and Google maps right at your finger tips. Surely we haven’t overlooked the fact that currently underway exists ES Harmony, CSS3 and HTML 5. Hell, look at the FireFox browser: more and more of the code base is being pushed into JavaScript and out of C++. We now have JIT engines & Server Side JS support with Jaxer & Rhino among others. I have to disagree with the statement that JS is the assembly of the web, the analogy does not fit.

Comment by TNO — September 6, 2008

FYI, Brendan Eich made a related comment on this technology awhile ago:;243672124;pp;5

Comment by TNO — September 6, 2008

I think what rubs people the wrong way about this framework (rubs me anyway), is the arrogance of the authors. They appear to be making pronouncements about what is the Best(tm) way to develop web applications whilst marginalising the jQuery/dojo/prototype approach as sort of , okay, if you’re into that sort of thing. But they don’t have any real research or numbers to back up their claims- There’s no evidence that objective-J will help you make bigger more complex applications than other frameworks. There are hidden dangers in completely “abstracting away” the hodgepodge of technology the web is built from. When the abstraction fails, there’s essentially nothing you can do except misguidedly curse at javascript, or whine at the framework authors to fix their stuff. This is why ASP.NET sucks, folks. It’s another framework that doesn’t understand what the web is.

There’s huge benefits in the architecture of the web that this approach is throwing away- namely the separation of logic, structure, and presentation- so each aspect can be worked on independently by a team of people with varying levels of skill. The REST architecture’s robustness over a hostile network connection, is also thrown away (unless you break the abstraction somehow). The benefits of working with the browser- Such as the universal back button, and bookmark button, and typically, the elegant avoidance of forcing the user to deal with the O/S’s file system (a usability disaster). So now- what do we get? We get to open files and save files to the hard disk, instead of our data simply existing without us having to think about it? it’s frankly a step backward. It only looks like a step forward because it shows that the web has equivalent expressive power for the creation of applications. But it’s capable of so much more than a desktop application ever could be, and these guys don’t seem to realize it. If anything, this shows what power javascript is.

Finally, anyone who thinks of javascript as an assembly language doesn’t know jack about javascript, and I wouldn’t take their opinion particularly seriously. At least when it comes to programming.

Comment by Breton — September 6, 2008

I love the look & feel of Cappuccino apps but the Objective-J scared me off.
I can’t believe they made it. It takes all the bad parts of Objective-C and puts them in Javascript.

Comment by Jaaap — September 6, 2008

So there’s editor support for two editors. And they are both commercial Macintosh editors. ::rolling eyes:: No support for cross-systems such as Eclipse, Aptana, NetBeans, or Komodo.
I’m fine with it not having a compile stage, but its should at least have a Obj-JLint. We’ve pretty much lost the use of jslint if we’re writing Obj-J, no? I find it hard to learn a new language without error messages.
I imagine it’s somewhat tricky to write in ObjJ and then debug in JavaScript.
So it seems to me, overall, to be hampered mostly by tool support, especially compared to GWT or Script#.
But it still looks kinda fun to me. I’ll be willing to try it as soon as someone BESIDES the developers comes up with something cool.

Comment by Nosredna — September 7, 2008

My first experience with 280Slides was putting together a nice little presentation that got lost because I got into some weird unrecoverable state. I know it was beta and all, but it really put me off. I’m assuming those kind of things have been fixed by now?

Comment by Nosredna — September 7, 2008

Leave a comment

You must be logged in to post a comment.