Flutter : avantages et inconvénients

Logo Flutter

Flutter, c’est le framework dont tout le monde parle, mais pourquoi ? Alors que nous avons pendant longtemps conseillé des développements purement natifs, faute d’avoir des résultats satisfaisants avec les développements multi-plateformes, Flutter rebat les cartes. Qu’apporte t-il pour réussir à souffler un vent nouveau dans le monde du développement mobile ?

Flutter, qu’est-ce que c’est ?

Flutter est le framework de Google permettant un développement multi-plateforme. Il permet donc de ne développer une application qu’une seule fois pour les différentes plateformes : iOS et Android.

Flutter s’appuie sur le langage de programmation DART (à l’origine appelé Dash), créé également par Google et présenté au public en 2011.

Quelles particularités ?

Flutter présente 2 spécificités principales :

  • Les widgets : ils permettent de décrire simplement le rendu final. Chaque objet est défini indépendamment des contraintes parentes. C’est son emplacement dans le code qui permettra de définir ses contraintes extérieures. Cela permet de construire facilement son interface ; le code est alors plus facilement lisible et maintenable.
  • Les composants : ils ont été recréés par Google. Les développeurs disposent d’une galerie de composants s’adaptant à IOS comme Android, et aux différentes versions d’OS.

Grâce à la fonctionnalité Hot Reload du langage DART, le build des applications est très rapide, ce qui rend quasiment invisible le temps de compilation. Un autre gain de temps pour les développeurs ! Les avantages sont donc nombreux, mais il existe aussi des inconvénients.

Flutter : points positifs et négatifs

Voici la liste des avantages et inconvénients pour savoir si, oui ou non, votre projet se prête à utiliser Flutter ?

Flutter : avantages et inconvenients

Notre expérimentation de Flutter

Nous avons réalisé plusieurs applications en Flutter. Chacune des ces applications, comme  par exemple l’application Flutter Festitest, ont apportés satisfaction, aussi bien en ce qui concerne l’expérience utilisateur que le déroulement des développements.

Les développements ont été facilités par Flutter par rapport à l’utilisation d’autres technologies cross-plateforme ou hybride. Flutter permet l’adaptation spécifiques aux plateformes Android et IOS, simplifie la création d’animation, ou encore par l’utilisation complémentaire de composants material design.

À terme, l’ambition de Flutter est de proposer un langage unique pour les 2 plateformes mobile, iOS et Android, et le web ; mais à ce jour Flutter pour le web est encore en version bêta.