Once upon a time, the path to the Apple App Store was very simple for Adobe Flash developers: Put aside your childish ways and devote yourself to the pure complexity of Objective-C. Your fancy tools and rendering libraries are nice for beginners, but only those who master pointers and malloc were welcome to feast at the table of iOS. Everyone else had the door slammed on their fingers.
The reason was simple: Apple refused to accept code with libraries or interpreters and, like schoolmarms everywhere, insisted that everyone write their own code. Perhaps Apple was afraid of viruses, downloaded code, or competition from cross-platform tools.
[ Peter Wayner explains how to escape the App Store by writing HTML-based mobile apps. | Stay up to speed on programming issues and trends with InfoWorld's Developer World newsletter. ]
That was then. Now Apple has relented a bit and is no longer completely shutting out runtime platforms like Adobe's Flash for the development of iOS apps tailored to the iPhone and iPad. This is good news for the people who've mastered a set of tools that continues to produce some of the best-looking content on the Web.
"Basically Adobe vector and raster rendering are years in the making and they've perfected this technology," says Paulius Uza, CEO of InRuntime, creator of the game Alchemist. His company often prototypes ideas with other technologies such as OpenGL, but he maintains that "the Flash version always looks prettier."
Now Flash developers like Uza have several paths to the iPhone and iPad from Adobe, as well as a sharp competitor built by people who used to work for Adobe. All of them open up opportunities for those who are accustomed to working in the Flash ecosystem to use their talent and old code to create new apps.
The stand-alone Packager for iPhone tool takes your ActionScript 3 code and cross-compiles it to run on an iOS 3.0 or later device. The output is native code, not interpreted Flash bytecode; for Apple, this packaging step pretty much guarantees you won't be shipping new bytecode to the device over the Internet and circumventing the gatekeepers at the Apple App Store.
Packager for iPhone is best for developers who understand how to create a Flash website. Uza said his group likes this option because it offers more control for those who prefer to think along the same lines as programmers. "We are writing the code with Flash Builder, which is for developers only. It doesn't have any tools for visual assets," he notes.
More casual creators such as graphic designers who are more comfortable in an integrated application can use Flash Professional CS5, which now comes with Packager for iPhone built in. Instead of saving the project for the Web, you choose an option to turn the project into an app that's ready for the App Store. It still requires the developer to have a certificate from Apple, which you get from registering with Apple's iOS development program, but Adobe's tools do the rest.