• dezembro 16, 2020

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

O que é Livewire

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

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

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.

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.

[APRENDA TAMBÉM SOBRE DOCKER]

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

Confira mais conteúdos como este no Fireblog! 

Deixe um Comentário

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

    Join our Newsletter

    We'll send you newsletters with news, tips & tricks. No spams here.