Article de reference

Flutter (logiciel)

Flutter est un kit de développement logiciel ( SDK) open source pour interfaces utilisateur , créé par Google . Il permet de développer des applications multiplateformes à parti...

Flutter est un kit de développement logiciel ( SDK) open source pour interfaces utilisateur , créé par Google . Il permet de développer des applications multiplateformes à partir d'une seule base de code pour le web , Fuchsia , Android , iOS , Linux , macOS et Windows . Décrit pour la première fois en 2015, Flutter a été lancé en mai 2017. Google l'utilise en interne dans des applications telles que Google Pay et Google Earth , ainsi que par d'autres développeurs de logiciels comme ByteDance et Alibaba .

Flutter intègre aux applications son propre moteur de rendu, qui affiche directement les données de pixels à l'écran. Ceci contraste avec de nombreux autres frameworks d'interface utilisateur qui dépendent de la plateforme cible pour fournir un moteur de rendu, comme les applications Android natives qui s'appuient sur le SDK Android ou le SDK iOS qui utilise la pile d'interface utilisateur intégrée de la plateforme cible. Le contrôle du pipeline de rendu par Flutter simplifie la prise en charge multiplateforme, car un même code d'interface utilisateur peut être utilisé pour toutes les plateformes cibles. L'une des fonctionnalités clés de Flutter est le rechargement à chaud , qui permet aux développeurs de visualiser instantanément les modifications de code sans redémarrer l'application.

Architecture

Le composant de base d'un programme Flutter est un « widget », qui peut lui-même être composé d'autres widgets. Un widget décrit la logique, l'interaction et le design d'un élément d'interface utilisateur, avec une implémentation similaire à celle de React . Contrairement à d'autres frameworks multiplateformes tels que React Native et Xamarin , qui utilisent des composants natifs de la plateforme pour dessiner les widgets, Flutter effectue le rendu des widgets pixel par pixel . Flutter propose deux types de widgets : les widgets sans état et les widgets avec état . Les widgets sans état ne se mettent à jour que si leurs entrées changent ; autrement dit, ils n'ont pas besoin d'être reconstruits lorsque d'autres éléments de l'écran sont modifiés. Les widgets avec état, quant à eux, peuvent appeler une setState()méthode pour mettre à jour un état interne et se redessiner. Bien que les widgets constituent la principale méthode de construction d'applications Flutter, il est possible de s'en passer et de dessiner directement sur un canevas. Cette fonctionnalité a parfois été utilisée pour implémenter des moteurs de jeu avec Flutter.

Le framework Flutter comprend deux ensembles de widgets conformes à des langages de conception spécifiques : les widgets Material Design implémentent le langage de conception de Google du même nom, et les widgets Cupertino implémentent les directives d’interface utilisateur d’Apple pour iOS . Flutter permet aux développeurs d’utiliser l’un ou l’autre ensemble de widgets sur n’importe quelle plateforme. Les développeurs peuvent utiliser les widgets Cupertino sur Android.

Les applications Flutter sont écrites en Dart . Les versions finales des applications Flutter sur toutes les plateformes utilisent la compilation AOT (Ahead-of-Time) , sauf sur le Web où le code est transpilé en JavaScript ou WebAssembly. Flutter hérite du gestionnaire de paquets et du dépôt de logiciels Pub de Dart , permettant aux utilisateurs de publier et d'utiliser des paquets personnalisés ainsi que des plugins spécifiques à Flutter. La bibliothèque Foundation, écrite en Dart, fournit des classes et des fonctions de base utilisées pour construire des applications avec Flutter, telles que des API pour communiquer avec le moteur.

Le moteur de Flutter, écrit principalement en C++ , assure le rendu de bas niveau grâce à la bibliothèque graphique Skia de Google ou à la couche graphique personnalisée « Impeller », activée par défaut sur iOS et Android (API 29 et supérieures). Ce moteur interagit avec les SDK spécifiques à chaque plateforme, tels que ceux fournis par Android et iOS, pour implémenter des fonctionnalités comme l’accessibilité, les entrées/sorties de fichiers et réseau, la prise en charge des plugins natifs, etc.

Histoire

La première version de Flutter, appelée « Sky », fonctionnait sous Android . [ a été présentée lors du Dart Developer Summit de 2015 avec l'objectif affiché d'assurer un rendu constant à 120 images par seconde . Le 4 décembre 2018, Flutter 1.0 a été lancé lors de la conférence Flutter à Londres.

Le 6 mai 2020, le kit de développement logiciel ( SDK ) Dart version 2.8 et Flutter 1.17.0 ont été publiés, ajoutant la prise en charge de l' API Metal .

Le 3 mars 2021, Google a lancé Flutter 2 lors de l'événement en ligne Flutter Engage. Cette version intégrait un moteur de rendu basé sur Canvas pour le web, en plus du moteur de rendu HTML, ainsi qu'une prise en charge anticipée des applications de bureau pour Windows , macOS et Linux . Flutter 2 était également fourni avec Dart 2.0, qui incluait la gestion des valeurs nulles . Initialement optionnelle car constituant une modification majeure, la gestion des valeurs nulles est devenue obligatoire dans Dart 3, sorti en 2023.

Le 12 mai 2022, Flutter 3 et Dart 2.17 ont été publiés avec une prise en charge stable de toutes les plateformes de bureau.

Le 27 octobre 2024, plusieurs développeurs de la communauté Flutter ont annoncé Flock , une version dérivée de Flutter conçue pour faciliter les contributions tout en restant synchronisée avec toutes les modifications apportées au code source d'origine.

En 2025, Google a poursuivi l'évolution de Flutter avec une architecture modulaire améliorée, la prise en charge des appareils pliables et des optimisations ARM IoT, comme indiqué dans la feuille de route mise à jour.

Principales mises à jour de Flutter

Avant la sortie de Flutter 2.0 en mars 2021, le framework Flutter était axé sur le développement mobile. Les développeurs de Flutter se concentraient principalement sur les deux principales plateformes, iOS et Android. Plus précisément, ils souhaitaient offrir des performances élevées, améliorer l'accès aux API natives et aux fonctionnalités de la plateforme, et étendre le système de widgets.

Avec la sortie de Flutter 2.0, le framework a étendu son champ d'application au-delà du mobile et a introduit la prise en charge du web. Cela a marqué une transition vers un environnement de développement multiplateforme plus large. Grâce à cette version, les développeurs pouvaient créer des applications pour le web, Android et iOS à partir d'une même base de code. Cette version a également permis de stabiliser la plateforme de bureau.

Depuis, de nombreuses améliorations ont permis d'étendre la compatibilité avec différentes plateformes. Elles ont notamment optimisé les performances et les flux de travail, redéfini les outils de développement et intégré un moteur de rendu amélioré.

  1. « Notes de version de Flutter 2.10.0 ». docs.flutter.dev . Consulté le 11 novembre 2025.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index