Une application cross-platform, en opposition à une application native,  est une application qui une fois développée est capable de s’exécuter sur plusieurs plates-formes comme Android, iOS, ou encore Windows Phone. Dans l'idéal on ne développe qu'une seule fois et on exécute partout. Ce qui n'est pas tout à fait vrai, on mutualise une grande partie du code mais jamais la totalité. Les applications cross-platforms sont généralement développées à l’aide des technologies web, à savoir le HTML, le CSS et le JavaScript.

Tout n'est évidemment pas parfait, on reproche souvent aux applications cross-platform, bien que ça soit de moins en moins vrai, d’être moins performantes que les applications natives. En réalité, tout dépend de la complexité et des fonctionnalités de votre application. L'autre chose que l'on reproche souvent, c'est d'être moins immersives d'un point de vue purement graphique. En effet les guidelines graphiques d'une application Android, iOS et Windows Phone sont très différentes ce qui permet de les identifier au premier coup d'oeil. Dans le cas d'une application cross-platform, on a souvent tendance à créer un design standard qui sera exactement le même pour toutes les plates-formes.


Apache Cordova (ex PhoneGap)

Surement le plus connu des outils cross-platform car également un des plus simple d'utilisation. En effet l'écriture d'une application Cordova se fait en HTML, JavaScript et CSS. L'outil s'occupe ensuite d'encapsuler ce code dans une WebView et génère une application native qui sert de conteneur pour lancer la WebView. De plus, et c'est là tout l'intérêt de Cordova, le JavaScript peut accéder aux fonctionnalités native du mobile (contacts, photos, notification...), ce que les applications web classiques ne peuvent pas. 

Pour

Contre