Hybride ou Natif ?¶
Deux systèmes d’exploitation se partagent à l’heure actuelle une grande part du marché des smartphones : iOS et Android. Rendre une application disponible sur ces deux plateformes nécessite de développer et de maintenir deux codes différents. En effet sur la plateforme Android, le développement se réalise essentiellement en utilisant le langage Java, alors que sous iOS il est effectué en Objective-C ou en Swift. C’est ce que l’on appelle le développement en langage natif.
Le développement hybride permet de n’avoir à maintenir qu’un seul et unique code. L’application sera développée en combinant les technologies HTML, CSS et JavaScript. De nombreuses applications disponibles actuellement sur les différents « stores » ont été développées de cette façon.
Cependant le développement hybride a ses limites. En terme de performances et de fluidité, une application native donnera de meilleures résultats qu’une application hybride. La programmation native permet un accès direct aux ressources matérielles du téléphone. Certaines fonctionnalités du téléphone peuvent ne pas être accessible en programmation hybride (par exemple la reconnaissance d’empreintes digitales). Néanmoins dans de nombreux cas, le développement hybride s’avère être la solution la plus simple et la plus rapide à mettre en oeuvre afin d’obtenir à partir d’un seul code une application s’exécutant sur deux plateformes différentes. De plus la norme HTML5 étant en constante évolution, certaines ressources matérielles du téléphone telles que les capteurs de luminosité, de mouvement, la caméra, etc… sont à présent accessibles directement via une balise HTML et du code JavaScript.