Apple-backed SproutCore takes on Flash in race to deliver multitouch web apps
A return to open web standards
At the same time, progress on HTML5 and related frameworks and web technologies has rapidly evolved as the IETF open standards for the web have been fleshed out and implemented by web browser developers.
Apple played a major role in making this happen by releasing both WebCore (based on the open KHTML web rendering engine) and then WebKit (Apple's higher level code used to build an actual web browser) as open source projects.
Nearly every smartphone platform has delivered a WebKit-based mobile browser, and Google has had significant success in bringing WebKit to the Windows PC with Chrome. And of course, Apple's own Safari is the default browser for Macs and its Mobile Safari variant drives the web in iOS iPhones, iPod touches, and iPads. This has immediately shifted the entire mobile web and a significant chunk of the consumer desktop web to WebKit, an HTML5-savvy platform Apple leads in conjunction with other contributors in the open source community.
WebKit's success has been joined by Firefox and Opera, and this high profile, broad support for HTML5 has even induced Microsoft to embrace HTML5 in its own Internet Explorer 9. This guarantees a far smoother future for web developers because HTML5 articulates how web standards must work in far greater detail than previous HTML specifications.
The emerging market for RIAs
HTML5 still does not do everything Flash does. By itself, HTML5 actually does very little to replace Flash other than making it unnecessary for web developers to rely upon Flash for web-embedded audio and video (via the new audio and video elements in HTML5), and to provide some tools for drawing and animating elements within web pages (such as HTML5 Canvas and CSS).
Recognizing this, Adobe has aimed Flash (and its related Flex) towards the emerging market for RIAs, rather than seeking to just hold on to Flash's mainstay of video distribution and simple animated web games.
RIAs can replace native apps, enabling "write once, run anywhere" deployment and allowing vendors to release embedded devices that don't need to depend upon Windows in order to run useful software. Google's upcoming Chrome OS for netbooks and tablets plans to incorporate support for Flash to allow tablet makers to run a collective of such RIA software directly from the web without needing to license Windows.
Adobe's proprietary Flash/Flex platform isn't the only option for delivering RIAs however. It competes rather directly against Microsoft's Silverlight, for example. But there are also a variety of other technologies for delivering RIAs without needing a third party runtime "player" plugin like those required by Adobe and Microsoft. Apple is staunchly behind SproutCore as one of them.
SproutCore aims at touch, tools
SproutCore Touch, a project aimed at targeting the SproutCore frameworks for use on touch-based devices, was introduced at JSConf in April. Its development continues with a first official version planned for delivery this fall.
Jolley added that, "by early 2011, we will have a new set of developer tools ready based on node.js that are much faster and include an interface builder [named Greenhouse, shown below]."
In addition to funding the development of SproutCore for building RIAs, Apple is also working on a variety of related development frameworks related to web standards:
- AdLib for iPad and PastryKit for iPhone have been described as "a visual effects library" for creating simple web apps with native appearance targeted at iOS devices. Apple uses it to build the web-based user manual installed as a bookmark on iOS devices.
- TuneKit is used to build the interactive menus for movie downloads (iTunes Extras) and bonus content created for music (iTunes LP), which playback from iTunes on a desktop PC or from Apple TV.
- Gianduia is a framework that adds Web 2.0-style rich interactivity to the client side of WebObjects. It's used by Apple Retail to create online apps for scheduling appointments and related tasks.