3 ms·
The least cynical explanation -- and thus the one most likely to be put forward by Apple -- is that by banning cross-platform compatibility layers, developers a
by jcl 17y ago
The least cynical explanation -- and thus the one most likely to be put forward by Apple -- is that by banning cross-platform compatibility layers, developers are forced to focus expressly on the iPad/iPhone platform, which reduces the likelihood of platform-specific bugs and keeps the developer from cutting corners to remain platform-agnostic (such as introducing foreign UI conventions). Likewise, they can claim that by requiring C/C++ they ensure high performance and efficient use of resources, resulting in better a end-user experience.
A more cynical theory: Apple believes they have more than enough developers for their platform, and they need a way to raise the bar. Particularly, they need to limit the pile of me-too apps, and Flash's impending iPhone compatibility threatens to send nothing but.
The benefit to the user in this case is that they have less crap to wade through in the App Store. The harm to the user is that a highly desirable app does not get made for the Apple platform because the developer is put off. And that risk is spectacularly low: any popular app on another platform is quickly cloned, and any killer app that fails to materialize at all... well, the users would never know what they're missing. (The logic breaks down for expensive-to-develop apps, game franchises, and other forms of lock-in, but these cases are few; Apple can negotiate them on a case-by-case basis.)