iPhone SDK: Smashing Flash Rumors

If the next great future of computing in the Cloud, as many pundits -- not to mention Google -- think, then the next great race is delivering that future via Rich Internet Applications. Right now, there are two major ways of doing this. The first involves using a proprietary, locked in technology (admittedly with increasing "openness") like Adobe's Air/Flex/Flash trifecta, or Microsoft's .Net/Silverlight double team. The second is with truly open standards such as HTML, CSS, and AJAX (Asynchronous Javascript and XML) like Google, Yahoo, and many others use.

With the iPhone Apple has squarely planted itself in the second category. They even promoted them as a pseudo-SDK for a time! (And maybe gave up too soon?)

Flash-free, Silverlight-less, but full of interactivity and cloud-based applications, Apple just unleashed .Mac upgrade MobileMe complete with "desktop class" mail, calendar, contacts, and photo gallery web apps.

And according to this year's WWDC buzz, they used SproutCore's Javascript frameworks to do it? Why?

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.

Check out the read link for more on Apple's use of SproutCore, and how it might just be part of a growing trend for open standards-based web interactivity.