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

Transcript

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