Daniel Dura on Apollo

Some notes from the session:

What is Apollo?

Apollo is a cross-OS runtime for building RIAs. Leverage skills in Flash, Flex, HTML, Ajax to build and deploy desktop RIAs.


Targetting the Apollo runtime as several benefits:

Build applications using the following technologies:

Scripting support:

For example, you can embed Flash into a JS container and traverse the Flash DOM from JS. You can walk the DOM in both JS and Flash, transparently.


Rich set of frameworks and APIs:

Application stack

Apollo APIs

Desktop Integration


Danny's got a couple of AIR files (the installer) and the Apollo runtime (Apollo.msi on Windows) on his desktop.

Pixel Perfect by Christian Cantrell. The installer looks like it was created in Flex. Creates shortcut on desktop. Installation was simple. It's a ruler application. Very cool/simple app. (I use Grab on OS X for measuring areas of the desktop but this looks cooler!)

In Task Manager it's taking up 0 CPU 14,256K memory at the moment. (It has its own process in the Task Manager.) If one Apollo application crashes, it won't affect any other Apollo applications.

Users really don't need to know that they're running Apollo apps. It's just like any other app.

Lookup by Christian Cantrell. App that loads word definitions from a web service. Cool little application. Apollo will allow people to build small desktop applications easily.

File Browser. It's a OS X-style file browser built in Apollo. Neat.

He's now showing an application that loads in your iTunes music and plays them back. Flickr photos based on song that's playing. Cool 3D spectrum analyzer.

Video Demo: Full-screen video of an IMAX Deep Sea video. It's very high quality.

Building a sample Apollo application

Danny is now building an Apollo application in Flex. Basically, it's like any other Flex 2 application with the following differences:

Inside the ApplicationWindow, he puts some regular Flex components (Button, Label).

Application.xml manifest file:

[xml] Hello World Sample Daniel Dura apollo_demo.swf [/xml]

You can use command line compilers to compile Apollo and create Apollo installers. (You don't have to use Flex Builder 2.)



There's a question:

Are there APIs for accessing databases?

No object-relational mapping. They're exploring data support. You can write AMF objects to the file system. AMF is the format of Flash Remoting.

Apollo looks really great. Can't wait to try it out with Flex 2. It's going to open up desktop application development to a large number of web developers.