Flutter Forward 2023 : que signifient les innovations annoncées par Google pour votre entreprise ?

Publié: 2023-02-13

Y a-t-il quelque chose de mieux que de démarrer la nouvelle année avec l'un des événements les plus importants du développement logiciel, Flutter Forward 2023 ? L'équipe de développement de Flutter chez Miquido pense qu'explorer les améliorations annoncées lors de la conférence est tout aussi agréable ! Découvrons si le nom de l'événement, Flutter Forward , est vraiment prophétique. Il est temps de conclure les versions les plus remarquables de Flutter 3.7 et de récapituler brièvement les plans pour l'avenir du cadre multiplateforme de Google.

Jusqu'à présent, les avantages les plus importants de Flutter par rapport aux autres frameworks de développement d'applications mobiles ou Web ont été des coûts de développement nettement inférieurs, des possibilités de mise à l'échelle d'applications impressionnantes, des performances d'applications quasi natives et la possibilité de mettre en œuvre des interfaces complexes. Et ce n'est un secret pour personne que Flutter se concentre sur de nouvelles améliorations dans tous ces domaines. Mais à quelles évolutions peut-on s'attendre exactement ?

Nouvelles orientations pour Flutter et Dart : une feuille de route présentée lors de l'événement Flutter Forward
Une feuille de route présentée lors de l'événement Flutter Forward

Discutons du discours d'ouverture de Flutter Forward, plongeons en profondeur dans les 4 orientations futures les plus importantes pour le cadre de Google et considérons la valeur commerciale des améliorations annoncées pour 2023.

Référence : Flutter en 2022

Flutter est un framework open-source créé par Google pour optimiser le processus de développement d'applications pour plusieurs plates-formes tout en conservant les capacités maximales offertes par les approches natives. Google a annoncé la première version stable (Flutter 1.0) fin 2018, et la boîte à outils relativement nouvelle est rapidement devenue le cadre de développement multiplateforme le plus populaire au monde.

En 2021, Flutter est devenu le framework multiplateforme le plus populaire

L'immense popularité du framework de Google n'est pas une surprise. Les avantages de Flutter sont nombreux, ce qui incite de plus en plus de développeurs à choisir ce framework. Flutter est une boîte à outils d'interface utilisateur qui permet aux développeurs de créer de belles applications mobiles, Web et de bureau conviviales à partir d'une seule base de code. Grâce à la fonction de rechargement à chaud, Flutter augmente la productivité des développeurs en leur permettant de prévisualiser instantanément tout changement de code. Et enfin, Flutter est un projet entièrement open source qui ne nécessite pas de frais de licence ni d'outils dédiés.

Google se concentre sur le développement de Flutter en 2023

Google est très engagé dans le développement de Flutter, comme en témoignent près de 20 versions en 2022. Selon la feuille de route publiée sur Github, Flutter prévoit d'annoncer 4 versions plus stables et 12 versions bêta en 2023. De plus, pour honorer une impressionnante communauté de contributeurs externes , Flutter a récemment annoncé sa nouvelle stratégie consistant à publier de nouvelles fonctionnalités "lorsqu'elles atteignent le canal bêta plutôt que d'attendre qu'elles soient sur le canal de publication stable" et "d'encourager les personnes à la recherche d'un cycle de mise à jour plus rapide à utiliser le canal bêta".

Un extrait de la feuille de route de Flutter pour 2023 publié sur Github
Un extrait de la feuille de route de Flutter , Github

En regardant la feuille de route 2023 révélée lors de l'événement Flutter Forward à Nairobi, au Kenya, une chose devient claire. Flutter entre maintenant dans une phase où il laisse loin derrière lui sa concurrence multiplateforme. L'ampleur des améliorations prévues en termes de performances, de qualité, d'accessibilité et de sécurité, ainsi que le nombre de nouvelles fonctionnalités que Flutter prévoit de publier en 2023, sont vraiment impressionnants. Discutons des plus importants d'entre eux.

Top 4 des innovations annoncées lors de Flutter Forward 2023

Lors de l'événement Flutter Forward, les fondateurs du framework multiplateforme ont attiré l'attention sur 4 domaines principaux qu'ils souhaitent développer dans les prochaines versions, notamment :

  1. Performances graphiques révolutionnaires
  2. Intégration transparente pour le Web et le mobile
  3. Architectures précoces à nouvelles et émergentes
  4. Accent continu sur l'expérience des développeurs.

Examinons de plus près les nouvelles les plus juteuses des quatre catégories mentionnées ci-dessus.

1. Performances graphiques révolutionnaires : turbine et matériau 3

Lors de l'événement Flutter Forward, Flutter a souligné son engagement croissant à améliorer les performances graphiques de la boîte à outils d'interface utilisateur de Google. L'équipe de Flutter a non seulement décidé de réécrire le runtime de rendu de Flutter, Impeller, mais a également annoncé la migration à venir vers Material 3. Que signifient ces changements pour les entreprises intéressées à développer leur produit numérique avec Flutter ?

Plus de progrès sur Impeller

Flutter run -enable-impeller est une réécriture importante du temps d'exécution de rendu de Flutter, visant à résoudre les problèmes de jank d'animation et à permettre des performances fluides d'animations complexes (comme les kaléidoscopes ou la 3D). Et bien qu'Impeller ne soit actuellement disponible qu'en version bêta précoce (mode aperçu pour iOS), Flutter Dev a révélé qu'au cours des prochains mois, ils avaient l'intention d'affiner le support d'Impeller pour iOS et d'annoncer la date de sortie de l'aperçu Android.

C'est [Impeller] une expérience tellement différente. C'est tellement soyeux. (…) Essentiellement, nous sommes en mesure de créer un moteur de rendu graphique adapté à Flutter plutôt que de tirer parti d'un moteur de rendu à usage général.

Tim Sneath Directeur produit et UX pour Flutter et Dart chez Google

Migration flottante vers le matériau 3

L'un des changements révolutionnaires annoncés lors de Flutter Forward est la migration du matériau 2 (M2) vers le matériau 3 (M3). La dernière version de Flutter, Flutter 3.7, apporte des widgets basés sur la nouvelle version du langage de conception de Google. Pourquoi s'agit-il d'un changement important et quelles conséquences cela peut-il avoir sur votre produit numérique ?

Qu'est-ce que le matériel 3

Commençons par une petite information pour ceux qui ne connaissent pas M2 et M3. Material Design est un langage de conception développé par Google en 2014 pour combiner les principes UX/UI avec l'innovation technique. Un système adaptable de composants graphiques, de directives et d'outils rationalise la coopération entre les développeurs et les concepteurs et facilite la création de produits numériques conviviaux.

La dernière mise à jour de Material de 2021, Material 3, a apporté une standardisation des problèmes d'accessibilité et une bien plus grande élasticité des composants graphiques. La flexibilité du Matériau 3 est principalement liée à l'introduction d'une norme pour opérer sur les jetons de conception, c'est-à-dire les plus petites unités qui composent le système de conception (telles que la couleur, la typographie ou l'espacement). Qu'est-ce que cela signifie en pratique ? Il suffit de regarder l'un des projets phares de Google : l'application mobile Wonderous développée avec Flutter, et basée sur Material 3 !

Wonderous, un exemple d'application Flutter créée avec Material 3
Wonderous, un exemple d'application Flutter créée avec Material 3
Quelles possibilités apportent la migration Flutter vers Material 3 ?

La migration vers M3 signifie que Flutter renforce sa position de leader en matière de boîtes à outils d'interface utilisateur qui permettent la création d'applications attrayantes et visuellement attrayantes. Tirer parti de la typographie, implémentation rapide d'UI basées sur des thèmes, introduire du mouvement par le mouvement ou l'animation… Grâce à un support amélioré de M3, désormais, les développeurs Flutter pourront réaliser efficacement les visions créatives les plus avancées.

Bien sûr, la migration vers Material 3 est un processus, donc à l'étape Flutter 3.7, les créateurs du framework prêtent attention aux problèmes suivants :

  • Même si la plupart des widgets Flutter ont déjà été migrés vers M3, les développeurs doivent suivre les progrès du projet Material 3 Flutter GitHub pour confirmer le statut du widget donné.
  • Les développeurs peuvent s'inscrire à Material 3 à l'aide de l'indicateur useMaterial3. Cependant, l'interface utilisateur peut être incohérente jusqu'à ce que tout Flutter et le code de l'application individuelle soient migrés.

Voulez-vous découvrir plus de nouvelles fonctionnalités de Material 3 ? Découvrez la démo interactive préparée par Flutter Dev.

Matériel 3 - une démo interactive par Flutter Dev
Matériel 3 – une démo interactive par Flutter Dev

2. Intégration transparente pour le Web et le mobile

Le Flutter Dev a également confirmé l'accent mis sur une meilleure intégration entre Dart et d'autres langages de programmation. Sur le Web, Flutter peut désormais être utilisé comme composant intégré. Sur mobile, les applications Flutter peuvent désormais appeler des API système ou du code écrit dans d'autres langages de programmation. Discutons des améliorations les plus importantes concernant l'intégration Web et mobile transparente dans Flutter !

Incorporation d'éléments

L'une des améliorations les plus discutées de Flutter Forward est la nouvelle norme de Flutter pour le développement Web : l'intégration de modules Flutter dans des applications Web existantes. L'intégration d'éléments, une nouvelle fonctionnalité désormais prévisualisée par l'équipe Flutter Dev, permet aux développeurs Web d'intégrer facilement du contenu Flutter avec un élément <div> standard. En d'autres termes, les développeurs Web seront bientôt capables d'intégrer des widgets Flutter dans des applications existantes, même celles écrites dans différents langages de programmation.

Démo d'intégration d'éléments par Flutter Dev
Démo d'intégration d'éléments par Flutter Dev

Communication directe avec les API natives depuis le code Dart

Flutter travaille dur sur l'amélioration de deux outils (FFIgen pour iOS et JNIgen pour Android) pour générer des liaisons, permettant une communication directe avec les API natives à partir du code Dart. FFIgen et JNIgen améliorent considérablement l'efficacité du développement en permettant d'appeler du code natif et de réutiliser du code déjà écrit ou de tirer parti de fonctionnalités spécifiques à la plate-forme. À l'heure actuelle, Dart est capable de communiquer avec :

  • C (dard:ffi) → Linux
  • Objective-C et Swift (package dart:ffi + FFIgen) → macOS et iOS
  • C++ (paquet dart:ffi + FFIgen) → Windows
  • Java et Kotlin (packages JNI et JNIgen) → Android
  • JavaScript (paquet js) → Web.

Meilleure interopérabilité avec JavaScript

Il semble qu'il existe également une nouvelle opportunité pour les produits numériques construits avec JavaScript ! Les développeurs peuvent désormais piloter des widgets Flutter directement à partir de JavaScript - et inversement. Une meilleure interopérabilité avec JavaScript est une autre amélioration qui rend le cadre de Google exceptionnellement efficace en termes de mise à l'échelle ou de réécriture d'applications mobiles ou Web existantes.

3. Prise en charge des architectures précoces à nouvelles et émergentes

Lors de Flutter Forward 2023, l'équipe Flutter a dévoilé ses premiers efforts pour compiler Flutter en WebAssembly (Wasm) - une "cible de compilation portable pour les langages de programmation, permettant le déploiement sur le Web d'applications client et serveur" (WebAssembly). Tim Sneath, directeur des produits et de l'expérience utilisateur pour Flutter et Dart, a également annoncé la prise en charge par Flutter de RISC-V, l'architecture de puce libre de droits standard ouverte. Pourquoi pensons-nous que ces deux décisions méritent un commentaire plus long ?

Flutter et WebAssembly

WebAssembly gagne en popularité en tant que format d'instruction binaire indépendant de la plate-forme sur tous les principaux navigateurs, et l'équipe Flutter Dev espère explorer ses mérites. Wasm se caractérise par une vitesse et des performances impressionnantes, en particulier avec de grandes quantités de données. Concernant le traitement d'image ou de vidéo, Wasm est incomparablement meilleur que son plus grand concurrent, JavaScript. Mais comment peut-il aider au développement du framework de Google ?

WebAssembly semble nous donner un temps de chargement amélioré, réduire la taille et le nombre de mégaoctets transférés sur le fil. (…) Le potentiel de WebAssembly est - à la fois sur le Web et même au-delà - de devenir ce nouveau type de lingua franca portable. J'aime l'idée que nous puissions également prendre et utiliser d'autres codes dans d'autres langages dans WebAssembly.

Tim Sneath Directeur produit et UX pour Flutter et Dart chez Google

Prise en charge de Flutter pour RISC-V

Même si RISC-V en est encore à ses débuts, il commence progressivement à gagner du terrain dans l'industrie. Selon Sneath, l'investissement de Google dans cette architecture pourrait ouvrir de nouvelles plates-formes pour Flutter. Même si les processeurs ARM sont toujours en tête en termes de performances, RISC-V semble très prometteur en ce qui concerne les technologies portables. Sans oublier que RISC-V est fourni sous des licences open source qui ne nécessitent pas de frais d'utilisation.

4. Accent continu sur l'expérience des développeurs : Dart 3 alpha et Flutter News Toolkit

Flutter est un framework conçu pour augmenter la productivité des développeurs. Le langage de programmation de Flutter, Dart, permet un travail efficace et itératif avec une fonction de rechargement à chaud, permettant aux développeurs d'expérimenter, d'ajuster les caractéristiques et de corriger les bogues pendant le développement - sans recharger l'intégralité de l'application. De plus, Dart s'exécute rapidement sur toutes les plates-formes, permet aux développeurs de mettre en œuvre des créations d'interface utilisateur complexes et, enfin et surtout, est considérablement facile à apprendre.

Cependant, pendant Flutter Forward, Flutter Dev a annoncé une version encore plus productive, portable et accessible de Dart. Parlons de Dart 3, désormais disponible en version alpha pour les tests !

100 % de sécurité sans son dans Dart 3 : plus de plantage d'application !

L'annonce la plus importante concernant le prochain Dart 3 est l'introduction de la sécurité nulle 100% sonore. Flutter a interrompu la prise en charge de l'exécution sans sécurité nulle afin de réduire la surcharge et la complexité du code. Dans Dart 3, toutes les variables sont non nulles par défaut, ce qui réduit considérablement le coût et la complexité de l'ajout de nouvelles fonctionnalités.

Dans un système de typage sonore, vous pouvez faire confiance aux types, ce qui signifie qu'une variable n'est jamais nulle lorsque les types indiquent qu'elle ne l'est pas. Cela augmente la productivité en détectant les problèmes lors du développement plutôt qu'en production, et permet aux compilateurs Dart de produire un code plus petit et plus optimisé. (…) Dart est unique en introduisant 100% de sécurité nulle sonore dans un langage existant.

Michael Thomsen PM pour Dart et Flutter chez Google

Expressivité sans précédent de Dart 3 : enregistrements, modèles et contrôles d'accès

Les enregistrements et les modèles sont deux nouvelles fonctionnalités majeures de Dart 3 qui optimisent le travail avec des données structurées. Les enregistrements permettent aux développeurs Flutter de créer de nouvelles structures de données qui combinent facilement les données existantes. Les modèles, à leur tour, peuvent déstructurer les données composites.

Boîte à outils Flutter News

Flutter News Toolkit est un projet open source Flutter Dev destiné aux éditeurs de médias et de contenu à la recherche d'un moyen rapide et économique d'atteindre leurs lecteurs sur mobile. Les éditeurs de contenu intéressés par la transformation numérique peuvent désormais utiliser une boîte à outils complète avec tout ce dont ils pourraient avoir besoin pour développer des applications mobiles avec des actualités, y compris la navigation, la recherche, l'authentification, les intégrations publicitaires, les notifications, les profils ou les abonnements.

Boldsports - une application mobile pour une start-up d'information basée au Nigéria, créée avec Flutter News Toolkit en quelques jours seulement
Boldsports - une application mobile pour une start-up d'information basée au Nigéria, créée avec Flutter News Toolkit en quelques jours seulement

Miquido et Flutter

Alors que de nombreuses industries traversent une période difficile, il est essentiel de donner la priorité à l'optimisation des frais généraux opérationnels et à l'atténuation des risques. Un cadre multiplateforme Flutter est une solution open source, rentable et fiable qui permet aux entreprises de se concentrer sur ce qui leur importe réellement : l'efficacité, l'évolutivité et la rentabilité de leurs produits numériques.

En 2018, Miquido a été la première entreprise européenne à créer un projet commercial à Flutter. L'application mobile Topline pour Abbey Road Studios a non seulement répondu aux hypothèses commerciales, rationalisant le processus d'enregistrement musical pour les artistes associés au label britannique emblématique, mais a également conquis le cœur de l'ensemble de l'industrie du développement d'applications mobiles. C'est pourquoi nous voulons mettre l'accent sur les opportunités commerciales offertes par la technologie multiplateforme et Flutter dans le développement mobile.

Quel avenir pour Flutter ? L'expérience des années précédentes montre que Flutter tient ses promesses publiques. Par conséquent, nous sommes convaincus que la feuille de route de Flutter pour 2023 peut être considérée comme un plan bien pensé et minutieusement mis en œuvre par l'équipe Google.