Framework d'applications mobiles

Flutter

Le framework de Google qui produit l'application iPhone et l'application Android à partir d'un seul code, avec un rendu identique des deux côtés. Ce qu'il fait bien, ce qu'il demande, et les projets pour lesquels il convient.

Version 1.0
Décembre 2018
Éditeur
Google
Langage
Dart
Licence
Libre (BSD)

Flutter est un framework créé par Google pour développer des applications à partir d'un seul code : la même base produit l'application iPhone et l'application Android, et peut aussi viser le web ou l'ordinateur. Sorti en version 1.0 en décembre 2018, il s'écrit en Dart, un langage également conçu par Google, et Google s'en sert pour certaines de ses propres applications.

Sa particularité : Flutter dessine lui-même chaque élément de l'interface, au lieu d'emprunter les composants du téléphone. L'application a exactement le même rendu sur iPhone et sur Android, et les animations restent fluides. La contrepartie, c'est une application un peu plus lourde à télécharger, et un aspect qu'il faut adapter si l'on veut coller aux habitudes de chaque système.

Ce que Flutter fait bien, et moins bien

Points forts

  • Un seul code pour iPhone et Android. Un développement, une maintenance, et les mêmes fonctionnalités des deux côtés.
  • Un rendu identique partout. Chaque écran s'affiche de la même façon sur tous les téléphones, au pixel près.
  • Des interfaces soignées. Animations fluides et composants entièrement personnalisables : l'application prend l'identité de votre marque.
  • Porté par Google. Une documentation abondante et un large catalogue de modules prêts à l'emploi.

Points faibles

  • Un langage moins répandu. Dart est moins connu que JavaScript : il y a moins de développeurs pour reprendre le projet.
  • Une application plus lourde. Le moteur d'affichage est embarqué dans l'application, qui pèse quelques mégaoctets de plus.
  • Un aspect à adapter. Par défaut, l'application ne reprend pas les codes visuels d'iOS ou d'Android : c'est un choix à faire au design.
  • Les fonctions les plus récentes en différé. Une nouveauté d'iOS ou d'Android demande parfois un peu de code propre au système avant d'être disponible.

Pour quels projets choisir Flutter ?

L'application à l'image de votre marque

Un design travaillé, des animations, une identité visuelle forte, identique sur tous les téléphones.

L'application de terrain

Formulaires, photos, signatures, fonctionnement sans réseau : l'outil de vos équipes en déplacement.

Plusieurs supports à la fois

Téléphone, tablette, voire ordinateur, avec le même code et la même interface.

Quand préférer autre chose

  • Votre application doit reprendre au plus près les composants de chaque système, ou s'appuyer sur des outils JavaScript déjà en place : React Native. Découvrir React Native →
  • Vos utilisateurs ne s'en servent que de temps en temps : une application web, ouverte dans le navigateur, sans passer par les stores. Voir l'application web →
  • Votre application repose sur une fonction très particulière du téléphone (réalité augmentée poussée, traitement vidéo lourd) : un développement natif, propre à chaque système.

Ce que je propose avec Flutter

Je développe des applications Flutter pour iPhone et Android, avec leur back-office et leur API, et je les publie sur l'App Store et Google Play. Je choisis Flutter plutôt que React Native quand le projet demande une interface très travaillée, un rendu identique sur tous les téléphones, ou une application qui doit aussi tourner sur tablette et ordinateur.

Questions les plus fréquentes

Oui, le framework est libre, sous licence BSD. Le coût d'une application Flutter est celui de son développement, de son back-office, de sa publication sur les stores et de sa maintenance.

Pour la grande majorité des applications, la différence ne se voit pas : Flutter produit du code natif et vise une animation fluide. Les écarts n'apparaissent que sur des usages très exigeants, comme les jeux en 3D ou le traitement vidéo lourd.

Google s'en sert pour certaines de ses propres applications, et de nombreuses entreprises l'utilisent en production. Le code est libre : même si Google changeait de cap, le framework ne disparaîtrait pas du jour au lendemain, et votre application continuerait de fonctionner.

Flutter, ou autre chose ?

Un appel de 30 minutes pour choisir la technologie qui convient à votre projet.

Parler de votre projet →