News

Laravel Livewire v1.0 is Here

Published
Laravel Livewire v1.0 is Here image

Laravel Livewire by Caleb Porzio has reached v1.0 today. Livewire is “a full-stack framework for Laravel that makes building dynamic interfaces simple, without leaving the comfort of Laravel.”

This release adds the following:

  • Turbolinks integration
  • Alpine JS integration
  • Support for wire:model listening for “input” events dispatched by AlpineJS: $dispatch(‘input’, ‘foo’)
  • Support for wire:custom-event="foo" receiving params from an AlpineJS dispatch: $dispatch('custom-event', 'bar'). (In public function foo($param), $param will be 'bar')
  • Livewire custom-tag syntax (similar to Laravel 7 Blade component tag syntax) (only available in Laravel 7):

If you’re unfamiliar with Livewire, the homepage has an overview that gives you the gist of what it does:

  • Livewire renders the initial component output with the page (like a Blade include), this way it’s SEO friendly.
  • When an interaction occurs, Livewire makes an AJAX request to the server with the updated data.
  • The server re-renders the component and responds with the new HTML.
  • Livewire then intelligently mutates DOM according to the things that changed.

Be sure to check out the quickstart documentation, which will help you build your first component. Here’s the gist of what a Livewire component looks like from the Quickstart guide:

use Livewire\Component;
 
class Counter extends Component
{
public $count = 0;
 
public function increment()
{
$this->count++;
}
 
public function decrement()
{
$this->count--;
}
 
public function render()
{
return view('livewire.counter');
}
}

With the accompanying Blade template:

<div style="text-align: center">
<button wire:click="increment">+</button>
<h1>{{ $count }}</h1>
<button wire:click="decrement">-</button>
</div>

Today Caleb also gave a talk at Laracon Online along with the project used during his talk. If you want to see Caleb’s Livewire talk, you can still purchase Laracon Online 2020 tickets for $25, and the videos will be available online soon.

You can get upgrade instructions and details about the release from Release v1.0.0 on GitHub.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
The Laracon Archive image

The Laracon Archive

Read article
Group Adjacent Collection Items in Laravel with chunkBy() image

Group Adjacent Collection Items in Laravel with chunkBy()

Read article
Laravel queue:work Now Prints Why the Worker Stopped image

Laravel queue:work Now Prints Why the Worker Stopped

Read article
Sidecar Brings Statamic's Control Panel to Your Existing Markdown Sites image

Sidecar Brings Statamic's Control Panel to Your Existing Markdown Sites

Read article
Collections chunkBy() and Storage Path Hardening in Laravel 13.30 image

Collections chunkBy() and Storage Path Hardening in Laravel 13.30

Read article
Forte: Parse and Rewrite Laravel Blade Templates image

Forte: Parse and Rewrite Laravel Blade Templates

Read article