Flutter, le prochain leader du développement d’application multiplateforme ?

Développement mobile
ideematic Par ideematic
18 août 2020

Les applications que vous utilisez sur votre mobile peuvent être conçues de nombreuses manières et leurs structures sont souvent différentes. Parmi la longue lignée des outils qui permettent leur développement, un petit nouveau a fait son apparition en 2015 : Flutter. Plus d’un million de développeurs l’ont déjà utilisé. Quel type d’applications permet-il de développer ? Comment fonctionne-t-il et que propose-t-il de nouveau par rapport à ses concurrents ?

1) Opter pour une application dite native ou multiplateforme ?

Avant tout, il faut savoir qu’une application peut être native ou multiplateforme.

  • Une application native est développée spécifiquement pour un système d’exploitation précis (Android, iOS, Windows Phone,) avec des technologies qui lui est propre. Ainsi, si vous avez un iPhone, les applications que vous y utilisez sont surement développées avec le langage Objective-C ou Swift. Pour Android, ce sera Java ou Kotlin, etc.
    L’avantage de ce type de développement et d’application est d’exploiter l’intégralite des fonctionnalités natives des appareils (GPS, appareil photo, etc.) et de proposer des outils riches et rapides. Mais son inconvénient est son coût. En effet, si vous voulez que votre application soit utilisée sur Android et IOS, elle doit être développée deux fois. Par ailleurs, elles risquent de présenter des différences, car développées par 2 équipes différentes.
  • De ce fait, d’autres outils de développement (ou framework) sont apparus pour générer des applications compatibles avec plusieurs plateformes. Ils permettent un développement unique de l’application déployée sur les différents systèmes d’exploitation. Désormais, il n’est plus question de réfléchir au support visé, mais à son contenu !

2) Comment choisir un outil multiplateforme ?

Parmi les frameworks multiplateformes actuels, on peut citer Ionic, React Native et Flutter, le petit dernier. Les trois sont open source, à savoir que tout le monde peut voir accès à leur code source, les lire, les modifier ou les redistribuer. Ils fonctionnent sur un modèle de développement collaboratif et décentralisé.

  • Ionic est un framework gratuit créé en 2013 qui utilise les technologies web comme HTML, CSS ou JavaScript. Il s’appuie sur AngularJS, Cordova et Node JS. Avec lui vous pouvez aussi bien développer une application mobile que web.
  • React Native a été créée par Facebook. Sa première version date de 2015. Il est basé sur React qui est une librairie JavaScript, langage habituellement utilisé pour le Web.
Facebook, Instagram, Skype ou Airbnb ont été réalisés en partie ou entièrement grâce à cette technologie. Sur Github (hébergeur de code open source), il est un des projets les plus populaires !
  • Flutter est le plus récent des frameworks multiplateformes. Il a été créé par Google en 2013. Son langage de programmation, également inventé par Google, est DART dont la première version date de 2011. Celui-ci est présenté comme étant le successeur de JavaScript en mieux ! Il permet aussi de développer des applications web. Depuis sa 1ere version en 2018, Flutter affiche une croissance de 279 % et est devenu le 2e projet open source en nombre de contributeurs en 2019.
    Comme exemple d’applications conçues avec Flutter, on peut citer Alibaba.

4) Pourquoi utiliser Flutter ?

Tous les frameworks multiplateformes ont leurs avantages et leurs petits défauts. Mais qu’en est-il de Flutter ? Quels sont ses atouts ?

  • Sa force réside dans les faiblesses de ses concurrents :
Dernier arrivé sur le marché du framework multiplateforme open source, ses créateurs ont pu relever les qualités des outils existants et dépasser leurs limites.
  • Sa simplicité d’apprentissage et d’utilisation :
    Flutter est bien plus abordable que Java, Swift ou encore React Native et la documentation fournie est très complète. Avec lui, il est enfin possible de créer une application mobile sans devoir passer par des kilomètres de codes.
  • Des économies en temps et en argent :
    L’application est développée une seule fois et il est impossible de voir la différence avec une application native. Grâce au langage DART, Flutter génère un code natif pour chaque plateforme. C’est la garantie d’un fonctionnement optimisé de l’application sur chaque système d’exploitation. C’est une grande différence avec ses concurrents. De plus, les très nombreux widgets fournis permettent de créer une interface utilisateur optimum. Ils intègrent toutes les spécificités des différents systèmes d’exploitation telles que la navigation les polices, le défilement, etc.
  • Un travail sans interprète :
    Contrairement à React Native, Flutter n’a pas besoin d’interprète pour interagir avec les différents composants de chaque système d’exploitation. De ce fait, les performances de ses applications sont meilleures et elles sont plus rapides. La plupart des problèmes sont résolus grâce à son moteur graphique Skia et l’utilisation de C++ en plus de Dart optimise l’ensemble. En effet, Skia lui permet de dessiner l’interface et non d’être « un wrapper » au-dessus des composants natifs à Android et iOS.
  • Le hot reload (ou rechargement à chaud) : une productivité maximale :
    Avec Flutter, il est possible de tester très rapidement des fonctionnalités, des interfaces utilisateurs, ou encore corriger des bugs. Il garantit de modifier son code et de voir les résultats en temps réel grâce au hot reload !
  • Une communauté grandissante :
    Flutter est un petit nouveau. De ce fait, son principal concurrent React Native affiche une plus grande communauté. Ses différents membres ont pu développer beaucoup plus d’outils et de bibliothèques les aidant au quotidien dans la conception de leurs applications. Mais attention, en peu de temps, Flutter en possède déjà beaucoup et de grosses applications comme Alibaba prouvent qu’on peut avec lui réaliser de beaux outils. D’ailleurs les deux se talonnent sur Github ! Le nombre de contributions au projet Flutter y est à l’heure actuelle de 19 673 contre 20 538 pour React Native !

Flutter est un outil puissant et dispose désormais d’une version stable. Et Google n’a pas l’intention de s’arrêter là. Plus de fonctionnalités sont prévues, mais aussi une version web et desktop. Avec toujours un seul code source et une application native, vous pourrez multiplier les supports bien au-delà du mobile. Flutter se positionne ainsi comme un vrai framework multiplateforme !

Vous avez un projet ?
Des objectifs ?

Nous vous proposons de l’expertise, de l’expérience et de la méthodologie.

Parlons de votre projet d’application mobile avec Flutter.

Retrouvez-nous sur :
Articles similaires