Apple's open secret: SproutCore is Cocoa for the WebOne of the biggest revelations at WWDC was quietly unveiled in a session on Friday morning entitled "Building Native Look-and-Feel Web Applications Using SproutCore." While Apple maintained high security during the entire NDA-sealed WWDC session, the secret of SproutCore is out because it is an open source project and people can't stop talking about it.
Adobe's Flash plugin for the Mac has long been a second class citizen because Adobe has focused on its Windows version; Steve Jobs also stated that Adobe didn't offer a mobile runtime appropriate for the iPhone, only a Flash Lite version that wasn't capable of running existing desktop Flash content and a desktop version that wasn't suited to run on a mobile device, as described in Steve Jobs pans Flash on the iPhone.
Jolley's SproutIt decided to move past common scripting frameworks to develop an entire application development stack based on the Model View Controller architecture. In MVC development, Model data and user interface Views are tied together by discrete Controller logic. This is in contrast to typical web development tools that mix logic, data, and presentation together, resulting in code that is messy and difficult to maintain.
Cocoa for the Web
Using SproutCore enabled Apple to deliver a new suite of online apps in MobileMe for a cross platform audience. The natural next step will be to expand those offerings to include others, for example, iWork productivity apps. Because SproutCore is offered under the open source MIT license, anyone can use it to develop their own highly responsive web apps. It also seems likely that Apple will at some point invite third parties to deliver MobileMe applications, either included as part of the subscription service, or with their own nominal fee. That would mirror the company's efforts in creating a mobile software market in the Phone Apps Store.
Until then, Apple is focusing MobileMe as a push messaging alternative to Exchange "for the rest of us," while also leveraging push support in iPhone 2.0 and in the upcoming Mac OS X Snow Leopard client apps to deliver an Exchange Server replacement in Snow Leopard Server.
There's more information about SproutCore on its official website. Apple also has more details on the new MobileMe, and SquirrelFish details are on the Webkit project site.