Seamus Byrne01 July 2008, 4:08 PM
It’s the meat behind MobileMe, but also just a taste of what SproutCore has to offer as a web application platform for everything Mac developers can offer
The buzz is building for the Javascript framework that lies beneath MobileMe, Apple’s update for .Mac. By bringing Cocoa development into the land of pure Javascript, SproutCore has the long-term potential to give Apple the power to deploy core desktop applications to users on any platform while avoiding the proprietary traps associated with Adobe Flash or Microsoft Silverlight.
In a way, MobileMe is the next Trojan horse for the ‘Apple experience’. The iPod and iPhone halo has taken Apple hardware to a broad audience, and iTunes has successfully delivered the Apple software experience outside their own platform (as has Safari, but with hardly the same halo-generating impact). With the evolution of .Mac into an iPhone synchronisation service, the look and feel of Apple’s desktop software will next month start popping up in Windows browsers in millions more homes.
In its first public presentation, MobileMe was impressive in its reproduction of Apple’s desktop software design and usability on a web platform. What the SproutCore technology tells us is that Apple has adopted an open source, platform-independent, Cocoa-inspired Javascript framework. SproutCore is already in play on the current .Mac Web Gallery, and the MobileMe version takes these galleries a step closer to reproducing iPhoto as an entirely online proposition.
SproutCore isn’t just an internal development tool, but rather a framework that is friendly to both Cocoa and Javascript developers, offering a Model View Controller stack that Rails users would also be familiar with.
But where it takes a leap forward is in pushing more execution onto the client, minimising the reliance on server interactions — and that means faster web apps that can scale in a way that Rails does not. In this way, SproutCore is a generational shift closer to a framework that blends the desktop and the web, giving developers tools that make it easier to move from desktop development to web applications. While Apple uses SproutCore as an interface layer to WebObjects, the same framework works just as well for users of PHP, XML, and WebDAV server-side systems.
Apple has been accused of dragging its feet on Flash support for the iPhone, but SproutCore shows why. Apple is banking on open web standards as the best platform for online applications. That SproutCore brings the flavour of Cocoa to the process is no doubt a major bonus, putting Mac developers in the driver seat.
It may be that Apple’s earlier push for developers to build WebApps for iPhone instead of offering an SDK was just too much, too soon. The SDK may end up being more of a stop gap solution, with SproutCore leading the way to the true arrival of web applications as a cross-platform solution.
Projecting further ahead, what if Apple was to add a browser layer to iTunes with a smart cache to maintain SproutCore web apps between sessions? Such a move could deliver the complete iLife experience to Windows desktops — yet another vector through which Apple can give users a taste for what a move to OS X can bring.