« »

SproutCore – Apple MobileMe JS library

Posted June 20th, 2008 by

I’ve read a lot of things about the new open source Javascript library called SproutCore that Apple is using. Here’s an example. Lots of people (writing these articles) seem to think that SproutCore allows you to create desktop apps that run in a web browser ;) . The MobileMe web app is built using this library.

SproutCore is just another JS library, like ExtJS or YUI. Here’s more details on the guts of SproutCore. With a CSS theme that makes it look like OSX look and feel :) . GWT is more ‘complete’ – better support for RPC/services, and all kinds of facilities in the browser for databinding, DOM access, data representation (Java 1.5 objects are serialized automatically without any programming effort), etc. All these features make it easier to write AJAX apps that more closely resemble their desktop counter parts. When people say that SproutCore is just like a desktop app, it’s all marketing BS/rhetoric… the CSS theme used by SproutCore makes the UI look more like OSX, but that doesn’t make it a desktop app :) .

Silverlight and JS libs like SproutCore can’t really be compared. Silverlight does all kinds of interesting things to produce for real desktop apps, and they do app partitioning dynamically. GWT allows you to code in Java – no need to touch JS! So that’s different than SproutCore as well.

Maybe if someone writes a GWT wrapper library for SproutCore that would be pretty cool :) .

Update – July 3 2008 – This is a nice discussion on SproutCore’s blog itself where the differences between GTW and SproutCore are discussed and benefits of one over the other are debated. The fact that you can leverage SproutCore in GWT is pretty cool, and I hope that someone writes a GWT wrapper for it, and hopefully it will kick ExtJS in the nuts :)


2 Responses to “SproutCore – Apple MobileMe JS library”

  1. Jon Gretar Says:

    It’s actually not by Apple but used by Apple.

  2. Nazmul Idris Says:

    Hi Jon

    Thanks for the correction. I will update the blog entry.

    Take care