Pular para o conteúdo
Tecnologia

ShadCN UI e Radix: Crise de Manutenção

Análise técnica da situação severa do ShadCN UI e Radix após aquisição pela WorkOS. Problemas de performance, falta de manutenção e alternativas como BaseUI e AriaKit para o

Por que isso é importante

Análise técnica da situação severa do ShadCN UI e Radix após aquisição pela WorkOS. Problemas de performance, falta de manutenção e alternativas como BaseUI e AriaKit para o futuro.

O Contexto da Crise

A polêmica começou quando Chris (CJE), desenvolvedor da Axiom, publicou um post
alertando sobre os problemas do ShadCN UI e Radix. A Axiom processa terabytes de dados
em tempo real e precisa de UI extremamente performante.

Problemas Identificados

Anatomia do Ecossistema UI

Para entender a crise, precisamos analisar como ShadCN UI funciona e sua dependência do
Radix.

As Três Camadas da UI

CSS++ (Estilização)

Ferramentas como Tailwind CSS para escrever estilos de forma eficiente

Comportamentos (Headless)

Radix, AriaKit, React Aria - lógica de acessibilidade e interação

Estilos Visuais

Bootstrap, Material UI - aparência visual dos componentes

ShadCN: Solução Híbrida

ShadCN UI combina Tailwind (CSS++), Radix (comportamentos) e estilos próprios em uma
solução única. A diferença é que você recebe o código-fonte, não um pacote NPM
fechado.

Timeline da Crise

  1. 2020-2022: Radix ganha popularidade, ShadCN adota Radix como
    base principal
  2. 2023: WorkOS adquire equipe Radix para desenvolver AuthKit
  3. 2026: Mantenedores originais (Benoît, Jenna) param de
    contribuir ativamente
  4. 2026: Apenas Chance mantém Radix, problemas críticos se
    acumulam

Declaração Polêmica

Colm (co-criador do Radix): "Radix é uma responsabilidade. De todas
as libs UI, é a última opção que eu consideraria para qualquer projeto sério."

Alternativas Viáveis

Felizmente, existem alternativas sólidas para quem busca migrar ou iniciar novos
projetos.

BaseUI

Criado pelos mesmos desenvolvedores do Radix e Material-UI. API similar ao Radix, facilitando migração.

AriaKit

Mantido por Diego Haz, focado em acessibilidade e performance. Bem documentado e ativo.

React Aria (Adobe)

Solução robusta da Adobe, bem mantida por ter backing corporativo sólido.

Headless UI

Biblioteca do Tailwind Labs, integração nativa com Tailwind CSS.

BaseUI: A Aposta do Futuro

BaseUI foi desenvolvido especificamente para facilitar migração do Radix. A API é
quase idêntica, e está sendo ativamente desenvolvido pelos criadores originais do
Radix que saíram da WorkOS.

A Resposta do ShadCN

O próprio criador do ShadCN UI respondeu às preocupações com uma perspectiva
equilibrada.

Recomendações Oficiais

O ponto mais importante: ShadCN foi construído para isso. Como você recebe o
código-fonte, pode modificar, trocar dependências ou migrar componentes específicos
conforme necessário.

Problemas Técnicos Específicos

A Axiom documentou problemas concretos que afetam aplicações de alta performance.

Bug Critical: Re-renders Infinitos

Problema: useEffect sem array de dependências em componentes Radix
causa loops de re-render Impacto: 50+ poppers na mesma página causam degradação severa de
performance Status: Issue fechada sem correção, reaberta recentemente

Soluções de Contorno

  1. Patch Dependencies: Axiom usa patch-package para corrigir bugs
    específicos
  2. Migração Seletiva: Substituir componentes problemáticos por
    BaseUI
  3. Componentes Customizados: Reescrever componentes críticos
    internamente
  4. Monitoramento: Implementar profiling para detectar problemas
    precocemente

Estratégias de Migração

Para equipes considerando migração, aqui estão as abordagens recomendadas.

Migração Gradual

Substitua componentes um por vez, começando pelos mais problemáticos

Testes Paralelos

Teste BaseUI em branches separados antes de migrar produção

Abstração de Components

Crie wrapper layer para facilitar futuras migrações

Monitoramento Performance

Implemente métricas para comparar antes/depois da migração

Não Migre por Pânico

Como ShadCN observou: trocar bibliotecas estáveis por beta versions pode introduzir
novos bugs. Migre apenas se tiver problemas específicos que precisam ser resolvidos.

O Futuro das UI Libraries

Esta crise ensina lições importantes sobre sustentabilidade de projetos open source.

Lições Aprendidas

Checklist de Decisão: ShadCN/Radix vs Alternativas

  • Avaliou problemas específicos na aplicação atual
  • Analisou impacto de performance em componentes críticos
  • Considerou custo vs benefício da migração
  • Testou alternativas (BaseUI, AriaKit) em ambiente controlado
  • Implementou abstração para facilitar futuras migrações
  • Configurou monitoramento de performance para componentes UI
  • Avaliou bus factor e sustentabilidade das alternativas
  • Definiu estratégia de migração gradual se necessário
  • Documentou decisões técnicas para o time
  • Criou plano de contingência para problemas futuros
  • Estabeleceu critérios objetivos para reavaliar decisão
  • Considerou impacto em prazos e roadmap do produto