Warning This project is currently experimental and should only be used in production at your own risk.
Livewire Beacon enables websocket communication for Livewire dramatically improving user experience and enabling more features.
Slow or spotty connections have a degraded user-experience while Livewire waits for a full server round-trip for every UI interaction.
Even when throttled, the persistent connection over websockets makes for much faster response times, creating a better user experience.
This package provides a thin layer that sits on top of Laravel Livewire and Laravel Reverb as the core requirements.
- Laravel Livewire installed (docs)
- Laravel Reverb installed (docs)
- Laravel Echo installed and served on frontend (docs)
You can install the package via composer:
composer require executable/laravel-livewire-beacon
Next, edit your app's layout to include the Beacon javascript assets. This is best done by adding the Blade directive @livewireBeaconScripts
just before the closing body
tag.
<!-- resources/views/layouts/app.blade.php -->
@livewireBeaconScripts
</body>
</html>
Livewire Beacon is designed to work seamlessly without further configuration.
If you'd like to modify some internal behaviour of this package, you can publish the config file with:
php artisan vendor:publish --tag="laravel-livewire-beacon-config"
That's it! Continue using Livewire as you would normally, and enjoy significant performance improvements.
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.