Si vous venez de découvrir Flutter, il s’agit de l'effort continu de Google pour permettre aux développeurs de créer des applications pour Android, iOS, le Web – y compris les PWA installables – Fuchsia, les systèmes embarqués et les plateformes de bureau, le tout avec le même code Dart. Avec Flutter 2, vous pouvez utiliser la même base de code pour fournir des expériences Web ciblant des navigateurs tels que Chrome, Firefox, Safari ou Edge. Flutter peut même être intégré dans les voitures, les téléviseurs et les appareils ménagers intelligents, offrant ainsi « l’expérience la plus complète et la plus portable pour un monde informatique ambiant », selon Google.
Tim Sneath, Product Manager for Flutter and Dart chez Google, a fourni le commentaire suivant :
« Depuis que nous avons lancé Flutter, nous nous sommes concentrés sur la fourniture d'une solution multiplateforme pour de belles applications personnalisées qui sont compilées en code machine et tirent pleinement parti du matériel graphique sous-jacent de votre appareil. Aujourd'hui marque une expansion significative de cette vision avec la première version de production de la prise en charge de Windows en tant que cible d'application, permettant aux développeurs Windows de bénéficier de la même productivité et de la même puissance que les développeurs mobiles.
« Notre objectif avec Flutter est de vous fournir les outils dont vous avez besoin pour créer une expérience exceptionnelle, quel que soit le système d'exploitation pour lequel vous créez. Et donc nous voulons apporter le même cadre et les mêmes outils de base à chaque endroit où vous voudrez peut-être peindre des pixels. Flutter vous permet de créer de belles expériences artisanales où votre marque et votre design sont au premier plan. Flutter est rapide, compilant directement en code machine ; avec la prise en charge du rechargement à chaud avec état, vous bénéficiez de la productivité d'un environnement interactif qui vous permet d'apporter des modifications pendant que votre application est en cours d'exécution et de voir les résultats immédiatement. Et Flutter est ouvert, avec des milliers de contributeurs qui s'ajoutent au cadre de base et l'étendent avec un écosystème de packages ».
Selon Google, près d'un demi-million d'applications utilisent désormais Flutter. Parmi elles figurent des applications développées par de grandes entreprises comme Betterment, BMW ou encore ByteDance. En mars 2021, plus de 15 000 paquets pour Flutter et Dart venant des sociétés comme Amazon, Microsoft, Adobe, Huawei, Alibaba, eBay et Square. Ce mois-là, Google a indiqué qu'il existait déjà plus de 150 000 applications Flutter sur Play Store, chaque application bénéficiant d'une mise à jour gratuite avec Flutter 2.
En 2021, Flutter est devenu la boîte à outils d'interface utilisateur multiplateforme la plus populaire, selon des baromètres comme Statista et SlashData :
Windows et Flutter
« Il y a quelques années, nous avons présenté une vision ambitieuse pour que Flutter passe des applications mobiles sur iOS et Android à d'autres plateformes, notamment le Web et le bureau.
« Le cœur de Flutter s'étend sur plusieurs plateformes : le moteur graphique portable Skia accéléré par le matériel au système de rendu Flutter ; les primitives de base telles que l'animation, la thématisation, la saisie de texte et l'internationalisation ; et les centaines de widgets proposés par Flutter.
« Mais les applications de bureau ne sont pas seulement des applications mobiles exécutées sur un écran plus grand. Elles sont conçues pour différents périphériques d'entrée, tels qu'un clavier et une souris. Elles ont des fenêtres redimensionnables qui s'exécutent souvent sur un écran large. Il existe différentes conventions pour des éléments critiques tels que l'accessibilité, les éditeurs de méthodes de saisie et le style visuel. Et elles s'intègrent à différentes API dans le système d'exploitation sous-jacent : les applications de bureau prennent en charge tout, des sélecteurs de système de fichiers au matériel de l'appareil en passant par les magasins de données comme le registre Windows.
« Ainsi, bien que nous ayons apporté Flutter à Windows, nous l'avons également adapté à Windows.
« Tout comme avec notre support pour Android et iOS, l'implémentation Windows de Flutter combine un framework Dart et un moteur C++. Windows et Flutter communiquent via une couche d'intégration qui héberge le moteur Flutter et est responsable de la traduction et de la distribution des messages Windows. Flutter se coordonne avec Windows pour peindre votre interface utilisateur à l'écran, gère des événements tels que le redimensionnement de la fenêtre et les changements de PPP, et fonctionne avec les modalités Windows existantes pour l'internationalisation, telles que les éditeurs de méthode d'entrée ».
Sous Windows, Flutter utilise exactement le même code Dart, mais tire parti des API Windows natives
Votre application peut utiliser toutes les parties du framework Flutter et, sous Windows, elle peut également communiquer avec les API Win32, COM et Windows Runtime, soit directement via la couche d'interopérabilité C de Dart, soit à l'aide d'un plug-in de plateforme écrit en C++. Google a également adapté un certain nombre de plugins courants pour inclure la prise en charge de Windows, notamment camera, file_picker et shared_preferences. Plus important encore, la communauté a déjà ajouté la prise en charge de Windows pour un large éventail d'autres packages, couvrant tout, de l'intégration de la barre des tâches Windows à l'accès au port série.
Il existe déjà des centaines de packages qui ont été adaptés pour prendre en charge les applications Flutter conçues pour Windows
« Pour une interface utilisateur Windows entièrement personnalisée, vous pouvez également utiliser des packages tels que fluent_ui et flutter_acrylic pour créer une application qui exprime magnifiquement le système de conception Microsoft Fluent. Et à l'aide de l'outil msix, vous pouvez envelopper votre application dans un programme d'installation qui peut être téléchargé sur le Microsoft Store sous Windows.
« Ensemble, cela favorise la création d'applications qui ont fière allure sur Windows, s'exécutent rapidement sur Windows et sont toujours transférées vers d'autres appareils de bureau ou mobiles, ainsi que sur le Web ».
Premiers exemples communautaires d'applications Windows créées avec Flutter
Microsoft et Flutter
L'équipe Flutter a demandé à l'équipe Windows si elle serait disposée à partager quelques mots sur le support de Flutter. Voici ce que Kevin Gallo, Corporate Vice President for Windows Developer Platform chez Microsoft, a déclaré :
« Nous sommes ravis de voir Flutter ajouter la prise en charge de la création d'applications Windows. Windows est une plateforme ouverte et nous accueillons tous les développeurs. Nous sommes ravis de voir les développeurs Flutter apporter leurs expériences à Windows et également publier sur le Microsoft Store. La prise en charge de Flutter pour Windows est un grand pas pour la communauté, et nous avons hâte de voir ce que vous apporterez à Windows ! »
La vidéo ci-dessous montre comment Flutter s'intègre à Windows Narrator. Pour les besoins de cette vidéo, l'équipe Flutter a délibérément flouté l'écran pour vous donner une idée de la valeur de cette fonctionnalité pour les utilisateurs qui en ont besoin.
Un écosystème d'outils pour le développement Windows
Les partenaires d'outillage de l'équipe Flutter ont eux aussi ajouté la prise en charge de Windows. Pour en souligner quelques-uns :
- FlutterFlow, l'outil de conception d'applications Flutter low-code, a annoncé la prise en charge de Windows, ainsi que des fonctionnalités pour aider les développeurs Flutter à créer des applications adaptées à une utilisation sur ordinateur ;
- Realm est un magasin de données local ultrarapide. La dernière version prend désormais en charge la création d'applications Windows avec Flutter, avec un accès rapide à la base de données sous-jacente à l'aide de Dart FFI, ajoutant à leur prise en charge existante des plateformes mobiles comme iOS et Android ;
- Nevercode a mis à jour son outil Codemagic CI/CD pour prendre en charge Windows, vous permettant de tester et de créer vos applications Windows dans le cloud et d'automatiser le déploiement de votre application sur le Microsoft Store ;
- Syncfusion a mis à jour sa suite de widgets pour tirer pleinement parti de Windows. Si vous vous abonnez à leur boîte à outils, vous trouverez des composants de visualisation de données tels que des arborescences et des graphiques, un widget de grille de données riche, des calendriers et même une prise en charge de la création de PDF et des feuilles de calcul Excel ;
- Enfin, Rive a annoncé l'arrivée imminente d'une version Windows de sa célèbre suite d'outils graphiques, permettant aux concepteurs et aux développeurs de créer des animations vectorielles interactives qui peuvent répondre au code en temps réel à l'aide d'une machine à états. La prochaine édition Windows de leur application sera bientôt disponible en téléchargement sur le Microsoft Store.
Le support de Windows arrive dans Flutter 2.10
Une prise en charge stable et de qualité production pour la création d'applications Windows est disponible dans le cadre de Flutter 2.10. Flutter 2.10 inclut également de nombreuses autres fonctionnalités, améliorations des performances et corrections de bogues.
« Dans les mois à venir, nous vous en dirons plus sur la prise en charge stable de macOS et Linux, rendant l'ensemble complet de plateformes de bureau, Web et mobiles disponibles pour vos applications Flutter de production ».
Source : annonce disponibilité Flutter 2.1
Et vous ?
Vous servez-vous actuellement d'un framework de développement multiplateforme ? Si oui, lequel ?
Que pensez-vous de Flutter ?
Êtes-vous tentés de l'utiliser ?