Desenvolvimento de sistemas

Livewire – Revolução no desenvolvimento front-end Laravel?

Quem nunca teve problemas na hora de fazer o desenvolvimento do seu front-end? Quem nunca queria usar Vue, mas por não saber usar muito bem, sofreu para conseguir um resultado igual ele? Pois bem, a recém-nascida lib do Laravel chamada Livewire promete resolver esses problemas! Entenda melhor a ferramenta neste post ?

AFINAL, O QUE É LIVEWIRE?

O Livewire é uma biblioteca que foi adicionada em 2019 pelo famosíssimo framework Laravel.

A proposta dela é criar interfaces dinâmicas (similares ao Vue) com os códigos do blade e do próprio Laravel. Sim! Exatamente! Você, programador Back-end, poderá criar um front-end bem desenvolvido com o Livewire!

Indo direto ao ponto, o Livewire funciona de um jeito beeem peculiar. Qualquer interação que acontecer com ele, se faz uma requisição AJAX e o HTML é renderizado do lado do servidor e depois retornado ao cliente. Esse fluxo permite que ele seja reativo, porém, um pouco mais lento. Ele tem algo parecido com um DOM virtual, onde ele compara as alterações com o DOM renderizado e então aplica as modificações.

MOTIVAÇÕES PARA A CRIAÇÃO DO LIVEWIRE

Simplicidade: Caleb Porzio queria simplificar o desenvolvimento de interfaces dinâmicas, eliminando a necessidade de escrever JavaScript complexo. Ele percebeu que muitos desenvolvedores PHP preferem trabalhar com PHP em vez de JavaScript e viu uma oportunidade de facilitar esse processo.

Integração com Laravel: Como um entusiasta de Laravel, Porzio buscava uma maneira de integrar diretamente a lógica de front-end e back-end dentro do framework Laravel. Isso ajudaria a manter a consistência e a coerência no código.

Reatividade: Livewire foi projetado para trazer reatividade ao desenvolvimento PHP, similar ao que frameworks como Vue.js e React fazem com JavaScript. O objetivo era permitir que as mudanças no back-end fossem refletidas automaticamente no front-end sem a necessidade de recarregar a página.

Produtividade: A intenção era aumentar a produtividade dos desenvolvedores, permitindo que eles se concentrassem mais na lógica de negócios e menos em detalhes de implementação de front-end.

VANTAGENS E DESVANTAGENS DO LIVEWIRE

Os principais pontos positivos do Livewire são:

  • A facilidade de trabalho, pois é simples de entender para quem já usa o Laravel.
  • O nível profissional dele permite uma avalanche de possibilidades com simples comandos, todos com um resultado bem próximo de um Vue.

Porém, nem tudo são flores. Apesar de parecer um paraíso, o Livewire possui pontos negativos também. O primeiro deles, é que, por ser uma ferramenta muito recente, o suporte e dúvidas tiradas são poucas, até nos fóruns mais conhecidos dos desenvolvedores, como o Stack Overflow.

Outro ponto, é que, por ter a proposta de não usar uma linguagem diferente, no caso, o JavaScript. Porém, esse problema pode ser resolvido usando a micro framework AlpineJS como adicional, menor e sem ser tão pesada quanto um Angular, por exemplo.

Durante o trabalho com Livewire, podemos usar comandos do Laravel para criar os componentes, como “php artisan make:livewire Teste”. A lib trabalha com dois arquivos separados: a view e o arquivo que comanda a view. No caso, um deles tem a extensão .blade.php, o qual estamos acostumados a criar os estilos da tela e tudo que aparecerá para o cliente. No outro, o qual possui o mesmo nome da blade, é o controlador, onde terão as funções chamadas por métodos e eventos da blade e onde são declaradas as variáveis presentes na tela.

Exemplificando, criando um componente para ser um contador e mostrar em tempo real o número sendo adicionado na tela em cada clique do botão, usaremos o comando “php artisan make:livewire contador”. Dois arquivos são criados, o “Contador.php” e o “contador.blade.php”. Este último, temos o botão e a variável do número que será adicionado. O primeiro, por sua vez, terá toda a lógica por trás da funcionalidade, como a função de incrementar número e a variável número.

Em resumo, a biblioteca Livewire é uma ferramenta muito interessante e essencial para quem não se adaptou ou não conhece o Vue.  Entretanto, como trata-se de uma lib muito recente (lançada em julho de 2019), seu suporte é limitado e ela é pouco abordada em fóruns da internet. É perfeito para aqueles que já estão acostumados com Laravel e querem criar interfaces de forma prática. Esclarecidos esses pontos, é necessário uma análise dos prós e contras para optar pelo uso desse recurso, que é muito promissor e acrescenta demais ao programador front-end.

Já postamos alguns outros conteúdos sobre Laravel, quer dar uma olhada?
Empresas que utilizam Laravel no desenvolvimento
Empresa de desenvolvimento em PHP Laravel

CONHEÇA OS REDATORES DESTE CONTEÚDO

Lucas Domingues e Gustavo Godoi, são técnicos em Informática pelo Colégio Técnico Industrial – CTI Bauru e atuam como estagiários na Firework com foco em desenvolvimento web.

Lucas DominguesGustavo Godoi

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *