La última actualización (3.3) del lenguaje de programación Dart Google para crear aplicaciones móviles, de escritorio y web, ofrece soporte experimental para aplicaciones web compiladas en WebAssembly. La firma de Mountain View también lanzó un SDK para integrar capacidades de IA generativa en aplicaciones Dart y Flutter. Dart potencia el marco Flutter para desarrollar interfaces de usuario multiplataforma. Con Dart 3.3, los desarrolladores pueden allanar el camino para aplicaciones web compiladas en WebAssembly. Si bien el soporte de WebAssembly en Flutter Web sigue siendo experimental, el equipo está trabajando para estabilizar la implementación. Para ejecutar aplicaciones Flutter en la web con WebAssembly, los desarrolladores deben migrar todo el código, desde la aplicación hasta sus dependencias, para usar un mecanismo de interoperabilidad de JavaScript en Dart y package:web. El equipo de Dart ha proporcionado una guía de migración para ayudar a los desarrolladores a comenzar con WebAssembly.

Junto con Dart 3.3, Google presentó el Google AI Dart SDK, que permite a los desarrolladores integrar funciones de IA generativa en sus aplicaciones Dart o Flutter utilizando la API Gemini. Gemini es el modelo de IA generativa más amplio y general de Google, ya que puede procesar información tanto de imágenes como de texto. Hay disponible una guía de inicio rápido para ayudar a los desarrolladores a comenzar con el Google AI Dart SDK. Esta versión del lenguaje, que alguna vez se posicionó como rival de JavaScript, también presenta un modelo de interoperabilidad con bibliotecas de JavaScript. "La biblioteca dart:js_interop proporciona un nuevo conjunto de API para interactuar con JavaScript. Incluye una API tipificada, que define el límite entre los dos lenguajes con una aplicación estática, evitando algunos problemas antes de la compilación", dijo Google.

Optimizar el rendimiento del código

Además, Dart ahora incluye un modelo para representar tipos de JavaScript en Dart que aprovecha el método de extensión de tipo. Las extensiones de tipo en Dart 3.3 introducen contenedores de costo cero para tipos. Los desarrolladores pueden usar extensiones de tipo para optimizar el código sensible al rendimiento, especialmente cuando interoperan con plataformas host. “Las extensiones de tipo brindan la comodidad de los tipos personalizados con miembros únicos y evitan la carga de asignar el contenedor. Esto permite que los tipos nativos se usen directamente sin tener que crear contenedores y sin la indirección asociada”, explicó Google.

Las instrucciones para descargar el SDK de Dart están disponibles en dart.dev.