- Ainda gosto de React e também gosto do que a Vercel oferece, mas, por causa do aumento da complexidade e dos custos do Next.js, fiz a migração para o TanStack
- O TanStack ainda tem lacunas, mas é intuitivo e permite adicionar recursos avançados com facilidade quando necessário
- Até surgir a necessidade dos recursos avançados do Next.js, o TanStack é a melhor escolha
Pontos fortes do Next.js
- Configuração rápida e suporte a várias integrações
- O Next.js é um "React Framework for the Web", permitindo configurar apps React rapidamente
- Há vários guias de integração: MUI, MarkdocDataDog etc.
- Oferece plugins nativos para ferramentas como Jest
- Vantajoso para aplicações grandes e de alto desempenho
- É possível ajustar com precisão os padrões de renderização de páginas individuais
- Fornece várias APIs para alto desempenho
- server-side rendering (SSR)
- partial prerendering (PPR)
- Edge Functions, streaming e hydration seletiva
- Com suporte a incremental static regeneration (ISR), é possível lidar com conteúdo de alto tráfego de forma eficiente
Limites e problemas do Next.js
- Complexidade de recursos avançados desnecessários
- Os recursos avançados parecem excessivos para apps de menor escala
- Há muitos recursos de micro-otimização de performance que não são necessários para startups em estágio inicial
- Problema de custo financeiro
- Muitos recursos do Next.js estão atrelados a serviços comerciais
- edge computing (
middleware.ts)
- transformação de imagem (
next/image)
- ISR (
export const revalidate = 60)
- execução de funções serverless (
app/api/route.ts)
- A alta dependência dos serviços da Vercel aumenta o risco de custos mais altos
- Curva de aprendizado e superfície de API complexas
- A complexidade do App Router eleva a curva de aprendizado
- A explicação dos conceitos na documentação é obscura e difícil de entender
- Depurar é difícil
- Existem três sistemas de cache, como Full Route Cache, Data Cache e Router Cache
- Suporte insuficiente a SPA (single-page application)
- O suporte a SPA no Next.js é limitado e é difícil melhorar a performance
- Em comparação com o Vite, o desempenho do servidor de desenvolvimento fica atrás
- O desempenho do TurboPack também fica abaixo do esperado
Vantagens de TanStack + Vite
- Estrutura simples e intuitiva
- O TanStack Router oferece autocompletar e validação de parâmetros de busca com Zod
- O fluxo do código é claro e previsível
- Gerenciamento de estado com TanStack Query
- Permite gerenciar e depurar facilmente o estado do servidor
- Inclui ferramentas de desenvolvedor integradas
- Desempenho rápido do Vite
- A velocidade de build e execução de código é rápida
- Funciona imediatamente, sem configurações complexas
- Não fica preso a um serviço de nuvem específico
1 comentários
Acho que, conforme forem construindo, no fim vai acabar ficando como o Next.js.