Skip to content
Programing

Inertia.js v3.0.0: A Revolução das Updates Otimistas no Monolito Moderno

Published: Duration: 6:02
0:00 0:00

Transcrição

Apresentadora

Juliana Santos

Convidado

Felipe Mendonça

Apresentadora

E aí, pessoal, bem-vindos de volta ao Allur! Eu sou a Juliana Santos e hoje o nosso papo é sobre algo que a galera que curte o ecossistema Laravel e o desenvolvimento web moderno estava esperando ansiosamente. A gente vai mergulhar de cabeça no lançamento do Inertia.js v3.0.0.

Apresentadora

E para desbravar essa v3 comigo, eu trouxe um convidado que manja muito de arquitetura moderna e já está quebrando a cabeça com o Inertia desde as primeiras versões. Felipe Mendonça, seja muito bem-vindo ao Allur! Felipe é desenvolvedor fullstack sênior e um entusiasta de carteirinha da produtividade do ecossistema Laravel. Felipe, valeu demais por aceitar o convite, cara!

Convidado

Valeu, Juliana! O prazer é todo meu. É um prazer estar aqui no Allur. Cara, eu sou fã do Inertia desde que o Jonathan Reinink soltou as primeiras versões, e te falar: a v3 é o tipo de atualização que faz a gente olhar pro código e pensar: "Nossa, por que não era assim antes?". Tô bem animado pra gente dissecar essas novidades hoje.

Apresentadora

Massa! E Felipe, pra começar do começo: a gente fala muito desse termo "Monolito Moderno". Explica pra gente, na prática, como o Inertia v3 reforça essa ideia e por que isso é tão diferente de uma aplicação SPA clássica?

Convidado

Cara, a ideia do Monolito Moderno é basicamente você ter o melhor dos dois mundos. Sabe quando você quer aquela fluidez de um site que não recarrega a página, tudo bonitinho com Vue ou React, mas não quer o pesadelo de gerenciar rotas no front, autenticação JWT, e ter que construir 500 endpoints de API só pra um formulário simples? O Inertia faz isso. Ele deixa o roteamento e a lógica de negócio no servidor, no Laravel ou Rails, por exemplo. E a v3 elevou isso porque agora a sensação de "natividade" da aplicação tá num nível absurdo. Eles atacaram justamente os pontos onde o desenvolvedor ainda sentia que "faltava algo" pra bater de frente com uma aplicação React pura.

Apresentadora

E um desses pontos, com certeza, são as *Optimistic Updates*, né? Eu vi que esse é o grande destaque dessa versão. Explica pra gente como era o sofrimento antes e como ficou agora.

Convidado

Nossa, Ju, nem me fale! Antes da v3, se você quisesse fazer um botão de "curtir" que mudasse de cor na hora, ou uma lista de tarefas onde o item sumia assim que você clicava em "deletar", você tinha que fazer um malabarismo. Você tinha que manipular o estado local do componente manualmente, torcer pra requisição dar certo no servidor e, se desse erro, você tinha que escrever toda a lógica de "rollback" na mão pra voltar o botão pro estado anterior. Era um código sujo, sabe? Propenso a bug.

Apresentadora

Cara, isso é sensacional! É o tipo de coisa que remove uma carga cognitiva enorme do desenvolvedor, né? E por falar em facilidade, eu vi que apareceu um tal de hook `useHttp`. O que ele traz de novo em relação ao que a gente já tinha no `router`?

Convidado

Esse hook foi uma sacada muito boa. O `router.post` ou `router.get` clássico do Inertia é ótimo, mas ele mexe no estado global da página. Imagina que você tem uma página com cinco formulários diferentes ou várias ações independentes. Se você usasse o router padrão, o estado de "carregando" (o tal do `processing`) era compartilhado.

Apresentadora

Legal! E uma coisa que eu achei curiosa no anúncio é que eles mencionaram que a v3 pode até tornar bibliotecas como Pinia ou Redux obsoletas em muitos casos. Você concorda com isso ou é exagero do marketing?

Convidado

Olha, sendo bem sincero, pra 90% das aplicações que a gente constrói no dia a dia, eu concordo plenamente. Geralmente, a gente usa o Redux ou Pinia só pra "segurar" os dados que vieram do servidor e garantir que, se eu mudar algo aqui, o resto da tela reflita isso. Como o Inertia v3 agora gerencia as atualizações otimistas e mantém o estado do front em sincronia com o back de forma tão fluida, você para de precisar de uma "fonte da verdade" extra no front-end. O seu banco de dados e seus Controllers no Laravel voltam a ser a única fonte da verdade. É menos complexidade, menos dependência pra atualizar... é um alívio pro projeto, né?

Apresentadora

Com certeza! E sobre performance, Felipe? Sentiu diferença na navegação entre as páginas?

Convidado

Senti sim! Eles deram uma otimizada forte "sob o capô". O processamento das props que vêm do servidor tá mais rápido e a renderização tá mais leve. A sensação é de que a navegação entre páginas tá quase instantânea. É aquele ajuste fino que, somado às atualizações otimistas, faz o usuário final achar que está usando um app instalado no celular, e não um site rodando num navegador.

Apresentadora

Muito bom. Mas nem tudo são flores, né? Pra quem tá na v2 e quer pular pra v3, o caminho é tranquilo ou tem muita "quebra" de compatibilidade?

Convidado

Tem algumas *breaking changes*, sim, não dá pra negar. A forma como alguns hooks se comportam e a estrutura de certas requisições mudaram um pouco pra permitir essa evolução. Mas a documentação oficial do Inertia é excelente, eles sempre lançam um guia de migração bem mastigado. O meu conselho é: não atualize na correria numa sexta-feira à tarde, mas não deixe de atualizar. O ganho de limpeza de código que você vai ter ao remover lógicas manuais de loading e rollback compensa qualquer esforço de migração.

Apresentadora

Boa! Dica de ouro: nunca atualize nada importante na sexta-feira, galera! (risos). Felipe, o papo tá excelente, mas a gente já tá caminhando pro final. Se você tivesse que resumir o Inertia v3 em uma frase para aquele desenvolvedor que ainda está na dúvida se usa ou não, o que você diria?

Convidado

Eu diria que o Inertia v3 é a ferramenta definitiva para quem quer entregar uma experiência de usuário de elite sem precisar de uma equipe de 10 engenheiros de front-end. É a vitória do pragmatismo.

Apresentadora

Sensacional! Felipe, obrigada demais pela participação, por compartilhar sua experiência e por traduzir essas novidades técnicas de um jeito tão massa.

Convidado

Eu que agradeço, Juliana! Valeu pelo convite e até a próxima, pessoal. Bora codar!

Apresentadora

É isso aí! E para você que ouviu a gente até aqui, as principais conclusões são claras: o Monolito Moderno está mais vivo do que nunca. Com atualizações otimistas nativas e maior controle com o `useHttp`, o Inertia v3 tira a fricção do desenvolvimento e foca no que importa: entregar valor rápido e com qualidade. Se quiser saber mais, dá uma olhada na documentação oficial em inertiajs.com – vale muito a leitura.

Tags

Frontend web development php inertia.js laravel spa optimistic ui