Applications mobiles natives ou hybrides ? Quelle différence ?

Bonjour à tous, c’est José de NetDevices. Je vous ai auparavant parlé de l’intégration continue et des outils de versioning. J’ai choisi de changer de contexte pour aujourd’hui et de me concentrer sur les différents types d’applications. Chez Netdevices, nous disposons d’une expertise digitale nous permettant de développer régulièrement des applications mobiles natives et hybrides. Voyons la différence ensemble.

Application Native ? Qu’est ce que c’est ?

Une application mobile native est en général développée spécifiquement pour un OS mobile (iOS ou Android par exemple) dans un langage définis par l’éditeur de l’OS et avec des outils de développement spécifiques ( SDKs, IDEs, …). Ces outils sont eux aussi fournis par l’éditeur de l’OS.

Si l’on souhaite qu’une application soit disponible sur plusieurs OS donc cross platform (mais aussi cross device), il faut la développer autant de fois qu’il y a d’OS ciblés. Ceci signifie par conséquent que le code sera différent en fonction de chaque OS, plateforme et device.

SDK : Software Development Kit

SDK (Software Development Kit) fait référence à un logiciel regroupant un ensemble de fonctions mises à disposition des développeurs leur donnant accès aux ressources de l’OS et de son device.

Ce logiciel va ainsi faciliter le processus d’implémentation.

IDE (Integrated Development Environment)

Les IDEs (Integrated Development Environments ou Environnements de Développement Intégrés) correspondent à des environnements de programmation.

Ils sont composés :

  • d’un éditeur de code,
  • compilateur,
  • débogueur,
  • générateur d’interface graphique ou simulateur.

Chaque OS a un IDE différent. Pour Apple par exemple les développeurs utilisent Xcode. Xcode est une application qui permet d’écrire le code, de compiler l’application et de tester toutes les tâches usuelles de développement. Pour Android les développeurs utilisent Android Studio.

A quoi correspondent les applications mobiles hybrides?

Contrairement aux applications natives, le code de l’application hybride peut être le même pour différents OS, seule la “capsule” native changera.

Cordova & React Native, deux exemples de technos pour les applications Hybrides

Cordova  utilise les outils de développement web. Le développeur écrit alors un unique code pour une application web ou un site web qui va ensuite « s’encapsuler » automatiquement dans une application native. Les outils de développement web cités auparavant restent ici indépendants de l’OS. On procède simplement avec un navigateur web.

Pour React-native le principe est donc le même, sauf que les outils sont plus intégrés avec l’OS. Ils utilisent un moteur Javascript (celui de Chrome en l’occurrence). Avec ce moteur, on écrit du code Javascript (indépendant de l’OS) qui va manipuler des objets natifs (vue, écran, capteur, appareil photo). On va donc pouvoir utiliser du React-native sur toutes les plateformes pour lesquelles ils ont adapté le moteur Javascript.

Petit Bonus : Qu’en est-il des Applications Web?

Une application web ou (webapp) fait référence à un site web adapté pour les smartphones, accessible et exécutable via un navigateur internet.

Contrairement aux applications natives, elle a la particularité d’être accessible sur tout type de smartphones quelque soit leur système d’exploitation. Elle ne nécessite de plus aucun téléchargement

Chez NetDevices nous utilisons particulièrement du Javascript.

Des applications mobiles Natives & Hybrides Made in Netdevices

Au fil du temps, nous avons ainsi eu l’occasion de développer de multiples applications mobiles hybrides pour plusieurs clients dans des secteurs différents.

A titre d’exemples:

  • Sysmedic Bed Management
  • Terre de Lyn
  • Expway
  • Parki

Du côté des applications natives, nous avons donc développé des applications telles que:

  • SGCIB
  • 3D sound lab
  • videodesk

Pour plus d’informations, n’hésitez pas à regarder nos projets.