Mobile App WikiMobile App Wiki
WikiApp DiscoverDiscuss

Wiki

    mobileapp.wiki

    Wiki

    • ASO17
    • Monetizasyon14
    • Mağaza Politikaları20
    • Metrikler15
    • Geliştirme25
    • Pazarlama15
    • Hukuk9
    • UI/UX14
    • Test & QA10
    • Altyapı10

    mobileapp.wiki

    Ana Sayfa/Altyapı/WebSocket & Real-time
    Altyapı3 dk okuma

    WebSocket & Real-time

    Gerçek zamanlı iletişim teknolojileri rehberi. WebSocket, SSE ve MQTT karşılaştırması, Socket.io ve Supabase Realtime entegrasyon detayları.

    WebSocket & Real-time

    İçindekiler

    Real-time Nedir?TeknolojilerWebSocketServer-Sent Events (SSE)Long PollingMQTTKullanım AlanlarıPlatformlar ve KütüphanelerSocket.ioAblyPusherFirebase Realtime / FirestoreSupabase RealtimeMobil Dikkat NoktalarıBağlantı YönetimiBataryaOffline HandlingBest Practicesİlgili Konular

    Real-time Nedir?

    Sunucu ve istemci arasında anlık, çift yönlü iletişim. Mesajlaşma, canlı bildirimler, oyun, finans verileri gibi anlık güncelleme gerektiren senaryolar. 2026 itibarıyla real-time özellikler, kullanıcı beklentisinin standart parçası haline gelmiştir (chat, canlı bildirim, collaborative editing).

    Teknolojiler

    WebSocket

    • Tam çift yönlü (full-duplex) bağlantı
    • Tek TCP bağlantısı üzerinden sürekli iletişim
    • Düşük latency (HTTP overhead yok)
    • En yaygın real-time çözümü
    • RFC 6455 standardı

    Server-Sent Events (SSE)

    • Tek yönlü (sunucu → istemci)
    • HTTP üzerinden çalışır (proxy/firewall dostu)
    • Otomatik reconnect (tarayıcı tarafından)
    • Basit implementasyon
    • AI streaming yanıtlar için ideal (ChatGPT benzeri)
    • Sadece sunucudan veri akışı yeterliyse

    Long Polling

    • HTTP isteği sunucuda bekler, veri olduğunda yanıt döner
    • WebSocket desteklenmediğinde fallback
    • Daha yüksek overhead (her yanıtta yeni bağlantı)
    • Eski tarayıcılar/ortamlar için son çare

    MQTT

    • IoT ve mobil için hafif protokol
    • Publish/subscribe modeli
    • Düşük bant genişliği (header çok küçük)
    • Bağlantı kopmaları için "last will" mekanizması
    • QoS seviyeleri (0: at most once, 1: at least once, 2: exactly once)

    Kullanım Alanları

    SenaryoÖnerilen Teknoloji
    Chat/mesajlaşmaWebSocket
    Canlı bildirimlerWebSocket veya SSE
    Canlı konum takibiWebSocket
    Finans/kripto verileriWebSocket
    Feed güncellemeSSE veya polling
    IoT sensör verisiMQTT
    Multiplayer oyunWebSocket
    AI streaming yanıtSSE
    Collaborative editingWebSocket (CRDT ile)

    Platformlar ve Kütüphaneler

    Socket.io

    • WebSocket + fallback (long polling)
    • Room ve namespace desteği (grup mesajlaşma)
    • Otomatik reconnect
    • React Native uyumlu (socket.io-client)
    • Binary data desteği

    Ably

    • Managed real-time platform
    • Global dağıtım, %99.999 uptime SLA
    • Presence (kim online?)
    • Message history ve persistence

    Pusher

    • Managed WebSocket hizmeti
    • Channel bazlı mesajlaşma
    • Kolay entegrasyon, geniş SDK desteği
    • Pusher Beams ile push notification

    Firebase Realtime / Firestore

    • Gerçek zamanlı veri senkronizasyonu
    • Offline destek (otomatik senkronizasyon)
    • Otomatik reconnect
    • Security Rules ile güvenlik

    Supabase Realtime

    • PostgreSQL changes dinleme (CDC - Change Data Capture)
    • Presence ve broadcast
    • Channel bazlı dinleme
    • RLS (Row Level Security) ile güvenlik

    Mobil Dikkat Noktaları

    Bağlantı Yönetimi

    • Reconnect stratejisi (exponential backoff: 1s → 2s → 4s → max 30s)
    • Arka plana geçince bağlantı durumu (iOS arka planda WebSocket kapatabilir)
    • Ağ değişikliği (WiFi ↔ mobil veri - NetInfo ile izleme)
    • Bağlantı kalitesi tespiti (ping/pong heartbeat)

    Batarya

    • Sürekli bağlantı batarya tüketir
    • Heartbeat aralığını optimize et (30-60 saniye)
    • Gerekmedikçe bağlantıyı kapat
    • Background mode sınırlamaları (iOS özellikle katı - BackgroundTasks framework)

    Offline Handling

    • Bağlantı koptuğunda mesajları kuyruğa al
    • Reconnect olduğunda senkronize et (last event ID ile)
    • Kullanıcıya bağlantı durumunu göster (yeşil/kırmızı gösterge)
    • Conflict resolution stratejisi belirle (last write wins, merge, CRDT)

    Best Practices

    • WebSocket'i sadece gerçek real-time gerektiğinde kullan
    • Polling yeterliyse polling kullan (daha basit, daha az batarya)
    • Reconnect ve error handling kritik (kullanıcıya bilgi ver)
    • Bağlantı durumu UI'da göster
    • Arka planda bağlantıyı yönet (kapat veya minimize et)
    • Message queue ile mesaj kaybını önle
    • Rate limiting uygula (spam koruması)
    • Compression kullan (permessage-deflate extension)

    Real-time "cool" ama her uygulama için gerekli değil. 5 saniyelik gecikme kabul edilebilirse polling yeterli. Gerçekten anlık iletişim gerekiyorsa WebSocket tercih edin.

    İlgili Konular

    • Firebase
    • A/B Testing (Uygulama Ici)
    • Supabase

    Bu içeriği nasıl buldunuz?

    Paylaş

    ← Önceki

    Firebase

    Sonraki →

    Supabase

    İlgili İçerikler

    Firebase

    Google Firebase mobil uygulama platformu rehberi. Authentication, Firestore, Cloud Functions, Crashlytics, Analytics, Remote Config ve FCM detayları.

    Supabase

    Açık kaynaklı Firebase alternatifi Supabase rehberi. PostgreSQL, Row Level Security, Edge Functions, realtime subscriptions ve mobil entegrasyon.

    Analytics Platformları

    Mobil uygulama analitik platformları karşılaştırma rehberi. Firebase Analytics, Mixpanel, Amplitude ve PostHog ile event ve retention ölçümü.

    Remote Config & Feature Flags

    Remote Config ve Feature Flags yönetim rehberi. Firebase Remote Config, LaunchDarkly ve Statsig ile gradual rollout ve kill switch stratejileri.

    CDN & Asset Delivery

    CDN ve asset delivery optimizasyon rehberi. Cloudflare, AWS CloudFront ve Bunny CDN karşılaştırması, image optimization ve cache stratejileri detayları.

    Android Kapalı Test

    Android Kapalı Test hizmeti için androidtesti.com platformunu ziyaret edin.

    androidtesti.com