KAAL Realtime adında bir proje üzerinde çalışıyordum ve Laravel topluluğundan geri bildirim almak istiyorum.
Proje, basit bir soru ile başladı:
«Bir Blade sayfasının küçük bir bölümünü güncellemek için neden olaylara, kanallara, Echo’ya, ön yüz dinleyicilerine ve çok fazla kablolaşmaya ihtiyaç duyuyoruz?»
Larevel’e özgü bir şey yaratmak istedim.
Bu nedenle, bir Blade bloğunu bir direktif ile sarmaladığınız bir paket geliştirdim:
@realtime([Product::class]){{ $product->name }}
@foreach($products as $product)
@endforeach
@endrealtime
Model üzerinde:
use HasRealtime;class Product extends Model
{
use HasRealtime;
}Bir Product güncellendiğinde, her bağlı tarayıcı otomatik olarak yalnızca o Blade parçasını yeniler.
Sayfa yeniden yüklenmiyor.
Polling yok.
Laravel Echo yok.
Pusher yok.
Reverb yok.
Livewire yok.
Özellikler:
- Otomatik model odaklı güncellemeler
- Doğal WebSocket geçidi
- İmzalı parça yenilemeleri
- Yenilemeler sırasında kimlik doğrulamasının korunması
- Paginasyon desteği
- Eager loading desteği
- Birden fazla model bağımlılığı
- Giriş odakını ve yazılmış değerleri koruyan “@preserve” direktifi
- Alpine bileşenleri ve zengin editörler için “@ignore” direktifi
- Laravel doğrulama yönetimiyle AJAX formları
Örnek:
@preserve('chat-input')@endpreserveMevcut mimari şöyle görünüyor:
Model Güncellendi
↓
HasRealtime Trait
↓
KAAL Gateway
↓
WebSocket Broadcast
↓
Tarayıcı Parçayı Yeniler
Paket şu anda Laravel 11+’i destekliyor.
Laravel geliştiricilerinden dürüst geri bildirimleri ilgiyle bekliyorum:
- Bu, gerçekten kullanır mıydınız?
- Yayına almadan önce hangi endişeleriniz olurdu?
- Bu mevcut Livewire/Reverb kurulumunuzla nasıl karşılaştırılıyor?
- Üretim kullanımı için hangi özelliklerin eksik olduğunu düşünüyorsunuz?
Dokümantasyon:
https://docs.kaalrealtime.com
Kaynak: Orijinal Makale


