Développement d'application mobile, Flutter, unsplash
28 mars 2021

Faut-il passer à Flutter ?

Partager l'article

C'est LE framework à la mode ! Flutter rebat les cartes du développement mobile en permettant de développer quasiment nativement une seule application compatible sur Android comme iOS. De quoi séduire les développeurs mobiles !

Exit le développement d'applications spécifiques pour les deux systèmes d'exploitation mobiles du marché : iOS et Android. Flutter brise les codes et permet de coder une seule et même application pour ces deux plateformes et en natif, rien que ça ! S'appuyant sur le langage de programmation Dart (ex-Dash créé par Google en 2011) destinée, à l'origine, à se substituer au JavaScript, Flutter bénéficie du soutien de Google depuis la sortie de sa première version stable en décembre 2018. Celui-ci se veut particulièrement intéressant en termes de conception d'application mobile et vient directement concurrencer React Native, le framework de Facebook.

Des avantages percutants...

Aujourd'hui, deux frameworks se partagent le marché du développement mobile multi-plateformes : React Native et Google Flutter. Si l'outil de Facebook utilise le langage JavaScript avec des bibliothèques de premier ordre notamment pour la partie interface utilisateur approchant l'apparence des composants natifs (un bouton iOS ressemble à celui-ci), Flutter mise sur l'interopérabilité native tout en se montrant particulièrement performant. Selon le test opéré par l'entreprise Rainway Inc avec Flutter, « la latence lors du transfert de paquets vidéo en continu, mesurée entre la réception du paquet de WebRTC du côté Flutter et son acheminement vers le décodeur du côté natif est d'environ 0,3 milliseconde. Cela ne représente que 2 % de la durée d'une seule image de séquences de jeu de 60 ips. » De plus, ce framework possède deux particularités principales :

  • Les widgets : permettant de construire simplement des interfaces tout en apportant une lisibilité dans le code et donc une maintenabilité plus importante ;
  • Les composants : conçus par Google, les développeurs disposent d'une large galerie de composants s'adaptant tant à iOS qu'à Android.

Parallèlement, les éléments n’existant pas sous Flutter peuvent être créés via des ponts en code natif Swift ou Kotlin. Le langage de programmation, étant plus récent, se veut mieux optimisé. Il nécessite moins de lignes de programmation pour un résultat équivalent en natif. Vu qu'une seule application est générée pour deux plateformes, la maintenance s'avère simplifiée et rapide, la correction de bug et les mises à jour s'effectuant qu'une fois tandis que Flutter supporte les anciennes versions des OS (Android 4.1 et + / iOS 8 et +).

… et des inconvénients

Comme tout framework récent (ou pas!), celui-ci souffre de quelques déficits. La technologie encore jeune nécessite une petite prise en main, le développeur devant apprendre un nouveau langage, la courbe d'apprentissage sera plus long qu'une personne sachant déjà coder en JavaScript qui se tournera plus facilement vers React Native, utilisant ce langage, ce dernier disposant (encore) d'une forte communauté. À cela s'ajoute le poids des applications créées sous Flutter, plus lourdes tandis que les nouveautés annuelles des OS ne sont pas toujours implémentées dans Flutter à leurs sorties. Des fonctionnalités comme la prise en charge de la 3D émergent sous ce framework et ne possèdent pas encore toute la force que peuvent avoir d'autres frameworks, mais ce ne serait tarder, les développeurs de Flutter étant plutôt proactif.

Globalement, malgré sa relative jeunesse, ce framework séduit de plus en plus de personnes, réduisant fortement le délai de développement et de mise en production. Un gain de temps non négligeable qui peut fortement réduire le coût des projets. Et vous, êtes-vous plus Flutter ou React Native ?

 

Nos dernières formations Code

  • Mettre en place une démarche Green IT
    Découvrir
    Comprendre et mettre en place une démarche Green IT 
    4h00 4 leçons
  • Apprendre Typeform : Les fondamentaux
    Découvrir
    Apprendre à créer un formulaire avec Typeform
    1h16 4 / 5
  • Créer un site web avec HTML/CSS
    Découvrir
    Avant d'apprendre à développer et mettre en ligne votre propre site Internet, il est important de bien connaître les bases du HTML et du CSS. Dans cette formation en vidéo et cours en ligne, vous découvrez ce qu'est le HTML et CSS ? Le fonctionnement des sites web ainsi que la structure d'une page HTML.  Vous êtes guider pas à pas pour apprendre à intégrer des images, de l'audio et des vidéo. Vous apprenez à gérer et ajuster les polices en CSS, à comprendre la structure du CSS, les tableaux, boutons et formulaires en CSS.  Vous suivez la méthodologie de mise en page CSS et à styliser une page web avec le CSS. Formation pratique vous créez et stylisez les éléments principaux d'un site web avant de mettre en ligne et indexer un site, d'ajouter des éléments graphiques en CSS et d'animer un site en CSS
    16h20 14 leçons
  • Construire une API REST avec Symfony
    Découvrir
    Apprendre à créer une API REST avec le framework Symfony
    5h20 5 leçons
  • Apprendre Symfony
    Découvrir
    1. Développer la partie front-end d'une application web ou web mobile en intégrant les recommandations de sécurité Maquetter une application. Réaliser une interface utilisateur web statique et adaptable. Développer une interface utilisateur web dynamique. Réaliser une interface utilisateur avec une solution de gestion de contenu ou e-commerce. 2. Développer la partie back-end d'une application web ou web mobile en intégrant les recommandations de sécurité Créer une base de données. Développer les composants d'accès aux données. Développer la partie back-end d'une application web ou web mobile. Elaborer et mettre en œuvre des composants dans une application de gestion de contenu ou e-commerce.
    22h00 17 leçons
  • Maîtrisez Kotlin
    Découvrir
    Apprendre à Développer des applications Android avec Kotlin à travers 2 ateliers pratiques. Cette formation fait partie d'un bloc de compétence dont l'objectif est d'apprendre à développer la partie front-end d’une application web ou web mobile en intégrant les recommandations de sécurité
    25h20 20 leçons
Partager l'article