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?

Thank you.

closed as too broad by gnat, user40980, user22815, Robert Harvey, Kilian Foth Jul 17 '15 at 6:13

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • I'll leave the answering (or closing) of this question to others, but I think you'll find this link interesting. What you seem to be asking is why can't windows programs run on android, correct? Sounds like Microsoft and Xiaomi are working on it. http://mashable.com/2015/04/03/microsoft-windows-on-android/ But don't hold your breath waiting for it. In our industry, all kinds of stuff gets announced and worked on that never materializes into real products. – Joe Ballard Jul 17 '15 at 0:29

Like Charles E Grant mentions - there's a lot of hardware on a phone that your average PC doesn't have.

However, even if we discount all that - the system architecture of a smartphone is very different to that of an IBM compatible PC. Different processors mean different instruction sets. There's also the issues of the very low power available to phone electronics compares to your old PCs.

And then there's the user interface - touch (and multi-touch) is very different to keyboard/mouse. The screen on a phone is much smaller - it may have the same resolution (or better) as compared to VGA, but VGA monitors were physically bigger.

And then you have very different OS: iOS, Android, and Windows Mobile are different to their desktop cousins.

Chances are, though, you've just used the default development framework for Android - and this can make it seem even more different to PC application development.

There are software tools out there to help developers with cross-platform development - frameworks like Qt (C++) and Xamarin (C#) abstract the differences between mobile and desktop app development.


Think of all the hardware a phone has that a typical PC doesn't have! Cellular radio, accelerometers, GPS, touch screen, and a tiny battery with very limited power. Even if you don't use any of that hardware, you are writing your software for a GUI that is optimized for touch devices with a small screen. Microsoft tried to push having a similar GUI on phone and desktops (Windows 8), and it was widely rejected.

Not the answer you're looking for? Browse other questions tagged or ask your own question.