<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>jrdan.dev</title>
    <link>https://jrdan.dev/pt/blog</link>
    <description>Artigos, tutoriais e dicas sobre desenvolvimento fullstack.</description>
    <language>pt</language>
    <atom:link href="https://jrdan.dev/pt/rss" rel="self" type="application/rss+xml"/>
    <item>
      <title>Seu projeto realmente precisava de Next.js?</title>
      <link>https://jrdan.dev/pt/blog/did-your-project-really-need-next-js</link>
      <guid isPermaLink="true">https://jrdan.dev/pt/blog/did-your-project-really-need-next-js</guid>
      <description>Uma análise a partir da experiência prática e do que tenho observado no mercado.</description>
      <content:encoded><![CDATA[<p>Nos últimos meses tenho visto cada vez mais relatos de times migrando projetos de <a href="https://nextjs.org/">Next.js</a> para <a href="https://tanstack.com/start/latest">TanStack</a>. Casos como o da <a href="https://www.inngest.com/blog/migrating-off-nextjs-tanstack-start">Inngest</a>, que reduziu o tempo de dev local em 83%, o da <a href="https://dev.to/lindesvard/why-we-ditched-nextjs-for-tanstack-start-4bp7">OpenPanel</a> e o da <a href="https://documenso.com/blog/why-we-moved-off-next-js">Documenso</a> são cada vez mais comuns. E toda vez que leio um desses relatos, não consigo parar de pensar: será que Next foi realmente a escolha certa desde o começo?</p>
<p>Não me entendam mal. Eu conheço os problemas desde a <a href="https://www.reddit.com/r/nextjs/comments/1gdxcg5/why_do_you_still_prefer_page_router_over_app/">migração do Pages Router para o App Router</a>, o <a href="https://dev.to/yugjadvani/why-we-finally-moved-out-of-nextjs-a-developers-perspective-3cna">impacto que isso teve na experiência de desenvolvimento</a>, as discussões sobre <a href="https://medium.com/@ss-tech/the-next-js-vendor-lock-in-architecture-a0035e66dc18">lock-in com a Vercel</a> e até algumas <a href="https://nextjs.org/blog/CVE-2025-66478">questões de segurança</a> que surgiram no caminho. Mas talvez o ponto principal não seja "Next é ruim". Talvez o ponto seja outro: será que a maioria desses projetos realmente precisavam usar Next?</p>
<h2>O que Next.js realmente é</h2>
<p>Next é, primeiramente, um framework <strong>opinativo</strong> pra construção de aplicações React com um foco imenso em renderização no servidor. Ele foi pensado pra <strong><a href="https://developer.mozilla.org/en-US/docs/Glossary/SSR">SSR</a></strong>, <strong><a href="https://nextjs.org/docs/pages/guides/incremental-static-regeneration">ISR</a></strong>, <strong><a href="https://developer.mozilla.org/en-US/docs/Glossary/SSG">SSG</a></strong> e toda essa sopa de letrinhas que a Vercel ajudou a popularizar. A proposta inicial sempre foi muito clara: pré-renderizar ao máximo, servir HTML pra otimizar SEO, reduzir tempo de carregamento e entregar uma experiência extremamente performática <strong>após</strong> o build. No cenário ideal, você gera páginas estáticas, invalida cache quando necessário, e entrega páginas mais performáticas.</p>
<p>Exemplos de uso quase perfeitos para isso são:</p>
<ul>
<li>Blogs</li>
<li>Portais de notícia</li>
<li>Landing pages</li>
<li>Marketplaces com catálogo público</li>
<li>E-commerces com foco em SEO</li>
</ul>
<p>Ou seja: produtos onde o conteúdo pode ser pré-renderizado e o SEO é extremamente necessário pro sucesso.</p>
<h2>Quando a escolha não faz sentido</h2>
<p>O problema começa quando pegamos essa ferramenta, pensada pra server-side, e aplicamos em sistemas totalmente dinâmicos e dependentes do client.</p>
<ul>
<li>Sistemas internos com muita interatividade</li>
<li>Aplicações com múltiplos filtros, modais, estados locais complexos e atualizações frequentes de dados.</li>
<li>Produtos onde praticamente tudo depende de quem está logado e do que ele acabou de fazer.</li>
</ul>
<p>Se SEO não é prioridade e quase nada pode ser gerado estaticamente, o HTML pré-renderizado deixa de ser diferencial. O que passa a importar, é estado, interatividade e previsibilidade no client.</p>
<h2>Onde o TanStack se encaixa</h2>
<p>E é aí que entra o TanStack.</p>
<p><a href="https://tanstack.com/start/latest/docs/framework/react/start-vs-nextjs">TanStack</a> segue um modelo muito mais próximo de uma <a href="https://developer.mozilla.org/en-US/docs/Glossary/SPA">SPA</a> tradicional, com SSR como opt-in, não como premissa arquitetural. O fluxo padrão é simples: rota, query, mutação, invalidação.</p>
<p>Não existe a mesma preocupação constante sobre se um componente deve ser server ou client side. A aplicação nasce essencialmente como client, e o uso de server rendering é uma decisão consciente, não o ponto de partida.</p>
<p>Talvez o que esteja acontecendo agora não seja uma "rejeição ao Next". É só o reflexo da escolha do framework do momento ao invés de escolhas pensando em arquitetura e produto (farpas ao React que tem concorrentes que entregam soluções melhores de forma mais elegante, mas isso é papo pra outro post).</p>]]></content:encoded>
      <pubDate>Sat, 28 Feb 2026 23:08:32 GMT</pubDate>
      <category>Next.js</category>
      <category>Tanstack</category>
      <category>React</category>
      <category>Frontend Architecture</category>
      <category>Web Development</category>
    </item>
  </channel>
</rss>