Chegou o Dart 3.3, a atualização mais recente da linguagem de programação do Google para construção de aplicativos móveis, desktop e web, trazendo suporte experimental para aplicativos web compilados em WebAssembly. O Google também lançou um SDK para construir recursos generativos de IA em aplicativos Dart e Flutter.

O Dart 3.3 foi lançado em 15 de fevereiro. Instruções sobre como baixar o Dart SDK podem ser encontradas em dart.dev. O Dart capacita a estrutura Flutter para desenvolvimento de UI multiplataforma.

O Dart 3.3 permite que os autores de aplicativos e pacotes comecem a estabelecer as bases para aplicativos da web compilados no WebAssembly. Embora o suporte ao WebAssembly no Flutter Web permaneça experimental, a equipe está trabalhando para estabilizar a implementação. Para executar aplicativos Flutter na web usando WebAssembly, os desenvolvedores devem migrar todo o código, do aplicativo às dependências, para usar um novo mecanismo de interoperabilidade JavaScript no Dart e package:web. A equipe do Dart forneceu um guia de migração para ajudar os desenvolvedores a começar a usar o WebAssembly.

Juntamente com o Dart 3.3, o Google introduziu o Google AI Dart SDK, que permite aos desenvolvedores criar recursos generativos de IA em seus aplicativos Dart ou Flutter usando a API Gemini. Gemini é o maior e mais geral modelo de IA generativo do Google, capaz de processar informações de imagens e texto. Os desenvolvedores podem ler sobre como usar o Google AI Dart SDK por meio de um guia de início rápido.

O Dart 3.3 também estreia um novo modelo para interoperar com bibliotecas JavaScript. (O Dart já foi posicionado como rival do JavaScript.) Um novo conjunto de APIs para interagir com JavaScript, a biblioteca dart:js_interop, inclui uma API digitada, que define a fronteira entre as duas linguagens com aplicação estática. Isso elimina uma série de problemas antes do tempo de compilação, disse o Google. Além disso, o Dart agora inclui um novo modelo para representar tipos JavaScript no Dart usando tipos de extensão.

Os tipos de extensão no Dart 3.3 introduzem wrappers de custo zero para tipos. Os desenvolvedores podem usar tipos de extensão para otimizar código sensível ao desempenho, especialmente ao interoperar com plataformas host. Os tipos de extensão fornecem a conveniência de tipos personalizados com membros exclusivos, ao mesmo tempo que eliminam a sobrecarga de alocação de wrapper. Assim, os tipos nativos podem ser usados ​​diretamente, sem o custo de criação de wrappers e indireção associada, disse o Google.