Flutter, a estrutura de código aberto do Google para a criação de aplicativos multiplataforma para dispositivos móveis, web e desktop, está hospedando seu evento Flutter Forward em Nairóbi, Quênia hoje. Como o nome indica, a equipe está usando o evento para mostrar os novos recursos da estrutura – a maioria dos quais ainda está no início de seu ciclo de desenvolvimento. Os principais destaques aqui são o desempenho gráfico altamente aprimorado, a capacidade de incorporar mais facilmente o código Flutter em aplicativos móveis e da Web existentes e o suporte para novas arquiteturas, como Web Assembly e RISC-V. Praticamente todos esses recursos ainda estão em canary branches e atrás de sinalizadores de experimentos, mas mostram onde o Google planeja levar esse projeto nos próximos meses – e ajudam o ecossistema geral de código aberto em torno dele a entender onde algum trabalho complementar pode ser útil ( cerca de 40% dos colaboradores do Flutter estão fora do Google).
Tim Sneath, diretor de produto e UX do Google para Flutter e a linguagem de programação Dart, me disse que a equipe decidiu reescrever completamente o Impeller, o tempo de execução de renderização do Flutter. Esta nova versão visa corrigir algumas das falhas existentes do mecanismo anterior, mas também melhora muito o desempenho – ao mesmo tempo em que oferece suporte para hot reloads e outros recursos principais do Flutter. “É um tipo diferente de experiência. É tão suave e sedoso,” ele disse. “Essencialmente, somos capazes de construir um mecanismo de renderização de gráficos feito sob medida para o Flutter, em vez de usar um renderizador de propósito geral.”
Para habilitar esse desempenho, o mecanismo agora apresenta shaders pré-compilados, evitando as quedas de quadro do mecanismo anterior durante a compilação do shader. Agora também há suporte para sombreadores personalizados e sombreadores de pixel, o que permite uma série de novos efeitos – que, por sua vez, permitirão aos desenvolvedores criar uma série de novas experiências sobre o Flutter. Por baixo de tudo isso, estão as APIs de gráficos 3D Vulkan e Metal 3D de baixo nível para Android e iOS. Atualmente, a equipe está concentrando seu trabalho aqui no celular, embora muitos desses novos recursos gráficos também devam funcionar no macOS e no Windows. “Nosso modelo geral para o Flutter é levá-lo a qualquer lugar onde você possa pintar pixels”, disse Sneath.
Falando em levar o Flutter a todos os lugares, outro novo recurso que a equipe está visualizando é a incorporação de elementos. Para desenvolvedores da Web, isso significa que eles podem usar isso para incorporar facilmente o conteúdo do Flutter usando um padrão
A equipe também está trabalhando em um novo pacote que permite uma melhor interoperabilidade de JavaScript e Dart, bem como novas ferramentas que permitirão que o Flutter chame APIs do sistema com mais facilidade no Android e no iOS. Ele já tinha essa capacidade antes, mas fazer isso funcionar envolvia escrever muito código clichê para desenvolvedores.
Olhando para o futuro, a equipe também está lançando seus primeiros esforços para compilar o Flutter para WebAssembly. Com o hype em torno desse formato binário crescendo rapidamente – e tanto o suporte ao navegador quanto o amadurecimento das ferramentas do lado do servidor – talvez não seja surpresa que a equipe do Flutter também esteja interessada nessa tecnologia. Na maioria das vezes, trata-se de obter desempenho adicional do Flutter, explicou Sneath. “O Dart transcompila em código JavaScript muito bem compilado, mas ainda é código JavaScript, então será carregado e interpretado – e, para nós, WebAssembly parece que vai nos dar algum tempo melhor para carregar, reduzir o tamanho e o número de megabytes transferidos pelo fio. Isso parece interessante”, disse. “O potencial do WebAssembly é — tanto na web quanto além — se tornar esse novo tipo de língua franca portátil. Gosto da ideia de que podemos pegar e usar outro código em outras linguagens também no WebAssembly.”
O ClockworkPi DevTerm Kit baseado em RISC-V.
Quanto ao RISC-V, a arquitetura de chip livre de royalties de padrão aberto que também está começando a ganhar força em todo o setor, Sneath observou que ainda é muito cedo (embora ele tenha dito que realmente gostou de brincar com o ClockworkPi baseado em RISC-V DevTerm Kit), mas ele acredita que o suporte a essa arquitetura pode abrir novas plataformas para o Flutter, especialmente no espaço incorporado. Com a equipe Android do Google também investindo nessa arquitetura, definitivamente vale a pena ficar de olho no que o Google está fazendo aqui, mesmo que o número de desenvolvedores que visam especificamente essa arquitetura ainda seja bastante baixo.
Por fim, a equipe Flutter também está lançando um novo kit de ferramentas interessante para editores de notícias, que se baseia no sucesso de uma iniciativa semelhante que a equipe lançou para desenvolvedores de jogos na conferência de desenvolvedores I/O do Google no ano passado. Este kit de ferramentas deve permitir que novos editores criem rapidamente um novo aplicativo móvel centrado com suporte para autenticação, integrações de anúncios, notificações e muito mais – tudo sem ter que projetar esses elementos do zero.
Gostaríamos de lhe enviar notificações com novidades, você pode cancelar a qualquer momento.