Mobile

Flutter est-elle LA techno du moment ?

by Claire Monnier 28 juin 2022

Le marché des applications mobiles en plein essor

Les années que nous vivons riment avec ultra connectivité et confirment que le marché des applications mobiles reste, en tout point, compétitif, évolutif, et fortement corrélé à l’évolution exponentielle de la technologie hardware. Une application mobile représente également un atout majeur différenciant pour une entreprise, quelle que soit sa taille. En effet, elle permet à l’entreprise d’optimiser sa visibilité et de se construire une identité visuelle forte. 

L’émergence du cross-platform

Dans ce contexte mobile en pleine révolution, les technologies cross-platform gagnent du terrain pour le développement des applications mobiles et prennent ainsi de plus en plus de place face aux technologies natives. En effet, ces technologies cross-platform permettent d’utiliser un seul outil de développement pour développer deux versions, Android et iOS, d’une même application. Parmi un océan de technologies, l’une d’entre-elle fait particulièrement parler d’elle depuis quelques années maintenant : Flutter.

WEBINAR

Mobile : natif ou cross-platform ?

Voir le replay du webinar

Qu’est ce que Flutter et pourquoi une telle hype ?

Flutter est un outil de développement open-source (SDK) cross-platform créé par Google et présenté officiellement pour la première fois en 2017. En s’appuyant sur le langage Dart ainsi qu’un code mutualisé, Flutter aide les développeurs à réaliser des applications haute performance et attractives. Flutter est composée d’une multitude de widgets pré-configurés et facilement adaptables à chaque besoin, ce qui permet de construire rapidement des applications fonctionnelles. À en croire Stack Overflow, la cote de popularité de Flutter a même récemment surpassé son concurrent React Native.

utilisation flutter vs react native

https://insights.stackoverflow.com/trends?tags=flutter%2Creact-native

Flutter, comment ça marche ?

Flutter est composé d’un système de trois couches interdépendantes : 

  • le Dart Framework, 
  • le moteur Flutter, 
  • la couche de communication avec la plateforme native.

architecture flutter

https://docs.flutter.dev/resources/architectural-overview

 

Le moteur est codé en C/C++ et offre un rendu de bas niveau grâce au célèbre framework graphique Skia, offrant des performances graphiques optimales et permettant à Flutter de dessiner ses propres composants UI. Skia fait notamment partie intégrante du navigateur Chrome. 

Dart constitue également un atout majeur de Flutter. En effet, ce langage peut supporter les deux types de compilations JIT (Just-in-Time) et  AOT (Ahead-of-Time) .

Pendant la phase de développement, la compilation JIT est utilisée afin de permettre le hot reload grâce à DartVM. Flutter injecte alors instantanément les changements sans reconstruire toute l’application, ce qui optimise significativement les temps de développement.

Lors de la phase de déploiement sur les stores, Flutter utilise la compilation AOT afin de générer une application 100 % native sans aucun compromis pour les performances.

Pourquoi Flutter suscite-t-il autant d’engouement ?

Flutter, une techno développée et maintenue par Google

Google fait partie du top 5 des entreprises mondiales (GAFAM). Véritable empire du numérique, Google a créé et développé Dart mais aussi d’autres technologies innovantes comme Fuchsia, un nouveau système d’exploitation conçu pour fonctionner sur un grand nombre d’appareils (ordinateurs et mobiles).
Google est également bien connu pour contribuer grandement et influencer la communauté Android. A l’instar de Google, Flutter fait partie de ces technologies innovantes dont le code open-source permet aux développeurs de participer à son succès.
Enfin, Google prend en compte les problématiques importantes dans ses développements comme la sécurité et les performances, influencé par les autres technologies cross-platform existantes tel que React Native.

Le marché appelle au cross-platform

Lorsqu’on regarde les chiffres d’un peu plus près en 2022 dans l’hexagone, Android détient environ 76 % du marché mobile contre 24% pour iOS, d’où l’importance de créer une application compatible sur les 2 plateformes. En effet, se concentrer sur une application native peut donc diminuer significativement le nombre d’utilisateurs et ainsi limiter le succès du service ou du produit. Flutter possède l’avantage d’être disponible sur ces deux plateformes tout en assurant un support futur pour Fuchsia.

Une performance optimisée

Comme décrit ci-dessus, Flutter possède beaucoup de fonctionnalités qui rendent le développement d’une application cross-platform plus simple et rapide. Sa collection de widgets permet une réduction du temps de développement, et par conséquent une réduction des coûts.
La capacité du hot reload permet de refléter à l’écran, de façon quasi instantanée, tout changement survenu dans le code. Cela offre la possibilité au développeur de voir les modifications, sans altérer l’état de l’application.

Un look & feel natif

Le niveau de performance qu’offre Flutter est similaire à celui des applications développées avec les technologies natives. Il est ainsi quasiment impossible de savoir si l’application est native ou non.
Son moteur graphique Skia, permet de créer un canevas dans lequel les Widgets vont se “dessiner” pixel par pixel pour générer l’interface utilisateur.
Par ailleurs, Flutter fournit deux bases de composants : Cupertino (iOS) et Material (Android) permettant à Google de respecter les animations et l’UX propres à chaque plateforme.

Une facilité d’apprentissage et d’utilisation

La courbe d’apprentissage de Flutter est relativement rapide pour les développeurs ayant déjà appris un autre langage basé sur la programmation orientée objet. Dart possède beaucoup de similarités avec les langages Java,TypeScript ou encore C#.

Une documentation fournie et détaillée et une communauté grandissante

Flutter possède une documentation structurée et détaillée, mais fournit également beaucoup d’exemples d’applications. On trouve aussi une chaîne Youtube présentant différentes keynotes, tips, mais aussi des présentations de widgets spécifiques dans de courts formats, tous les jours.
Enfin, on peut souligner que la communauté Flutter grandit de jour en jour, offrant ainsi plus de ressources et d’assistance.
D’ailleurs, afin de satisfaire votre veille technologique, vous pouvez vous inscrire à la newsletter Flutter Digest pour une actualité en français.

Alors, on part sur Flutter ou pas ?

Les technologies cross-platform sont une réponse à la demande croissante d’applications à coût ou délais réduits. Flutter justifie parfaitement sa place à côté d’autres technologies telle que React-Native du fait qu’elle offre un rendu et des performances similaires aux technologies natives.
Cela a permis une rapide montée en puissance de Flutter et explique sa hype actuelle.

Les prochaines releases sont à surveiller de près, et pas seulement dans l’univers du mobile !

Happy coding !

Claire Monnier

Claire Monnier

Développeuse full-stack / mobile chez Kaliop et passionnée de surf, je suis toujours à l’écoute des évolutions pour pouvoir surfer constamment sur la vague de la performance technique. Je participe à la réalisation de sites et applications haute performance, apportant la meilleure expertise possible pour nos clients.

Commentaires

Ajouter un commentaire

Votre commentaire sera modéré par nos administrateurs

Vous avez un projet ? Nos équipes répondent à vos questions

Contactez-nous