Steve Jobs Offers Explanation About iPhone SDK Changes Restricting Adobe and Other Cross Compilers
In a series of emails reportedly between Steve Jobs and Greg Slepak, Jobs responds to questions about Apple's recent move to ban tools that allow cross-compilation from other languages into iPhone OS native code. The change in terms effectively blocks Adobe's Flash-to-iPhone compiler and could affect other similar developer tools.
Jobs reportedly points to John Gruber's analysis of why Apple might have implemented this. Gruber argues that Apple wants control over native iPhone OS development and cross platform solutions would dilute iPhone-exclusive and iPhone native apps.
If that were to happen, there's no lock-in advantage. If, say, a mobile Flash software platform -- which encompassed multiple lower-level platforms, running on iPhone, Android, Windows Phone 7, and BlackBerry -- were established, that app market would not give people a reason to prefer the iPhone.
And, obviously, such a meta-platform would be out of Apple's control. Consider a world where some other company's cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company's toolkit is slow to adopt them. At that point, it's the other company that controls when third-party apps can make use of these features.
Gruber also believes that these cross platform compilers rarely produce high quality native apps. Steve Jobs reiterated this point in a followup email:
We've been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.