- We design and build extraordinary applications for companies looking to make the next great idea a reality.
- learn more
Adobe Apollo - First Impressions
I just worked my way through the O'Reilly Apollo for Adobe Flex Developers Pocket Guide. This booklet is written by the Apollo development team and is essentially a "getting started" guide to the Alpha1 release. The booklet doesn't contain anything that you can't find in the online documentation available from Adobe (which may in fact be more up-to-date), though. In fact, they both contain the same oversite, i.e. they neglect to mention that you will need some sort of Flex SDK for the Apollo SDK to work. That may seem obvious, but is in fact a bit of a stumbling block for those of us expecting the Apollo SDK to be a complete solution. For those of you looking to experiment with the SDK, download the free Flex SDK and unzip it to the same dir where you plan to install the Apollo SDK.
What is Apollo?
It is important to step back for a second and point out what Apollo is not. Apollo is not a general desktop runtime meant to compete with lower-level application runtimes. This means that you probably wouldn't want to build Photoshop on top of Apollo. Apollo's primary use case is enabling Rich Internet and web applications to be deployed to the desktop. This is a very important but subtle distinction, as enabling RIAs on the desktop is the primary use case driving the Apollo 1.0 feature set.
[...]
Apollo solves most of the problems with deploying web applications via the browser. However, there are still advantages to deploying applications via the browser. The fact that there are so many web applications despite the disadvantages discussed earlier is a testament to the advantages of running within the browser. When those advantages outweigh the disadvantages, developers will still deploy their applications via the web browser.
But is it not necessarily an either/or question. Because Apollo applications are built using web technologies, the application that you deploy via the web browser can be quickly turned into an Apollo application. You can have a web-based version that provides the browser-based functionality, and then also have an Apollo-based version that takes advantage of running on the desktop. Both versions could leverage the same technologies, languages, and code base.
Apollo applications complement web applications. They do not replace them.
I have been and continue to be skeptical about the future of Apollo. The niche described above seems most compelling for the mobile space, support for which is not in Alpha 1. You think Apollo is going to take off? Then I have a Java WebStart app I'd like to sell you.
What else is in Alpha 1? Support for Flash (surprise), HTML and tight integration between the Flash/ActionScript and Javascript/DOM sides of the house, abstraction of OS services (File I/O, windows, etc.). What isn't in Alpha 1? No PDF support, nor the talked about security or offline parts of the platform. They need to introduce this kind of support quickly, otherwise nimble desktop RoR beasts likeSlingshot that promise to have "simple and transparent data synchronization" will eat their lunch.
As for developing applications in it, if you've developed Flex apps before, it should all seem very familiar, with the addition of some OS/Browser specific API's. Some other observations:
- Apollo uses WebKit as it's HTML engine, the same one that is used within the MacOS browser Safari.
- IDE development with Apollo only works with FlexBuilder 2.0.1 right now. If you want to use Eclipse and the free Flex SDK, you are out of luck for now and will be restricted to doing command-line development (or installing an evaluation copy of FlexBuilder).
- It is somewhat humorous that Apollo's built-in HTML engine doesn't deal with flash in a web page.
- As already mentioned, you will need the Flex SDK in some form to have the Apollo SDK work.
- I was't able to get the packaging command, adt, to work for me. It returns a "null" error.
Overall, the Alpha1 SDK has a complete component GUI, since it leverages Flex, and basic integration with the OS and HTML engine. We'll have to await a future release to see all of the things that will make developing robust RIA's on the desktop (offline + security) pleasant and easy.
Topics: Apollo
Comments: 1 so far
Leave a comment
About Pathfinder
Recent
- Automated Deployments Rock
- Bandwidth profiling Flex projects and more with Charles
- iPhone SDK: UIViewController Testing & TDD
- Icons are evil; so are menus - unless you do them right
- The Truth About Designing For Security
- GWT, Gadgets and OpenSocial, Part 2
- Has Many has_many: A Refactoring Story
- The Hidden Power of Canvas
- Review of fixture_replacement2 plugin
- Chess Game Viewer in GWT
Archives
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006


Just to clarify, you do not need the Flex SDK to use the Apollo SDK. It is entirely possible to build a complete Apollo application using nothing more than HTML/JS/CSS. The initial Apollo reference book you mention is indeed focused on the Flex developer - but that doesn’t mean you need to have/use Flex to build an Apollo application. We are working on a JavaScript version of the book for the Apollo beta release.
Thanks for looking at Apollo and providing your feedback!
Kevin Hoyt
Adobe
Comment by Kevin Hoyt, Saturday, May 19, 2007 @ 4:19 pm