Yazarken önizleme iframe'ini güncelleyen Server-Sent Events kullanarak canlı önizleme sistemini nasıl oluşturduk — sayfa yenilemesi gerekmez.
Kaydet-ve-Önizle Sorunu
Geleneksel CMS is akisi: icerigi duzenle, kaydet, yeni sekme ac, yenile, sonucu kontrol et, geri don, daha fazla duzenle, tekrar kaydet, tekrar yenile. Yazarken önizlemeyi gerçek zamanli gosteren bir canli önizleme sistemi oluşturduk. Kayit gerekli degil, sayfa yenilemesi yok.
Mimari: Server-Sent Events
WebSocket'u dusunduk ancak uc nedenden dolayi Server-Sent Events'i (SSE) sectik: SSE standart HTTP üzerinde çalışır, tek yonlu (sunucudan istemciye) ve bağlantı duserse otomatik yeniden baglanir.
Istemci Tarafi: Geciktirilmis Güncellemeler
Editor tarafinda her tus vurusunda önizlemeyi güncellemelerle bunaltmamak için içerik degisikliklerini gецiktiriyoruz. Son tus vurusundan 300ms sonra bekliyoruz.
Önizleme Iframe
Önizleme SSE güncellemelerini alan ve tam sayfayi degil yalnizca degisen icerigi yeniden isleyen bir iframe'de yasар. Tam iframe'i yeniden yüklemek yerine yalnizca içerik elemanlarini güncelleyerek titresimden kacinir ve kayma konumunu koruruz.
Duyarli Önizleme
Önizleme paneli iframe'i mobil (375px), tablet (768px) veya masaustu (%100) genisligine boyutlandiran cihaz gecis dugmeleri icerir.
Otomatik Kaydetme Entegrasyonu
Önizleme sistemi otomatik kaydetme mekanizmasina biner. Her önizleme güncellemesi ayni zamanda taslak revizyon olarak kaydedilir. Yazi başına son 10 revizyonu tutariz.