Maple migra 287 mil linhas de React para Foldkit em 3 dias, e o difícil foi provar que nada mudou
Aprofundamento CEVIU
Aprofundamento
A Maple tirou seu app web de React em outubro. Eram 287 mil linhas em 131 rotas, portadas para o Foldkit (The Elm Architecture sobre Effect) em três dias, com cerca de 40 agentes Claude. O diff final tocou 3.393 arquivos, impossível de revisar lendo. Por isso a equipe escreveu antes o critério de pronto e um harness, o @maple/ui-parity, que usa Playwright para comparar os dois apps.
A motivação foi custo de manutenção. Eram cerca de 520 chamadas de hooks de atom em 208 arquivos, e em agosto o erro #301 do React derrubou a página de erros em produção. No Foldkit todo o estado fica em um Model, alterado só pela função update, e Commands são o único código que fala com a rede. O preço: sem divisão de código por rota, o bundle de inicialização sobe de 703 KB para uma estimativa de 1,43 a 1,58 MB gzipped. O harness compara pixels, estrutura, log de requisições e snapshots ARIA, em mais de 2.600 variantes por execução, contra um backend de fixtures com chDB. Mesmo assim, revisões acharam cerca de 40 defeitos na primeira rodada e cerca de 140 na final, entre eles quatro graves em checkout e configurações.
O que mudou
A cobertura anterior do CEVIU traz outros casos de migração com IA, mas de outras empresas e projetos. Em 11 de setembro de 2026, o CEVIU noticiou a migração de Node.js para Go com IA na Checkly, e em 17 de setembro de 2026, o caso Hermes. Não há evolução do mesmo assunto da Maple, então não há comparação direta a fazer.
Por que isso importa
Para quem pensa em migrar um frontend com agentes, a leitura é que o gargalo deixa de ser escrever código e passa a ser provar equivalência. O harness da Maple pegou diferenças de 13 pixels, mas deixou passar defeitos entre screenshots e uma tela inteira sem cenário (a paleta de comandos). Cobertura de cenários define até onde a verificação automática vale.
Linha do tempo
Maple detalha a migração de 287 mil linhas de React para Foldkit em três dias, com harness de paridade.
Perguntas frequentes
Quanto tempo levou a migração da Maple de React para Foldkit?
O port levou três dias, com cerca de 40 agentes Claude, em até quatro simultâneos. As rodadas de revisão e as correções após o primeiro deploy vieram além disso. A base tinha 287 mil linhas em 131 rotas.
O que é o Foldkit?
É a The Elm Architecture sobre Effect. Todo o estado fica em um único Model, mudado só pela função update a partir de Messages, e Commands são os únicos que acessam a rede. Não há hooks nem estado de componente.
Qual o custo da migração em performance?
O Foldkit não divide código por rota. O bundle de inicialização sai de 703 KB para uma estimativa de 1,43 a 1,58 MB gzipped, quase o dobro.
O que o harness de paridade comparava?
Pixels (diff estrito e perceptual), estrutura com texto, controles e estilos computados, log de requisições por endpoint e snapshots ARIA. A checagem de acessibilidade só reporta, a menos que se passe --strict-a11y.
Fontes
- maple.devfonte original
- Categoria
- CEVIU Web Dev
- Publicado
- 03 de novembro de 2026
- Editoria
- CEVIU Web Dev

