If you haven’t seen it yet, you really should watch the demo of 280Atlas. It’s basically Interface Builder written for the browser. Just watch their demo and tell me that that doesn’t look like a great way to build webapps (and I do mean apps and not sites).
A lot of work goes into designing good software. 280North are taking the great design work put in on Apple’s developer tools and making it available to people building browser-based apps. They’ve saved themselves the work of inventing every little piece of the model, instead focusing on the work of making it work well in JavaScript.
Awesome work, guys!
These apps look really nice, feel nice, and seem like a good idea (Cocoa has evolved from many great minds who were solving the Interface problem and Objective-J is based on Cocoa). However, I’m still on the fence about the whole leaky abstraction thing here. What happens when there is a JavaScript error? Seems like you’re pretty much helpless — just report the bug and wait. But I don’t know, I haven’t used it myself.
John Resig brought this up a while ago: http://ejohn.org/blog/javascript-language-abstractions/
There was a long winded response by the Cappucino crew: http://cappuccino.org/discuss/2008/12/08/on-leaky-abstractions-and-objective-j/
Their point was that everything is an abstraction so why not use an abstraction? I disagree. jQuery is less of an abstraction than GWT, Pyjamas, or Objective-J. If there is a jQuery error you can more or less get a decent traceback (using Firebug) to pinpoint what is happening. Good luck getting a useful traceback with Objective-J or the other compiled languages. That said, Objective-J is a powerful, elegant language and a successful and ambitious product.