aplikasi demo realtime chat menggunakan metode livewire polling.
- laravel v10
- php 8.1
- laravel breeze using blade (for UI and auth scaffolding)
- livewire
- bootstrap 5
- cp .env.example .env
php artisan migrate::fresh --seed
php artisan serve
buka http://localhost:8000/login ambil salah satu email pada database, password: password
- ada tidak adanya perubahan data akan selalu ada request ke backend untuk cek message terbaru, setiap interval tertentu, sehingga akan sangat membebani server ketika jumlah user yang pakai secara bersamaan banyak.
- ada yg menyarankan menggunakan light polling tp baru sebatas concept, blm ada proof of concept
- metode polling ini mudah untuk di implementasi dan tidak perlu setup/konfigurasi websocket server
- To avoid the Polling/Refresh issue, you could have an isolated hidden div that is polling for only a hash of the backend data, and if the hash changes, execute the message refresh through emit, etc. This way, when idle, the hash is the only data exchanged rather than refreshing unchanged data
- request ke backend hanya akan terjadi jika memang ada perubahan data
- kekurangannya implementasi akan sedikit lebih kompleks dibanding pendekatan polling
- perlu ada nya websocket server