Hans, Stefan und Vanessa hatten nach langer Zeit wieder das Vergn\xfcgen mit\nBackend-Entwickler Christoph Rumpel (@christophrumpel), Autor von Laravel Core\nAdventures und Mastering PhpStorm,\xa0ein Larastreamer und Host des Podcasts Call\nit a day, sprechen zu d\xfcrfen, diesmal \xfcber Laravel Livewire.\n\n\nSCHAUNOTIZEN\n\n[00:00:59] LARAVEL LIVEWIRE\n\nLaravel Livewire ist ein PHP/Laravel Package von Caleb Poruio, der ebenfalls der\nAutor von Alpine.js ist. Dieses Package eignet sich v.a. f\xfcr Fullstack oder\nstark backend-lastige Developer Teams. Es erm\xf6glichst dynamische Interface\nFunktionen, ohne tats\xe4chliches JavaScript geschrieben werden muss. Die\nGrunfunktion basiert auf server-side gerendertem HTML Partials, \xe4hnlich wir PJAX\nvon jQuery. Doch alle Frontend Entwickler:innen wissen: Heutzutage bleibt es\nselten bei \u201eeinfach nur JavaScript\u201c. Bei einem Framework wie Laravel Livewire\nf\xe4llt auch der Aufbau und die Wartung von Bundlern und \xe4hnlichem Tooling weg.\nDie Idee kommt vom Framework Phoenix von Elixir. Ein \xe4hnliches Framework f\xfcr C#,\num client-side Webapplikationen zu bauen, ist Blazor. Vergleichbar in der Welt\nvon Ruby on Rails ist Hotwire. Als Beispiel nimmt Christoph uns mit in eine\nserver-side geladene Applikation mit den \xfcblichen Page Reloads. Nun landet man\nauf einer Seite mit einer Tabelle, f\xfcr die es sich anbieten w\xfcrde, wenn man\ndiese Daten nun auch sortieren oder filtern k\xf6nnte \u2013 und statt einem Page Reload\nlieber einen kurzen Loading Spinner anzeigen m\xf6chte. Dar\xfcberhinaus eignet es\nsich f\xfcr Echtzeit-Validierung, Auto-Saving, Suchen, Auto-completes, dynamischen\nDropdowns, Datei Uploads und vielem mehr. Auch das Schreiben von Tests mit mit\nLivewire kein Problem. Es hat sogar noch den Vorteil, dass dadurch, dass die\nLogik nicht in ein JavaScript Framework ausgelagert wurde, es keine zus\xe4tzlichen\nIntegrations- oder Ende-zu-Ende-Test zwischen Frontend und Backend ben\xf6tigt.\nChristoph bringt uns zwei Beispiele mit (siehe Links). Abschlie\xdfend gibt es noch\nzu beachten, dass Entwickler:innen auf die Performance achten m\xfcssen, da ja jede\nAktion einen Request erzeugen wird. Anm. der Redaktion: Performance ist aber\nauch mit einer Single-Page Applikation o.\xe4. auch nicht einfach, v.a. wenn erst\neinmal ein 4k Video geladen wird. Dar\xfcberhinaus gilt es auch den \xdcberblick \xfcber\nsensitive Daten zu behalten, da durch Livewire eine offene Schnittstelle zum\nClient entsteht.\n\n\nLINKS\n\nCHANNELTEST1 + CHANNELTEST2\n\nZwei Livewire Tests von Christoph Rumpel.\n\nLIVEWIRE DEEP DIVE\n\nHow Livewire works (a deep dive) von Autor Caleb Porzio\n\nINERTIA.JS\n\nDas Pendant zu Livewire \u2013 eine server-side Webapplikation\n\nLARASTREAMERS GITHUB REPOSITORY\n\nDie Codebase von Larastreamers\n\nTALL STACK\n\nTailwind, Alpine.js, Laravel und Livewire\n\nTEA STACK\n\nTailwind, Eleventy und Alpine.js\n\n\nVERWANDTE REVISIONEN\n\nREVISION 490\n\nVerwandte Revision \xfcber Alpine.js and Petite Vue.\n\n\n\nREVISION 127\n\nHistorische Revision \xfcber das INIT Boilerplatz und das Laravel PHP-Framework mit\nChristoph Rumpel aus 2013.\n\nREVISION 283\n\nVue.js und Chatbots mit Christoph Rumpel aus 2016.