Şu anda görüntülerin listesini gösteren bir Ruby on Rails projesi üzerinde çalışıyorum .
Bu proje için sahip olması gereken, web sayfasını yenilemeye gerek kalmadan gerçek zamanlı olarak yeni gönderileri göstermesidir. Bir süre aradıktan sonra, PubNub gibi bazı JavaScript çözümlerine ve servislerine rastladım; Ancak, sağlanan çözümlerin hiçbiri hiçbir anlam ifade etmedi.
JavaScript çözümünde ( yoklama ) aşağıdakiler gerçekleşir:
- Kullanıcı 1, fotoğrafların listesini görüntüler.
- Arka planda JavaScript kodu her saniye yeni bir gönderi olup olmadığını görmek için bir son noktaya oy veriyor.
- Kullanıcı 2, yeni bir fotoğraf ekler.
- Yeni çevrim tetiklenmeden ve yeni verileri getirmeden önce 50 ms'lik bir gecikme olur.
- Yeni içerik DOM'a yüklenir .
Gerçek bir dünya örneğine tercüme edildiğinde bu garip görünüyor:
- Kullanıcı 1, masasında bir yığın fotoğraf tutar.
- Her saniye fotoğrafçıya yürür ve yenisi olup olmadığını sorar.
- Fotoğrafçı yeni bir fotoğraf çeker.
- Bu saniye içeri girdiğinde fotoğrafı çekip yığına koyabilir.
Bence çözüm şu şekilde olmalı:
- Kullanıcı 1, masasında bir yığın fotoğraf tutar.
- Fotoğrafçı yeni bir fotoğraf çeker.
- Fotoğrafçı yığına yürür ve geri kalanıyla birlikte koyar.
PubNub çözümü temelde aynıdır, ancak bu kez verileri paylaşmak için taraflar arasında yürüyen bir stajyer vardır.
Söylemeye gerek yok, her iki çözüm de yüklenecek veri olmadığında bile tetiklendiklerinden çok enerji tüketirler.
Bilgim devam ettiği sürece, bu tür bir uygulama yönteminin neredeyse her gerçek zamanlı uygulamada kullanılmasının neden hiçbir mantığı yoktur.