On building Apollo Apps, Is the playing field level?

The introduction of Apollo by Adobe, as with most new waves of their technology, represents a shot at entering/re-entering an already hot and lucrative application development market. Most of us applaud Adobe for continuing to push the envelope, thus giving developers a chance to cash in on the perpetual ‘latest thing’ as businesses always aim to stay in front. Usually, with a revolutionary new technology, capable developers start at a similar level, resetting everyone fairly at the starting gate. (This happened for me when Halo 2 came out, as I was a bit late in getting into the first version and not much of a match for friends who had been playing for a year.)

Developers excited about Apollo with little to know experience with Flex 2 may be in for a shock. It’s true that everyone is being introduced to the new APIs that Apollo brings to web application developers, including File System, Windowing and Connection detection, to name a few. By design, these new APIs and classes are easy to learn. Apollo prerelease participants have known this for a while. If you attended ApolloCamp or have purchased the brilliantly simple Apollo Pocket Guide, you know just how compact the added Apollo feature set really is.  

So why may the release of Apollo not be a chance at a level playing field? For every simple aspect that Apollo introduces, there is a more complex element in Flex 2. Granted, Flex 2 is simple in many ways. The IDE for Flex, Adobe’s Flex Builder 2 (built on Eclipse), could be one of the more seamless development environments ever created. And the Design view in that tool lets developers launch web apps in short time.  

The complexity of Flex 2 lies in the large and comprehensive framework it carries. Learning Flex 2 and ActionScript 3 is far from challenging. With dozens of excellent resources, including books and code samples, a developer can learn Flex 2 rather quickly. It is only over time, though, and with actual real-world experience that a developer will master this technology.  

Now, I would be remiss if I didn’t mention Apollo’s ability to compile ‘desktop applications’ out of other popular web technologies like HTML, JavaScript and Ajax. The absence of this support in the first alpha release of Apollo makes it difficult to gauge just how good of an application you will be able to build. Even with this support, most believe that the more robust Apollo apps will be based on Flex 2. Surely, Adobe may want to see it this way, seeing as Flex Builder 2 is being positioned as the bread and butter authoring tool for Apollo apps.  

For those of you not considered masters Flex 2, you need not worry. My advice is to start learning it now. Immerse yourself in as much Flex 2 as possible. In conjunction with your exploration of the hot new Apollo, try building out capable web apps by pushing the limits of Flex 2. Tap into the books (Programming Flex 2, Professional Flex 2 and the AS3 Cookbook, to name a few) and blogs (like Ted Patrick). And while not out for some time, our Professional Apollo book will be positioned to address the concern above, focusing on quality application development with Flex 2 for most, while making comprehensive detail on the new Apollo APIs available to everyone.