I am a .NET developer (over 6 years) and am just starting to learn the development of mobile / smartphones / tablets. It is logical that I (and probably everyone else there) would like the application we are creating to run on all smartphone platforms. From the point of view of an ordinary user (non-professional), it just seems natural that if it is a “mobile application”, it should work on a mobile device. It doesn’t matter if I have an iPhone or Android, a mobile application is a mobile application. Note. I'm talking about developing my own platform, and not about HTML / web applications that can be used in browsers.
So, this is just a high-level overview question ... what are the current strategies (in 2013) to solve this problem? As I believe, cross-platform development mobile development is probably one common code base that implements the business logic of the application, and then for each targeting platform we need to develop a part of the GUI separately. How fair is this in practice?
Take, for example, the popular game "Angry Birds". I played on the iPhone, Android, and even from the Chrome browser on the Windows desktop (perhaps as a Flash or HTML5 game), and each version had a lot of the same playback experience. How did they do it? I think they have a game engine as a common code, but in what language can it be written? As far as I know, there is no single programming language that, taking into account individual source code files, can be compiled into native binary files for ios / android / win8 phones.
source
share