Here’s a mind bending thought. Apple is succeeding in requiring that all applications move thru their closely held apps store. So, Apple can cross compile apps prior to delivering them to their closed architecture handheld devices. They can switch processor architectures in the devices at the low cost of creating another cross compiler! Not sure if this matters as much as it would have in the past given what a thin skin most iPhone apps are over the Cocoa toolkit.
I don’t think Apple compiles the apps themselves though? MonoTouch compiles to ARM bytecode and that’s apparently acceptable.
James – Thanks. I was of the impression that the only tool chain that could currently reach the IP*d’s was Apples; so monotouch changes the game somewhat.
But, to your other point, yes the cross compiler would have to work from the ARM bytecodes. But still this differs from prior CPU switching that Apple’s done in that they don’t need to have the cross compiler/interpreter on the device.
The next version of Flash will also target the iPhone: http://labs.adobe.com/wiki/index.php/Applications_for_iPhone:Developer_FAQ
The other point I was going to mention is that the developers sign their compiled apps, but I guess Apple re-signs them before distribution anyway, so that’d be no impediment.
Not that I see Apple changing from ARM in the short term. While they have their own chip design team (that used to make Power architecture chips), designing a new architecture is a huge undertaking, Apple doesn’t have an x86 license and ARM is more power-efficient anyway.
I note with interest[1]: “Apple also uses LLVM in the OpenGL stack in Leopard, leveraging its virtual machine concept of common IR to emulate OpenGL hardware features on Macs that lack the actual silicon to interpret that code. Code is instead interpreted or JIT on the CPU.”
So they are already using schemes like this to buy them hardware design flexibility. A closed architecture enables more of that.
[1] http://www.appleinsider.com/articles/08/06/20/apples_other_open_secret_the_llvm_complier.html
The point about signing is certainly thought provoking; the middleman would always prefer to have the trust and the relationship, while the blame is laid squarely … elsewhere.
Flash targeting the iP{hone,ad,odTouch} directly also ameliorates the lack of a Flash plugin.
Apple raises the ante: New iPhone Developer Agreement Bans the Use of Adobe’s Flash-to-iPhone Compiler and MonoTouch.