Vous le savez déja : une application est en général disponible sur APPLE STORE et GOOGLE PLAY : Deux plateformes , pour deux OS ( système d’exploitation) mobiles différents . Cette fragmentation des OS mobiles impose aux développeurs de choisir entre des applications natives , propres à Apple, Google ou Microsoft, ou des environnements “cross platform”, permettant de réaliser une application hybride pouvant théoriquement fonctionner sur différents systèmes d’exploitation.
Applications natives
Il s’agit d’un développement spécifique à un système d’exploitation mobile : IOS, Android, Window , réalisé à partir de langage natif mis à disposition par la plateforme :
– Objectif C, ou swift , pour iOS
– Java pour Android
-C#pour Windows
Avantages
▪Performance maximale et fluidité des applications,
▪Robustesse et maturité des outils,
▪Evolutivité (fonctions avancées, cartographie, APN, objets connectés, , …) & maintenance
Inconvenients
▪Développement spécifique par plateforme,
- Coût initial plus élevé
Applications Hybrides
Il s’agit du développement d’applications sur plusieurs systèmes d’exploitations à partir d’un socle de développement commun.
Techniquement , il y plusieurs type d’application Hybrides
Applications web « encapsulée » :
Il s’agit de site web mobile Web “encapsulé” dans une sous couche applicative. Exemple : PhoneGap/ Cordova, .. Ce type de développement est vraiment à bannir , car les applications proposent une expérience client pauvre, un Fonctionnement lent, unMode off line très limité, mais aussi un Risque de rejet Apple élevé.
Applications « native » générées :
Il s’agit d’effectuer un seul développement sur un socle commun écrit en C#, Ruby, Java…et de générer ensuite des applications iOS et android . Pour cela, on utilisera des « framework », par Exemple : Xamarin, Ionic , React Native .
Avantages
▪Ne nécessite qu’un développement (de la logique / règles de l’application) pour plusieurs plateformes,
▪Coût initial plus faible si 2 ou 3 OS couverts.
Inconvenients
▪Moindre performances et Design spécifique par plateforme, mais aussi des adaptations nécessaires pour IOS et android.
▪communauté de développeur plus faible,
▪Problèmes de stabilité lors des montées en version.
Alors que choisir : application mobile native ou hybride ?
Appfigures a analysé les applications IOS et Android publiées en 2016 et 2017, et ils ont comparé celles qui utilisaient l’un des outils non natifs répertoriés ci-dessus avec celles qui ne l’étaient pas. Non seulement le nombre d’applications non natives est relativement faible, mais ce nombre a diminué d’une année à l’autre sur les deux plates-formes?
Des outils de développement d’applications hybrides.. proposés par Google et Apple
où les choses se compliquent, c’est que les environnements “natifs” de Google ou Apple sont désormais également en mesure de coder des applications hybrides fonctionnant sur d’autres systèmes d’exploitation
Lancé en 2014 pour remplacer Objective-C, Swift est un langage de développement Apple devenu particulièrement populaire. Pensé initialement pour les applications iOS, il peut également être utilisé pour des applications Android.
D’autre part , À l’occasion du MWC 2018 de Barcelone, Google a annoncé la mise en service de la beta de Flutter. Il s’agit du nouveau framework d’interface utilisateur mobile de Google, gratuit et open source, qui aide les développeurs à créer des interfaces natives pour iOS et Android.
Contrairement à React, inspiré du développement web, Flutter est un véritable langage de développement, pensé pour concevoir des applications natives Android, mais également iOS. A suivre ….