One thing all of these products share in common, however, is that they don't output native iPhone binaries on their own. All of them generate intermediate code that must be imported into Apple's Xcode IDE for the final build process. It's sort of like the early days of C++, where the C++ "compiler" was really just a preprocessor that output ordinary C code.
Specifics are pretty scant so far, but from the sound of it, this isn't the approach Adobe is taking. Instead, Adobe is using Apple's Low Level Virtual Machine (LLVM) compiler infrastructure to build iPhone binaries directly. Adobe engineers have written a new front end for the compiler that understands ActionScript code, which then gets translated into native ARM assembly language by the existing back end.
The phrase "assembly language" here is a little unclear. Technically, assembly language is source code, which still needs to be run through an assembler to produce a final, machine-language binary. If that's what Adobe is outputting, then Flash CS5 will be much like the other products on the market. If Flash really will be able to output binaries, however, I wonder how Apple will take it.
Apple keeps tighter grips on its iPhone developers than any other smartphone vendor in the market. Its control over the iPhone App Store is absolute. Plus, it has the most expensive developer program around: Sure, the membership fees are reasonable enough, but because you can't output iPhone binaries from anything but Xcode, every iPhone developer also needs to go out and buy a Mac. I doubt Apple wants anyone messing with that sweet setup -- not even a longtime partner like Adobe.
Flash's last chance for relevance