While Apple's ban on cross-compilers in the iPhone 4.0 SDK has raised a lot of discussion on the net, and generated some fiery responses from Adobe, AppleInsider claims a source who says the move had nothing to do with Flash CS5 or another other, specific cross-compiler, and everything to do with multitasking performance:
The primary reason for the change, say sources familiar with Apple's plans, is to support sophisticated new multitasking APIs in iPhone 4.0. The system will now be evaluating apps as they run in order to implement smart multitasking. It can't do this if apps are running within a runtime or are cross compiled with a foreign structure that doesn't behave identically to a native C/C++/Obj-C app.
"[The operating system] can't swap out resources, it can't pause some threads while allowing others to run, it can't selectively notify, etc. Apple needs full access to a properly-compiled app to do the pull off the tricks they are with this new OS," wrote one reader under the name Ktappe.
Apple is using a different kind of multitasking than we've seen before in mobile -- saved state combined with API-level services that take the place of running apps. Are Cocoa touch apps generated in Xcode really different enough from Flash or C#/.Net apps cross-compiled by Flash CS5 or MonoTouch to cause Apple's multitasking system problems?
We're not developers, you tell us.