Well, first of all I don't really know how the hardware of a smartphone is, and I've just programmed for Android. But it feels safe to think that a smartphone is just an old PC with some particular things, but an old PC anyway, I think even the worst smartphone today likely has more power than the an standard PC equiped with the first Pentium 4, and that if Android uses those premises for programming so it would be in Iphone, Windows phone and the like.
So, why is its programming so different? I mean, I could write lots of medium sized desktop application programs with any language for that use, and I could hardly notice the difference between running the program in a brand new PC or an old Pentium 4 computer, yeah some mobile apps are big and might require better resource management, but those aren't a lot.
I personally find mobile apps would be easier to program this way and that it would be the most logical way for them to have been developed, in fact I don't think they should have a problem to execute any program that for example executes in windows, yeah I know operating system is far from being the same, but support could be included for those programs, as I guess mobile phones have enough power to run lots of them.
Is there any failure in my reasoning? Which one? If not, why may they not make it as it's on desktop programming?