Livewire is het antwoord van Laravel om websites te kunnen bouwen zonder Javascript. Het is een verlengstuk op de UI oplossing in Laravel. Met Livewire is het mogelijk om zeer gericht dynamische elementen aan de frontend toe te voegen zonder dat dit de rest van de webpagina beïnvloedt.
5
#Laravel
Door · Matthias Benschop
#Maatwerk Software
Door · Karel Deij
Livewire zorgt ervoor dat je Laravel als een full stack oplossing kan gebruiken. Het biedt extra mogelijkheden aan die je goed kunt gebruiken op de frontend van een website. Waar Laravel voornamelijk uitblinkt in de backend als PHP framework is Livewire de oplossing voor de frontend.
Voorheen was het gebruikelijk om je PHP backend aan te vullen met een Javascript zoals React. Alleen met de nieuwe ontwikkelingen is dit niet meer nodig. Je kunt nu alles via één aanbieder oplossen. Omdat je zowel de frontend als backend kunt maken met hetzelfde pakket noemen we het een full stack oplossing. De stack is dus de opstapeling van gebieden waarin je kunt werken met een pakket. Een full stack is dus een volledige stapel: je kunt er alles mee.
Livewire is opgebouwd uit meerdere onderdelen. Deze onderdelen voeg je toe aan een webapplicatie. Elk onderdeel kun je een specifieke plek met functie geven. Dit doe je via Livewire zelf of vanuit de Laravel frontend die je gewend bent. Omdat je in onderdelen werkt kun je ieder onderdeel dynamisch maken of niet. Als je op een webpagina meerdere componenten toevoegt kun je dus op één pagina zowel dynamische als statische componenten hebben. Het voordeel? Je bouwt sneller omdat je alleen op specifieke plekken hoeft in te grijpen. Het scheelt onnodig werk om de hele website of pagina aan te pakken.
Elk component is weer opgebouwd uit een PHP bestand en een .blade.php bestand die je vaker tegenkomt binnen Laravel. En hier is waar Livewire bij komt kijken. Het uitwisselen van informatie tussen de backend en frontend kost normaal gesproken redelijk wat programmeercode. Doordat je bij Livewire een syntax toevoegt is dit uitwisselen van informatie een stuk efficiënter. Zo heb je veel minder code nodig om dezelfde hoeveelheid informatie uit te wisselen. Dit alles dankzij een syntax die XHR requests met de backend PHP-klasse.