A lot of people have taken note of the following passage in the iPhone 4 developer agreement:
Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited.
It’s clear that Apple isn’t going to allow Flash to run on the iPhone, so Adobe came up with a creative alternative — a tool that lets you convert Flash into a native iPhone application. Packager for iPhone is to be included with Flash Professional CS5. Now Apple has made it known that applications created in this manner will not be approved for inclusion in the iPhone App Store.
Why would Apple make this rule? Perhaps there’s a technical reason, but my guess is this is pure cutthroat business. To create applications for the iPhone, you have to use Objective C. If you want to port the same application to Android, you have to rewrite it in Java. If Adobe and other tools vendors come up with applications that translate from ActionScript to Objective C and to Android’s flavor of Java, suddenly it’s much easier for developers to maintain their applications on multiple platforms. It looks like Apple wants to make sure that being multi-platform stays expensive, and that people just stick with building applications for today’s dominant platform — iPhone.