Le mobile a complètement changé nos vies, depuis nos domiciles nous commandons et se faisons livrer nos achats au bout de doigts. Chaque jours de nouvelles solutions mobiles voient le jour, si vous êtes ici, c’est tout simplement parce que vous voulez développer votre propre application mobile.

Qu’est ce qu’une application mobile native ?

Justement, pour produire une application mobile, nous avons besoin de revenir aux outils fournis par Apple et Google.

Apple fournit Xcode avec l’api COCOA TOUCH, elle recommande le langage Swift pour le développement des applications mobiles native iOS, le langage objective-c reste toujours d’actualité, mais est de moins en moins poussé par la documentation officielle.

Google de son côté, fournit l’api Android sous Android Studio et nous donne la possibilité de produire des applications natives android avec soit Java soit Kotlin.

Donc pour résumer, on appelle application native, toute application mobile produite directement par les outils du fournisseur du système d’exploitation Android ou iOS, respectivement Google ou Apple.

Qu’est ce qu’une application mobile crosse-plateforme ?

Si le développement d’application native nécessite l’écriture de deux codes sources, chacun avec le langage de programmation que le système d’exploitation comprend, le développement des apps mobiles en cross platform, ne requiert qu’un seul code source, ce dernier sera traduit ou interprété différemment sous chaque système d’exploitation iOS ou Android.

Il existe deux modèles d’applications mobiles cross-plateformes:

Les applications mobiles cross plateforme hybrid:

Ce modèle repose sur le navigateur web du système d’exploitation, puisque tous les navigateurs comprennent les langages html/css et javascript, il suffit de produire des applications web responsives et les embarquer dans une webview au sein d’une application mobile hôte pour pouvoir aboutir à deux applications mobiles, une pour iOS et autre pour Android avec le même code source.

fun fact : 

l’appellation hybrid vient du fait qu’on utilise les outils des deux mondes : 

  • le monde des applications web pour créer l’interface utilisateur avec le code métié.
  • Ainsi que ceux du monde des applications natives pour invoquer les fonctionnalités natives du téléphone.

Les deux technologies majeures crosse-plateformes hybrides sont PhoneGap et Ionic.

Les applications mobiles cross plateforme native:

Les SDK permettant le développement d’applications mobiles natives en crosse-plateformes sont des SDK permettant l’utilisation d’un seul langage de programmation pour établir l’interface utilisateur mais avec une différence majeure au crosse-plateformes hybrides, c’est que ces SDK traduisent le code écrit avec le langage de chaque plateforme pour que à la fin, on arrive avec une interface utilisateur construite avec des éléments natifs, les mêmes qu’on verrait si l’application a été développée avec les outils fournis par les deux plateformes iOS ou Android.