Voltar
287 mil linhas de React portadas em 3 dias: o difícil foi provar que nada mudou

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

  1. 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

Avalie este artigo:
Categoria
CEVIU Web Dev
Publicado
03 de novembro de 2026
Editoria
CEVIU Web Dev

Quer receber mais sobre CEVIU Web Dev?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser