De mon point de vue, il y a une contrainte forte a la source qui determine la solution a envisager : la necessite ou non d'avoir des performances "temps reel" ; par la j'entends toute forme d'interaction qui demande de la precision et du timing dans un environnement riche et complexe (e.g. jeu de plateforme / action).
Pour les perfs ne sont pas un facteur bloquants, plein de solutions sont possibles, plusieurs on deja ete citees : xamarin, html5, etc.
Dans le cas contraire, on preferera souvent se tourner vers plusieurs developpements, utilisant chacun les technos natives/propres a chaque plateformes (voire chaque gamme, si on couvre des machines de differentes generation aux performances tres variees)
Les solutions actuelles ne sont pas encore "mures" pour du temps reel cross-platform portable.