I am interested in writing applications for the iPhone and the Android platform. I was hoping to find a middleware / framework that abstracted away some of the differences in the APIs and allow me to specify the target platform at build time. Is there such a framework existing or planned?
Unity is a cross-platform game engine developed by Unity Technologies and used to develop video games for PC, consoles, mobile devices and websites. Unity is notable for its ability to target games to multiple platforms. Supported platforms include Android, Apple TV, BlackBerry 10, iOS, Linux, Nintendo 3DS line, OS X, PlayStation 4, PlayStation Vita, Unity Web Player (including Facebook), Wii, Wii U, Windows Phone 8, Windows, Xbox 360, and Xbox One.
OpenFL is an opensource port of the Flash API to Desktop,Browser,iOs,Android,Flash,HTML5,etc. and is an option to consider for those coming from a Flash world. It builds to native binaries and targets browsers as well (Flash/HTML5).
MonoGame is an open source implementation of the Microsoft XNA 4.x Framework. It makes it easy for XNA developers to create cross-platform games with extremely high code reuse. It currently supports iOS, Android, Windows (both OpenGL and DirectX), Mac OS X, Linux, Windows 8 Store, Windows Phone 8, PlayStation Mobile, and the OUYA console.
Adobe Flash And believe it or not, Adobe Flash can publish native binaries to ios, android, desktop and of course the web. The performance is reasonable, but not incredible. If you had a Flash game, you may be able to take it to mobile very easily. And this does not require any plugins of any sort. It actually creates a native standalone binary that runs on each platform.