On se retrouve aujourd’hui pour un article un peu différent de d’habitude. Nous allons parler applications natives, cross-plateformes et web !

Quand on choisi de se lancer dans le bain des applications mobiles, 3 chemins se présentent à nous, avec des avantages et des inconvénients de chaque côté.

 

Les applications mobiles natives

Elles utilisent le langage propre à chaque plateformes.

Pour Android, le développement se fera sous Java/Kotlin, à travers l’IDE Android Studio. Il est possible de développer sous n’importe quel système d’exploitation.

Pour iOS, le développement se fera sous Swift, à travers l’IDE Xcode. Il n’est possible de développer, builder et publier sur l’App Store que dans un environnement macOS. Le développement peut se faire sur Xcode, installé sur une machine virtuelle Linux, mais la publication ne pourra se faire via cette VM.

Les applications mobiles cross-plateformes

Ces applis sont développées sous un langage unique, qui s’adaptera ensuite aux différents environnements.

Il existe 2 environnements pour ceci :

    • Flutter : jeune étoile montante, Flutter est un framework open-source créé par Google. Il permet de créer des applications mobiles pour iOS et Android à l’aide d’un langage de programmation unique : Dart. Il s’appuie également sur une bibliothèque de widgets personnalisables et préconstruits.
      Flutter peut également être utilisé pour développer des applications web et de bureau, ainsi que des applications pour d’autres plateformes telles que la réalité augmentée et la réalité virtuelle.

    • React-Native : c’est un framework open-source de développement d’applications mobiles créé par Facebook. Il utilise la syntaxe et les concepts de programmation de React, une bibliothèque JavaScript.
      React Native utilise des composants préconstruits appelés « Native Components », qui sont des éléments d’interface utilisateur natifs de la plateforme (boutons, menus, champs de saisie). 
      Il peut être utilisé également pour créer des applis web ou pour les smartTV et les montres connectées.

Les applications mobiles hybrides (web app)

Ce sont des applications créées qui peuvent être web ou mobiles. Plusieurs plateformes disponibles :

    • Xamarin : créée par Microsoft, elle permet de créer des applications multiplateformes pour iOS, Android et Windows en utilisant C# et .NET.
    • Ionic : c’est un framework open-source de développement d’applications hybrides, basé sur Angular. Il utilise des technologies web telles que HTML, CSS et JavaScript pour créer des applications multiplateformes pour iOS, Android et le web.

Comparatif

Critères  Applications natives Applications cross-plateformes Application hybrides
Langages
  • Java (pour Android) 
  • Swift (pour iOS)
  • Dart pour Flutter
  • JS pour React Native
  • HTML
  • CSS
  • JS
Coûts de développement Plus élevés car développeurs spécialisés. Moins élevés Réduits
Performances Meilleures car utilisation du langage natif Inférieures mais très bonnes Inférieures 
Fonctionnalités Accès à toutes les fonctionnalités natives Pas accès à toutes les fonctionnalités natives Pas accès à toutes les fonctionnalités natives
Temps de développement Plus long car 2 développements distincts Plus court car un seul développement Plus court car un seul développement
Maintenance Mises à jour séparées pour chaque plateforme Mise à jour d’une seule base de code Mise à jour d’une seule base de code
Expérience utilisateur Meilleure car développement spécifique à la plateforme Variable Variable
Taille de l’application Plus petite Un peu plus grande pour s’adapter aux différents environnements Un peu plus grande pour s’adapter aux différents environnements

Pour résumer, avec un budget illimité, le développement natif, comme tu l’apprends à travers ce blog, sera toujours le meilleur choix. Avec une meilleure performance, plus de comptabilité avec les fonctions natives des appareils ou encore une meilleure compilation, développer une application native est la meilleure option.

En revanche, pour un budget plus limité ou si, seul(e), tu as envie de toucher plus de monde, tourne toi plutôt vers une application cross-platefrome. Elles auront une meilleure performance et compatibilité que les applications hybrides. Ces dernières sont, selon moi, le dernier choix à prendre en compte.

Bien sûr, tout est à prendre au cas par cas. Veux-tu développer ton application rapidement ? Est-ce que le développement dépend du budget ? De ton envie ? Des ressources que tu as à disposition ? 

N’hésites pas à (re)lire les 5 étapes pour publier ton application mobile, ça t’aidera à faire le point !

Si tu as aimé cet article, partage le 🫶