La dernière mise à jour (3.3) du langage de programmation Dart de Google pour la création d'applications mobiles, de bureau et web, apporte un support expérimental pour les applications web compilées en WebAssembly. La firme de Mountain View a aussi publié un SDK permettant d'intégrer des capacités d'IA générative dans les applications Dart et Flutter. Dart alimente le framework Flutter pour le développement d'interfaces utilisateur multiplateformes. Avec Dart 3.3, les développeurs peuvent préparer le terrain pour les applications web compilées en WebAssembly. Même si la prise en charge de WebAssembly dans Flutter Web reste expérimentale, l'équipe travaille à stabiliser l'implémentation. Pour exécuter des applications Flutter sur le web avec WebAssembly, les développeurs doivent migrer tout le code, de l'application aux dépendances, afin d’utiliser un mécanisme d'interopérabilité JavaScript dans Dart et package:web. L'équipe Dart a fourni un guide de migration pour aider les développeurs à commencer à utiliser WebAssembly. 

Parallèlement à Dart 3.3, Google a présenté le SDK Google AI Dart, qui permet aux développeurs d'intégrer des fonctions d'IA générative dans leurs applications Dart ou Flutter à l'aide de l'API Gemini. Gemini est le modèle d'IA générative le plus étendu et le plus général de Google, car il peut traiter des informations provenant à la fois d'images et de textes. Un guide de démarrage rapide est disponible pour aider les développeurs à se familiariser avec le SDK Google AI Dart. Cette version du langage, qui s’était positionné un temps comme rival de JavaScript, introduit également un modèle d'interopérabilité avec les bibliothèques JavaScript. « La bibliothèque dart:js_interop offre un nouvel ensemble d'API pour interagir avec JavaScript. Elle comprend une API typée, qui définit la frontière entre les deux langages avec une application statique, évitant certains problèmes avant la compilation », a déclaré Google.  

Optimiser les performances du code

Par ailleurs, Dart inclut désormais un modèle de représentation des types JavaScript dans Dart qui s’appuie sur la méthode d'extension des types. Les extensions de types de Dart 3.3 introduisent des wrappers à coût nul pour les types. Les développeurs peuvent utiliser extensions de types pour optimiser le code sensible aux performances, en particulier lors de l'interopérabilité avec les plates-formes hôtes. « Les extensions de types offrent la commodité des types personnalisés avec des « members » uniques tout en évitant la tâche d'allocation du wrapper. Ainsi, les types natifs peuvent être utilisés directement sans avoir à créer des wrappers et sans l'indirection associée », a expliqué Google. 

Les instructions pour télécharger le SDK Dart sont disponibles sur dart.dev.