As Adobe Flash and Microsoft Silverlight duke it out over their plugin-based, HTML-alternative web platforms, Apple is using Gianduia, its new a client-side, standards based framework for Rich Internet Apps, to create production quality online apps for its retail users.
Apple introduced Gianduia last summer at WOWODC (World of WebObjects Developer Conference), an independent event scheduled near the company's own WWDC event in June. It is likely that more information will surface at this year's WOWODC and WWDC events.
Gianduia, named after an Italian hazelnut chocolate, is "essentially is browser-side Cocoa (including CoreData) + WebObjects, written in JavaScript by non-js-haters," according to a tweet by developer Jonathan "Wolf" Rentzsch. "Jaw dropped."
After watching the NDA demo Apple gave for the new framework at WOWODC last year, Rentzch also tweeted, "Blown away by Gianduia. Cappuccino, SproutCore and JavascriptMVC have serious competition. Serious."
A variety of frameworks for building rich apps using web standards
SproutCore is the JavaScript framework Apple uses to build the web interface for its desktop-like MobileMe web apps. Cappuccino is another third party JavaScript framework that works as a Cocoa-like API for web apps; it was used to deliver 280Slides, a web app designed to provide most of the functionality of Apple's Keynote desktop application. JavascriptMVC is also an independent open source project used to develop rich apps within JavaScript for web deployment.
Like Cappuccino, Gianduia takes a Cocoa-inspired name (Cocoa is itself a Java-inspired name) to describe its role as a way for Cocoa developers to bring their skills to rich online applications built using web standards, with no need for a proprietary web plugin like Flash or Silverlight.
While the emerging new support for Rich Internet App features in HTML5 is often pitted competitively against Flash, Gianduia, SproutCore and related frameworks demonstrate that sophisticated web apps are already possible using existing web standards and without web plugins.
Apple Retail has actually already been using Gianduia to create web app clients (which plug into the company's WebObjects-based services), for a variety of popular programs over the last several months, including its One-to-One program, iPhone reservation system, and its Concierge service for Genius Bar reservations and Personal Shopping (shown below) programs.
On page 2 of 2: Adobe running out of AIR.
Adobe running out of AIR
While Adobe's Flash was once considered an essential tool for supporting animation, interactivity, video playback, and rich app development on the web, a variety of advances are chipping away at every corner of the plugin's platform, delivering the potential for better performance and security while jettisoning reliance upon Adobe to deliver cross-platform playback tools and singlehandedly advance the web's future capabilities.
Video: Three years ago, Apple prompted Google's YouTube service to support the new iPhone and Apple TV using direct downloads of H.264 videos, rather than only serving H.263/Sorenson Spark files wrapped in Flash, a standard that Google had adopted toward the end of 2005. A flood of mass migrations toward H.264 video encoding have resulted, enabling Flash-free devices to play videos from an increasing number of sources including Brighcove, Vimeo, ABC, CBS, and Ooyala.
Animation and interactivity: While plugins like Flash and Silverlight excel at drawing graphics within an embedded zone of a webpage in ways that are far more difficult to do in standard HTML, HTML5 now offers a sophisticated Canvas element that can be used to support web games and other sophisticated graphics directly within the HTML itself. That means videos and graphics are part of the web pages' Document Object Model (DOM), and can be animated, manipulated and styled with Cascading Style Sheet transforms that can scale, rotate and move objects around the page or warp them into 3D planes. Flash objects are stuck in their own context, and can't easily integrate with the rest of the web page nor other embedded Flash objects on the page.
Rich apps: Adobe's solution to Rich Internet Apps takes Flash and extends it into an application framework that provides a write once, run anywhere solution similar to Sun's client-side Java. Microsoft has similarly positioned Silverlight as its solution to building apps for both the web and its upcoming smartphone platform. In contrast, Apple's reliance upon JavaScript frameworks means that Rich Internet Apps created with SproutCore or Gianduia, or interactive media created using its alternative lightweight frameworks for building native-looking web apps for iPhone (PastryKit), iPad (AdLib) and interactive content within iTunes or Apple TV (TuneKit) do not require any proprietary plugins from Apple to work.
Performance: Additionally, as browser vendors enhance and optimize their JavaScript performance (as Apple, Google, Mozilla and Opera have been doing), those rich apps will all run better across the board. In contrast, content designed for Flash or Silverlight is dependent upon Adobe or Microsoft delivering timely plugin updates, and being interested in supporting various alternative platforms. HTML5 is already delivering comparable performance to Flash, despite being Flash having a nearly five year head start in optimizing its performance.
Security: Another advantage to JavaScript frameworks is that they use the browser's own JavaScript engine, code that is openly vetted for security issues and has well understood best practices. The rapidly changing, closed development of proprietary web plugins by Adobe and Microsoft open up tremendous potential for complex security vulnerabilities that are not easy for anyone outside of those companies to evaluate. At CanSecWest, security expert Charlie Miller was asked which browser is safest, to which he replied, âthere probably isnât enough difference between the browsers to get worked up about. The main thing is not to install Flash!â