Développement mobile : flutter rime-t-il avec futur ?

Au cours des dix dernières années, guidées par la course à l’innovation et la révolution des usages mobiles, les tentatives de simplification et d’accélération des processus de développement des produits numériques se sont multipliées.

En effet, une des contraintes majeures du développement sur mobile est la nécessité de rendre ces applications compatibles avec de multiples plateformes comme Android ou iOS.

Cela signifie que les phases de développement, de tests et de publication sont doublées, voire plus. À cela viennent s’ajouter le debug et les mises à jour. Un calvaire pour les développeurs et un coût supplémentaire pour les entreprises.

En 2018*, pour répondre à cette problématique, Google a lancé Flutter, un framework** open source pour la réalisation d’applications multi-plateformes. La promesse ? Permettre aux développeurs de construire en une seule fois des applications qui pourront être déployées sur différentes plateformes (Android/iOS), et même sur desktop et web mobile.

Pourquoi Flutter connaît-il un tel succès auprès des développeurs et quelles sont les spécificités qui en font un outil redoutablement efficace pour développer des applications mobiles de qualité et plus rapidement ?

Pourquoi Flutter est-il unique ?

Ce qui rend Fluter unique, c’est le fait que ce framework permet de créer des applications pour les différentes plateformes du marché en utilisant le même code source. Plus besoin de se plonger dans le fonctionnement de chaque plateforme pour rendre son application compatible ou de la développer deux fois. En d’autres termes, avec Flutter, vous développez une seule et unique application qui fonctionnera à la fois sur les plateformes iOS et Android.

« Le gros avantage de Flutter, c’est moins de codes pour le même résultat en natif sur iOS et Android. »

Baudoin ABCD – développeur chez Betuned

Désormais utilisé par des entreprises comme Groupon, eBay ou Tencent, le framework Flutter a plus que fait ses preuves. Quels sont ses atouts majeurs dans la course à l’innovation à laquelle se livrent start-ups et géants du web ?

Pourquoi Flutter est-il devenu une référence du développement multiplateforme ?

Développer plus rapidement

C’est l’argument-massue de Flutter. Un seul code source pour une application multiplateforme : le rêve de tout développeur et de tout éditeur d’applications. En plus d’un développement accéléré et propre du premier coup, la fonctionnalité « hot-reload » réduit considérablement le temps de compilation du code, ce qui permet de se concentrer sur le développement.

Techniquement accessible

La prise en main de Flutter est simple et intuitive. Le langage DART est un des plus faciles à maîtriser, même pour un développeur débutant. Pour une entreprise qui ne possède pas (encore) de développeurs très expérimentés, Flutter est une option envisageable pour lancer son application en un temps record sans toutefois avoir à sa disposition une armée de développeurs chevronnés.

Tout est Widget

C’est un peu la devise de Flutter. Toute l’interface graphique n’est composée que de widgets (plusieurs centaines) effectuant chacun une et une seule tâche. Les assembler comme des briques de Lego pour construire son application n’est pas un jeu d’enfant, mais la logique est très intuitive et permet de se concentrer sur le parcours utilisateur ou le design de l’application.

Pour les plus expérimentés, il est possible de construire ses propres animations et ses propres widgets, toujours en utilisant DART comme langage de référence.

User first

Les développeurs et les marketeurs le savent, l’expérience utilisateur est cruciale quand il s’agit du mobile. Un léger swipe à gauche ou à droite, une mauvaise ergonomie, et le consommateur abandonne sa navigation pour aller voir ailleurs.

Avec Flutter, une large palette de composants graphiques est disponible. Il y a très peu de limitations, il est pratiquement possible de tout faire. Le langage visuel proposé par Google (Material Design) est spécifiquement destiné aux applications (« mobile first’‘) avec une approche Flat Design, avec des formes simples et un esprit minimaliste.

Pour les plus experts de nos lecteurs, Flutter vient piocher dans la bibliothèque d’images vectorielles Skia qui permet de s’assurer que l’interface utilisateur est identique sur Android et sur iOS. Les applications Flutter se veulent pixel perfect ; ainsi, le design de l’application n’est pas dépendant de l’OS.

Time to Market réduit

Flutter est très prisé des équipes IT qui adoptent les méthodes de développement agile. On parle souvent de « sprint » (phase de développement courte) qui donne lieu à la livraison d’un MVP (Minimum Viable Product), c’est-à-dire une application avec un nombre très réduit de fonctionnalités dans le but de la tester et/ou de la faire valider par le client. Avant de repartir pour un nouveau sprint, et ainsi de suite…

C’est exactement ce que permet Flutter : développer, tester, valider, recommencer… L’avantage majeur est de pouvoir se rendre compte des ses erreurs au fil de l’eau et de les corriger sans attendre le produit fini. Flutter évite ainsi bien des déconvenues lors des phases de livraison d’applications au client final ou en interne.

Réduire les coûts de développement

C’est un peu la conclusion des points précédents : développer plus rapidement et utiliser moins de ressources pour un résultat de qualité, c’est réduire considérablement ses coûts de développement. Particulièrement adapté aux start-ups, Flutter permet de se concentrer sur la valeur ajoutée apportée à l’utilisateur sans s’embourber dans des phases de tests et de QA interminables.

Le futur du développement ?

Affirmer que Flutter va s’imposer comme le framework le plus efficace de l’écosystème mobile est impossible. Mais une chose est certaine : le développement simplifié d’applications à l’aide de SDK ou de frameworks faciles à manier a le vent en poupe.

Dans la désormais célèbre étude « Most Loved, Dreaded, and Wanted Web Frameworks, Libraires and Tools« , réalisée chaque année par StackOverflow, Flutter a été classé quatrième dans la catégorie « Wanted » et troisième dans la catégorie « Loved« .

La tendance est même au développement « no-code » (+ lien vers article no code), révélatrice d’un besoin d’aller toujours plus vite tout en simplifiant l’aspect technique pour se concentrer sur l’expérience utilisateur et en incluant les équipes marketing ou sales sur un projet IT.

Bénéficiant de références solides, d’une communauté grandissante et de l’appui technologique de Google, Flutter a toutes les armes en main pour s’imposer comme LE framework multiplateforme de référence et même au-delà, avec en ligne de mire Windows et Linux. Longue vie à Flutter !

* Le 4 décembre 2018, Flutter 1.0 a été publié lors de l’événement Flutter Live, ce qui représente la première version « stable » du framework. Le 11 décembre 2019, Flutter 1.12 a été publié lors de l’événement Flutter Interactive.

** Framework : En programmation informatique, un framework (appelé aussi infrastructure logicielle, infrastructure de développement, environnement de développement, socle d’applications, cadre d’applications ou cadriciel) désigne un ensemble cohérent de composants logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d’une partie d’un logiciel (architecture).