Flutter 2 foi anunciado com uma mudança de escopo importante: o framework do Google deixa de falar principalmente com o mundo mobile e passa a defender uma experiência multiplataforma mais ampla, com web no canal estável e desktop disponível no canal estável sob uma bandeira de early release.1

A promessa é conhecida e difícil: escrever uma base de UI e levá-la a celulares, navegadores e computadores com comportamento consistente. O diferencial do Flutter continua sendo controlar a renderização e a árvore de widgets em vez de depender apenas de componentes nativos de cada plataforma.

Web passa a ser alvo de primeira classe

O suporte web do Flutter saiu de beta para estável. Isso significa que, ao criar um app Flutter no canal estável, a web passa a ser mais um alvo de dispositivo. O Google destaca melhorias de performance e fidelidade de renderização, incluindo a evolução do renderizador HTML e a presença do CanvasKit para experiências gráficas mais consistentes.

Esse passo é relevante para produtos que querem reaproveitar lógica, design system e fluxo de desenvolvimento entre mobile e navegador. Portais internos, dashboards interativos, ferramentas de operação e aplicações de cliente podem se beneficiar quando o custo de manter stacks separadas é alto.

Mas web não é só superfície de pixels. Um app no navegador precisa respeitar URLs, acessibilidade, seleção de texto, carregamento inicial, SEO quando aplicável, integração com histórico, comportamento de links e expectativas de performance. O Flutter 2 avança, mas cada produto precisa avaliar se sua aplicação se encaixa no modelo.

Desktop ainda pede pragmatismo

No desktop, o suporte aparece como uma prévia no canal estável. A equipe aponta melhorias em edição de texto, eventos de teclado, ponteiros de alta precisão, menus de contexto, barras de rolagem e redimensionamento. São detalhes que parecem pequenos, mas definem se um app se comporta como software de mesa ou como mobile ampliado.

Essa distinção importa. Usuários de Windows, macOS e Linux esperam atalhos, foco, menus, janelas, arrastar e soltar, tratamento de arquivos e integração com o sistema. A portabilidade só é valiosa quando respeita convenções locais.

Flutter 2 também reduz o custo de memória de múltiplas instâncias do engine em aplicações nativas existentes, com queda citada de cerca de 99% no custo estático adicional. Isso fortalece cenários de adoção incremental, em que uma empresa embute Flutter em partes específicas de apps Android ou iOS em vez de reescrever tudo.

Uma base, vários contratos

Dart 2.12 e sound null safety completam o quadro. Ao distinguir tipos anuláveis e não anuláveis, o ecossistema tenta atacar uma fonte frequente de falhas em produção: valores nulos inesperados. Para bases grandes, esse tipo de garantia ajuda tanto qualidade quanto refatoração.

O lançamento também apresenta Flutter Fix, uma combinação de comandos e integrações de IDE para automatizar parte das mudanças de API. É uma peça operacional importante: frameworks maduros precisam evoluir sem transformar cada depreciação em trabalho manual extenso.

Para times de produto, Flutter 2 não deve ser avaliado como solução mágica de "um código para tudo". A pergunta correta é mais precisa: quais camadas podem ser compartilhadas sem sacrificar experiência, performance e integração de plataforma?

Quando essa conta fecha, o ganho pode ser expressivo. Uma equipe menor mantém UI, lógica e design em menos lugares. Quando não fecha, a promessa de portabilidade vira dívida de adaptação. Flutter 2 amplia o território possível, mas a arquitetura continua precisando de escolha consciente por plataforma e por caso de uso.


  1. Flutter Blog, "What’s New in Flutter 2", 3 mar. 2021.