GlosarioFrontend

¿Qué es Livewire?

Livewire es un framework full-stack para Laravel que permite construir interfaces reactivas y dinamicas usando PHP puro, sin necesidad de escribir JavaScript, comunicandose con el servidor mediante AJAX.

Livewire

Livewire permite crear componentes interactivos y reactivos en Laravel usando exclusivamente PHP y Blade, sin necesidad de escribir JavaScript. Es una alternativa a los frameworks SPA como Vue.js o React.

Crear un componente

php artisan make:livewire SearchPosts
class SearchPosts extends Component
{
    public string $search = '';
    public string $category = '';

    public function render(): View
    {
        $posts = Post::query()
            ->when($this->search, fn ($q) => $q->where('title', 'like', "%{$this->search}%"))
            ->when($this->category, fn ($q) => $q->where('category', $this->category))
            ->latest()
            ->paginate(10);

        return view('livewire.search-posts', compact('posts'));
    }
}

Vista del componente

<div>
    <input type="text" wire:model.live.debounce.300ms="search" placeholder="Buscar...">

    <select wire:model.live="category">
        <option value="">Todas</option>
        <option value="laravel">Laravel</option>
        <option value="php">PHP</option>
    </select>

    @foreach($posts as $post)
        <article wire:key="{{ $post->id }}">
            <h3>{{ $post->title }}</h3>
        </article>
    @endforeach

    {{ $posts->links() }}
</div>

Livewire 3 incluye soporte para navegacion SPA (wire:navigate), lazy loading, teleport y una integracion nativa con Alpine.js. Es ideal para aplicaciones que quieren interactividad sin la complejidad de un frontend separado.