Hay soluciones para crear aplicaciones multiplataforma, por ejemplo Adobe Flash Builder, el cual permite exportar tu App a iOS, Android y Blackberry. Si no me equivoco, con este programa, se generan aplicaciones AIR (al igual que con flash, que solo genera aplicaciones para iOS y Android), y tienes la opción de incluir el runtime de AIR, para que el usuario no tenga que descargarlo aparte para correr tu app.
Hay otros programas, orientadas a otro tipo de aplicaciones, y exportan a Android y iOS, por ejemplo Unity, que es para desarrollo de videojuegos.
Por último, está Phonegap, con el que puedes desarrollar apps en HTML5 y luego convertirlas a varias plataformas.
Saludos