Bonjour,
Je suis pas dev mobile mais j'ai un peu pocké le sujet.
Deja, tu veux faire une application mobile (et pas une web app mobile ).
Du coup, tu vas plutôt chercher a utiliser un compilateur cross-plateforme.
Avec le java, tu vas pouvoir faire de l'android natif.
Pour l'IOs tu as des produits comme robotVm qui vont te permettre de faire du java sur du apple => http://www.robovm.com/
Sinon, en C++ tu as Qt qui te permettra de faire du mobile (Windows, IOS, Android) et du pas mobile. => http://qt-project.org/
Si tu fais du web, tu peux faire de l'hybride (application web qui tourne dans un conteneur natif) => PhoneGap (Cordova), etc...
D'ailleurs je t'invite a lire ce post => http://stackoverflow.com/questions [...] s-phonegap
bref, tu as plein de solution, certaines meilleure que d'autre.
Apres si tu utilises un truc comme qt, tu n'auras qu'a recompiler les sources. Si tu faits avec RobotVM par exemple, il faudra potentiellement adapter ton code (enfin, a mon avis ^^')
En ce qui concerne la compilation, tu devrais le faire pour chaque plateforme (donc pour IOS, faut avoir un environnement apple pour compiler )
Et pour toute les problématiques de gestion des inputs, les outils les gères pour toi. Exemple en QT, tu le définis une fois en C++ et il se débrouillera tout seul pour le faire bien dans chaque langage
Mais bon, en terme de perf rien n'égalera du natif. Donc si tu veux faire un truc super mouf mouf, tu n'auras pas d'autre choix que de faire du natif.
My2Cent,
Ps: C'est quoi ton projet ?
---------------
"La valeur d'un homme tient dans sa capacité à donner et non dans sa capacité à recevoir." Albert Einstein / "Dans la nature, tout a toujours une raison. Si tu comprends cette raison, tu n'as plus besoin de l'expérience." Léonard De Vinci