Durante a conferência Flutter Live, em Londres, o Google lançou a primeira versão estável do Flutter, uma plataforma de desenvolvimento móvel baseada em Dart, com o objetivo de tornar possível escrever aplicativos que compartilham uma única base de código em iOS e Android com interface nativa. Além disso, o Google anunciou uma implementação web experimental do tempo de execução do Flutter, que visa levar os aplicativos Flutter a navegadores padrão da web.
Depois de nove meses em beta, o Flutter 1.0 se concentra muito na estabilização e correções de bugs, juntamente com alguns novos recursos, como o Dart 2.1, novos widgets de interface e pré-visualizações para os recursos “Adicionar ao aplicativo” e “Visualizar em plataformas”.
O Dart 2.1 fornece tamanhos de código menores, verificação de tipos (objetos) mais rápida e melhores diagnósticos. De acordo com o Google, o Dart 2.1 reduz o tamanho da saída (minified output) em 17% e o tempo de compilação em 15%. O Dart 2.1 também traz novos recursos de linguagem, como o suporte melhorado a mixin através de uma nova palavra-chave mixin para classes que só podem ser usadas como mixins; verificação de tipos mais restrita para evitar a passagem de um int onde um double é esperado; novos códigos de status HTTP; e mais.
O recurso “Adicionar ao aplicativo” é a forma como o Google permite a transferência progressiva de uma aplicação existente para o Flutter. Ainda na pré-visualização, o “Adicionar ao aplicativo” depende da coexistência, em qualquer aplicativo Flutter, do tempo de execução Flutter, juntamente com um container nativo iOS ou Android. Consiste em um número crescente de modelos que pode ser usado com o comando flutter create. Isso criará uma biblioteca que pode ser vinculada ao seu aplicativo existente para fornecer uma Activity ou um ViewController que pode ser usado a partir do código Java/ObjC-Swift. Ao fazer isso, os desenvolvedores podem adicionar facilmente novos recursos aos seus aplicativos e/ou reimplementar os recursos existentes usando o Flutter.
O “Visualizar em plataformas” pode ser visto como o outro par do “Adicionar ao aplicativo”. Na verdade, ambos permitem a inclusão de um controle de interface do Android ou iOS em um aplicativo Flutter. Isso é possível graças a dois novos widgets, AndroidView e UiKitView. Um exemplo de aplicação útil do “Visualizar em plataformas” é a criação de plugins para conter controles de plataformas nativas como o Google Maps, WebView, etc. Significativamente, como os plugins deste recurso são baseados em um widget Flutter, os controles nativos podem naturalmente coexistir com controles da Flutter UI.
Como mencionado, o Google também anunciou o Hummingbird, uma implementação web experimental do tempo de execução Flutter com o objetivo de levar os aplicativos Flutter ao navegador. O Hummingbird aproveita o recurso Dart para compilar o JavaScript, além do ARM nativo. Apesar de não mudar o foco principal do Flutter em dispositivos móveis, o Hummingbird é uma estratégia mais ampla do Flutter para alcançar mais plataformas, incluindo Windows, macOS e Linux, que são alvos de outro projeto experimental, o Flutter Desktop Embedding.
O Flutter 1.0 pode ser baixado no site do Flutter: https://flutter.io/
Fonte: https://www.infoq.com/br/news/2019/01/flutter-1.0-released