No native apps on Windows Phone 7 Series
androgeek.com
androgeek.com
.NET managed code is bytecode for the CLR virtual machine.
That's a significant difference.
It's easier on the iPhone to do more with the same hardware while maintaining UI responsiveness.
The generally accepted meaning of "native" when used in the term "native code" is "not run on a virtual machine". This is also the definition of native that is in use when native is applied to "applications" or "apps". "Applications" is pretty close in meaning to "code", and "applications" are very different from APIs, so I don't see how you justify interpreting native with a definition that is only applicable to APIs.
Not that it really matters as it looks like the ARM monoculture is going to continue for a while. At least ARM is a sensible architecture, unlike the power-sucking monstrosity that is x86 and the hardware to support its weird and wonderful instructions.
CLR or compiled code is not the issue here - it's the hardware - resolution, number of buttons - that stuff.
For games - compiled code and no garbage collecting might be better, but it's doable with CLR too (and actually I preffer CLR with JIT on the device more than compiling).
This is not how it turned out (at least not for now).
It may run well in the future, but, by then, what's the point?
How exactly it isn't? iPhone apps run natively on the ARM processor inside the device. .NET code run off pseudocode on a virtual machine. You appear to confuse the CLR with an operating system.
First native iPhone apps are compiled. Second Apple specifically made it that garbage collector is not used, although they released it for Mac OS X (Objective C 2.0 runtime).
Here is how low-level - "C", and assembly - for example you can use (depending on the ARM version) various math libraries on the iPhone to get speedup.
Check the oolong engine for more details.
"The Android reference implementation does not (yet) contain such a JIT compiler, though other implementations may choose to provide one."
I thought that was one of the complaints about Android/Java - the VM runs the code; there's no JIT. That's why the prototype Dalvik JIT that was announced very recently was big news. It certainly wasn't announced in the 90s, anyway.
If that's the case - what kind of compiler we are talking here? A really good optimizing compiler would probably use a lot of memory, and cpu clocks.
I'm not expert, so I might be totally wrong about it. Just thinking out loud.
But on phones, 'native' means you get access to the phone itself, the OS, and its APIs, and non-native means javascript/html-powered everything.
Let's waste it!