Récemment Google a mis à jour son outil de développement mutliplateforme Flutter et le langage Dart qui l’accompagne. Pour le premier, il a livré en avant-première l’API Flutter GPU. Intégrée au SDK Flutter, l’API propose aux développeurs de définir des pipelines de trames personnalisés et de soumettre des appels de dessin directement au GPU. « L’intérêt est de pouvoir développer des rendus spécialisés comme des alternatives 2D Canvas, des scène 3D ou des systèmes de points pour des expériences performantes et immersives sans surcharger le moteur », a déclaré Google.

Le fournisseur fait remarquer que la programmation graphique nécessite une courbe d'apprentissage importante et que la plupart des utilisateurs choisiront probablement d'utiliser un logiciel de rendu de niveau supérieur plutôt que de créer leur propre logiciel. C'est la raison pour laquelle Google investit dans des packages de rendu comme Flutter Scene, qui exploite l'API GPU et propose d'importer des modèles glTF animés et de construire des scènes 3D. « Avec l’API GPU, les développeurs peuvent créer facilement des applications et des jeux 3D dans Flutter et Dart ». À noter que, même si l'API GPU de Flutter est en avant-première, Google recommande de développer à partir du canal principal de Flutter avec Flutter GPU. L’objectif de Flutter et Dart est d'aider les développeurs à créer des applications performantes pour les plateformes mobiles, web et de bureau à partir d'une seule base de code.

D’autres évolutions dans Flutter et Dart

En dehors de l’API GPU, Google a annoncé d’autres évolutions dans Flutter comme le support anticipé du gestionnaire de paquets Swift pour offrir un accès à l’écosystème de paquets Swift. De même, Flutter hérite d’un support des vues de plateforme et web pour les applications Flutter pour MacOS. Les développeurs auront ainsi une intégration transparente des composants d'interface utilisateur natifs de macOS directement dans une application Flutter

Pour le langage Dart, il y a un changement important : le contexte utilisé par le compilateur pour effectuer l'inférence de type sur l'opérande d'une expression await a été modifié pour correspondre au comportement de l'analyseur. Des améliorations ont été apportées dans l'interopérabilité native de Dart, qui prend désormais en charge les appels directs de Dart vers C, Java, Kotlin, Objective-C et Swift. Enfin, le support de la compilation des applications Dart et Flutter en WebAssembly, introduite dans Dart 3.4 et Flutter 3.22 en mai, est à présent stable et complète.