Activate your free membership today | Log-in

Monday, June 16th, 2008

SproutCore: Being talked of as a Flash killer? Really?

Category: JavaScript

It may be going a little far to hype up Cocoa for Windows + Flash Killer = SproutCore.

The post goes into a lot of history, including going back to NeXT days, to try to setup a case to match the title. It could all be a lot simpler though. They get to the meat:

The SproutCore JavaScript framework was developed outside of Apple by Charles Jolley, originally to create an online email manager called Mailroom. Apple hired Jolley as part of its .Mac team and collaborated to rapidly improve upon his framework.

SproutCore not only makes it easy to build real applications for the web using menus, toolbars, drag and drop support, and foreign language localization, but it also provides a full Model View Controller application stack like Rails (and Cocoa), with bindings, key value observing, and view controls. It also exposes the latent features of JavaScript, including late binding, closures, and lambda functions. Developers will also appreciate tools for code documentation generation, fixtures, and unit testing.

A key component of its clean MVC philosophy that roots SproutCore into Cocoa goodness is bindings, which allows developers to write JavaScript that automatically runs any time a property value changes. With bindings, very complex applications with highly consistent behavior can be created with very little “glue” code.

Take a look at the documentation for a real feel for SproutCore.

This is very different than an actual plugin, one that lets you develop in Cocoa itself. Safari also has the ability to embed Quartz components to do cool things, what if you could do that elsewhere? And then you have Cocoa JS bindings. There is a lot to the story, and it will be interesting to see how Apple bridges it all.

Posted by Dion Almaer at 10:38 am

++---
2.8 rating from 50 votes

15 Comments »

Comments feed TrackBack URI

so much for a good product….:) It’s just a anti-Flash rant.

The server at http://www.sproutcore.com is taking too long to respond.

Comment by patitdude — June 16, 2008

Hi,
Sorry the page is down. Sproutcore.com has been running on a low end shared server since it is just cached wordpress. Unfortunately I could not get it switched to a higher capacity server before the digg-storm hit.

A new server should be up this afternoon.

-Charles

Comment by charlesjolley — June 16, 2008

It sucks. I hate to sound harsh, but there’s nothing here that impresses me. jQuery UI could kill Flash. But not this buggy, ugly, hard to use piece of framework.

Comment by Ryura — June 16, 2008

Hi Charles,
It is a rather stretch to say that it is a flash killer, not to mention flash and javascript live in two difference spaces though serve somewhat the same purpose (interactivity).

Personally I prefer jQuery, http://www.tablefy.com uses jQuery extensively, in fact, everything is jQuery. I would visit your site after it is up, I would like to learn more.

Cheers.

Comment by hyu — June 16, 2008

The site is still slow. I’ll look later.

Question, though. Is this all client side? Does SproutCore force me to have a certain language on the server side, or is it server-agnostic?

Comment by Nosredna — June 16, 2008

There is still some way to go before this can be a Flash killer.

I am still looking for ways to make my own widgets. For the moment, at least I can see that there is a need for datagrid widget.

Comment by tcmak — June 16, 2008

I’ve found that data bindings make programming applications more complicated than it already is. They also make applications harder to debug and performance bottlenecks harder to find (look how sluggish dotmac is) Although this framework may seem like an interesting proof of concept, I would not use it for anything serious.

Comment by gfkspof — June 16, 2008

I do find SproutCore and Cappuccino to be highly interesting if a little heavy. But I think it’s important to make the distinction between Cocoa and having a Mac luscious UI. Javascript’s object literal notation is a beautiful thing and is something to embrace and neither SproutCore nor Cappuccino really do. A few Javascript frameworks use it significantly. I have recently been exploring the Echo3 Javascript framework beta and creating some styling enhancements with more Mac like styling. It embraces object literal notation, layout components, no HTML necessary, and the styling - while related to CSS - is component oriented, and dynamic and scriptable. This framework is simply an elegant, lean, and brilliant gem and I wanted to mention it as an alternative.

Comment by philmaker — June 17, 2008

Error: navigator.userAgent.match(/Firefox\/(.)/) is null

http://developer.mozilla.org/en/docs/Browser_Detection_and_Cross_Browser_Support

Comment by Jeria — June 17, 2008

I think apple will be highly competitive with flash. But not necessarily because of sproutcore, but because of the huge development efforts being poured into webkit now.

Can any of you think of something that flash or silverlight can do that webkit, on its own, cannot- especially now that it has squirrelfish?

Comment by Breton — June 17, 2008

I am really surprised that no one has mentions ExtJS http://www.extjs.com in my opinion the polished look of Ext is much superior to sproutcore and jQuery, and most all the other javascript frameworks out there right now.

Comment by dorgan — June 17, 2008

Hi Dorgan,
The licensing & price of ExtJS isn’t very attractive at all. Sproutcore and others are open source and free. In fact I would even use Flash over ExtJS.

Comment by zivelli — June 17, 2008

Exactly how much of MobileMe has been implemented in SproutCore? Of that part, how much has used the version freely downloadable this week? What I’ve read so far is very vague. Maybe Charles can help?

Comment by modelerr — June 18, 2008

Real flash killer? Faster Javascript, better SVG support and a good framework on top of that….. or maybe just an JS/SVG compiler generating SWF.

Regarding the talk about SproutCore being a Flash killer, it seems more like an alibi for not being able to adopt flash lite into iPhone.

Comment by OndraM — June 18, 2008

“Can any of you think of something that flash or silverlight can do that webkit, on its own, cannot- especially now that it has squirrelfish?”

Can WebKit do…
- Frame based animation?
- Frame rates that run independently of the browser?
- Video?
- 3D? (Okay, so I also hate PaperVision 99.98% of the time, but still…)
- Embedded fonts?

I don’t understand why some people still think you need to use 100% flash or 100% Jvascript to make a website that people can respect. Use each what its meant for.

Comment by restlessdesign — June 18, 2008

Leave a comment

You must be logged in to post a comment.