Is SproutCore worth the Flash and Java iPhone snub?
Shows promise, reveals limitations
Posted in Software, 2nd July 2008 05:02 GMT
Free whitepaper – Service level monitoring and management
In this case, the value of the label is bound to a property of the detailController class. SproutCore has already generated this class, in the controllers folder, so to get this working it is only necessary to add the property:
sMessage: 'Some text here'
This is a true bound control. If the property changes at runtime, so does the text of the label. Even better, SproutCore supports observers. Write a JavaScript function, and add the following to the end of the declaration:
.observes('someProperty')
Now the function fires whenever that property changes.
There are more good things in SproutCore. The framework talks JavaScript Object Notation (JSON) for exchanging data with a server, and has its own in-memory database called SC.Store. The SC.Record class has built-in methods for RESTful communication with a server. You can use validation classes with input controls.
There is a range of stylish user-interface objects, including a grid, a list and a tab view; and there is support for drag-and-drop. A test framework and test runner are integrated into the development tools. It also makes use of the jsdoc toolkit, to enable documentation to be generated from comments in your code. SproutCore builds on Prototype for cross-platform support, so it will not be entirely unfamiliar to Prototype users.

SproutCore springs to life
On the negative side, the SproutCore documentation is thin, the project is unfinished, and it does not feel ready for mainstream use. Still, it has huge promise and should mature rapidly now that it has the support of Apple and the attention of others.
In a recent mailing list post, Jolley explained the SproutCore philosophy. "It is designed around a different architectural model than most web apps," he said. "It's closer to a client-server model than a web-server model. You download an application written in JavaScript to run in the browser and then it communicates with your server via AJAX."
It may suit Apple in its battle to keep runtimes out of the iPhone, but do the rest of us need SproutCore, or is it inviting trouble, delivering a tangle of JavaScript to the client rather than using a trusted runtime like Flash or Java?
Instinct says the latter, but SproutCore makes an impressive case for at least considering the AJAX alternative.®
Free whitepaper – Ensuring high service levels in cloud computing

Checklist: Midmarket ERP Solutions
Enabling The Agile Data Center
10 Strategies for Choosing a Midmarket ERP Solution
Analyst Keynote: The Register Agile Data Center Summit
Market Primer: ERP Systems
Office 2010 fights Google with SharePoint bloat
Ubuntu's Karmic Koala bares fangs at Windows 7
Icon design for
Microsoft 'Dallas' muscles Google data crusade