Offline Çalışma Senaryosu: İnternet Kesilince Ne Yapılır?
Offline-First Mimarı Nedir?

Offline-first mimarı, bağlantı sorunlarını tasarım asamasında çözer
Geleneksel web ve mobil uygulamalar “online-first” mantığıyla çalışır: kullanıcı bir işlem yapar, sunucuya istek gider, yanıt döner, sonuç gösterilir. Bu model, sürekli ve güvenilir internet bağlantısı varsayar.
Offline-first mimarı işe bu varsayımı tersine çevirir: uygulama, internet bağlantısı olmadan da tüm temel işlevleri yerine getirebilecek şekilde tasarlanır. Bağlantı varken veriler arka planda senkronize edilir.
Offline-First’un Temel Prensipleri
- Local-first veri: Veriler önce yerel cihazda (telefon, tablet, yerel sunucu) saklanır
- Asenkron senkronizasyon: Bağlantı varken veriler arka planda merkeze iletilir
- Çakışma yönetimi: Aynı veri farklı noktalarda değişirse, önceden tanimli kurallarla çözülür
- Progressive enhancement: Online iken ek özellikler devreye girer, offline iken core işlevler çalışır
Neden Offline-First?
Offline çalışma senaryosu, sadece internet kesintileri için değil, aşağıdaki durumlarda da kritik öneme sahiptir:
- Düşük bant genişlikli bölgelerde çalışan saha ekipleri
- Yeraltinda veya metal yapılar içinde RF sinyal alamayan depolar
- Uzak lokasyonlarda (şantiye, maden, tarım alanı) operasyon yapan ekipler
- Yurt dışında roaming maliyetini azaltmak isteyen şeyahat eden personel
- Kesintisiz çalışmanın zorunlu olduğu üretim hatları
Sektör bazlı uygulamalar incelendiginde, özellikle üretim, lojistik ve perakende sektörlerinde offline yeteneklerin standart beklenti halıne geldiği görülmektedir.
Local Caching Stratejileri

Doğru cache stratejisi, offline deneyimin temelini oluşturur
Offline çalışma senaryosunun kalbi, yerel veri saklama mekanizmesidir. Kullanıcının ihtiyaç duyduğu veriler önceden indirilmeli ve işlem sonuçları güvenli şekilde saklanmalıdır.
Browser Tabanlı Cache Secinekleri
localStorage ve sessionStorage
Basit key-value depolama için uygundur. Limitasyonlar: 5-10 MB kapasıte, sadece string veri, senkron API. Kullanım alanları: kullanıcı tercihleri, son gorulen ogeler, form draft’ları.
IndexedDB
Büyük hacimli, yapılandirilmis veriler için tasarlanmış NoSQL veritabanı. Avantajlar: yüzlerce MB kapasıte, indeksleme ve sorgulama, asenkron API. Kullanım alanları: ürün katalogları, müşteri listeleri, offline işlem kuyruğu.
Cache API (Service Worker)
HTTP response’lerini onbelleklemek için kullanılır. Özellikle statik dosyalar (HTML, CSS, JS, görseller) ve API yanitleri için idealdir. PWA’ların temel bileşenidir.
Mobil Uygulama Cache Seçenekleri
SQLite
Hem iOS hem Android’de native olarak desteklenen iliskisel veritabanı. Avantajlar: SQL sorgu desteigi, transaction garantisi, büyük veri setleri. Kurumsal mobil uygulamaların çoğunluğu SQLite kullanır.
Realm Database
Mobil için optimize edilmiş nesne veritabanı. Avantajlar: hızlı okuma/yazma, reaktif sorgular, otomatik senkronizasyon desteği. Özellikle real-time uygulamalarda tercih edilir.
Core Data (iOS) / Room (Android)
Platform-native ORM katmanları. Avantajlar: platform entegrasyonu, bellek yönetimi, migration desteigi. Dezavantaj: cross-platform kod paylaşımı zorlasması.
Cache Stratejileri
- Cache-first: Önce cache’e bak, yoksa network’e ğıt. Offline öncelikli uygulamalar için ideal.
- Network-first: Önce network’e ğıt, başarısiz olursa cache’e dön. Güncel veri önemli olduğunda kullanılır.
- Stale-while-revalidate: Cache’den hemen döndür, arka planda güncelle. Hız ve güncellik dengesini sağlar.
- Cache-only: Sadece cache’den döndür. Statik içerikler için uygundur.
- Network-only: Sadece network’ten al. Gerçek zamanlı veriler için kullanılır.
Senkronizasyon Mekanizmaları

Güvenilir senkronizasyon, veri bütünlüğünü korur
Offline çalışma senaryosunun en kritik bileşeni, yerel değişikliklerin merkeze nasıl aktarilacagidir. Senkronizasyon, veri bütünlüğünü korurken kullanıcı deneyimini bozmamalidir.
Senkronizasyon Modelleri
Full Sync (Tam Senkronizasyon)
Tüm veri seti her senkronizasyonda karşılaştırılır. Avantaj: basitlik. Dezavantaj: büyük veri setlerinde yavaş ve bant genişliği tüketir. Kullanım: küçük veri setleri, nadiren değişen master data.
Delta Sync (Fark Senkronizasyonu)
Sadece son senkronizasyondan bu yana değişen kayıtlar aktarılır. Timestamp veya version number ile takip edilir. Kurumsal uygulamalarda standart yaklaşim.
Event Sourcing
Veri değişiklikleri yerine olaylar (events) senkronize edilir. Merkez sunucu olayları uygulayarak mevcut durumu oluşturur. Avantaj: çakışma çözümu kolaylasi, audit trail. Dezavantaj: karmaşık implementasyon.
Senkronizasyon Tetikleyicileri
- Bağlantı geri geldiğinde: Network durumu dinlenir, online olunca otomatik başlar
- Periyodik: Belirli aralıklarla (örnegin her 5 dakikada) kontrol edilir
- Kullanıcı tetikli: Manüel “senkronize et” butonu ile başlatılır
- İ̇şlem bazlı: Kritik işlemlerden sonra hemen senkronizasyon denenir
- Background sync: Service Worker ile arka planda, uygulama kapalı iken bile çalışır
Kuyruk Yönetimi
Offline yapılan işlemler bir kuyrukta bekletilir. Kuyruk yönetiminde dikkat edilmesi gerekenler:
- Sıralama: İşlemlerin doğru sıraya konması (önce müşteri oluştur, sonra sipariş gir)
- Retry mantigi: Başarısiz işlemlerin tekrar denenmesi, exponential backoff
- Idempotency: Aynı işlemin birden fazla gonderilmesinin zararsiz olması
- Timeout: Çok eski işlemlerin iptal edilmesi veya uyarı verilmesi
Conflict Resolution Yöntemleri

Veri çakışmaları kaçınılmazdır; önemli olan doğru çözüm stratejisi
Birden fazla kullanıcı veya cihaz aynı veriyi offline düzenleyebilir. Bağlantı geldiğinde bu değişiklikler cakisir. Conflict resolution, bu çakışmaların nasıl çözüleceğini belirler.
Otomatik Çözüm Stratejileri
Last-Write-Wins (LWW)
En son yapılan degisiklik geçerli olur. Implementasyonu kolay ama veri kaybı riskı taşır. Kullanım: kritik olmayan veriler, log kayıtları, tercih ayarları.
First-Write-Wins (FWW)
Ilk yapılan degisiklik geçerli olur, sonrakiler reddedilir. Kullanım: önce gelen kazanır senaryoları (temsili: stok rezervasyonu).
Merge (Birleştirme)
Her iki degisiklik de korunur ve birleştirilir. Field-level merge ile farklı alanlardaki değişiklikler otomatik birleşir. Kullanım: doküman işbirliği, liste ekleme işlemleri.
Version Vectors / CRDT
Conflict-free Replicated Data Types, matematiksel olarak cakismasiz birleştirme garantisi verir. Avantaj: otomatik, tutarlı çözüm. Dezavantaj: her veri tipi için uygun değil, karmaşık implementasyon.
Manüel Çözüm Gerektiren Durumlar
Bazı çakışmalar otomatik çözülemez ve kullanıcı müdahalesi gerektirir:
- Aynı alana farklı değerler yazilmesi (temsili: farklı fiyat girişi)
- Is kurallarının ihlal edildiği durumlar (temsili: stoktan fazla satış)
- Kritik finansal veya yasal sonuçları olan değişiklikler
Conflict Prevention
En iyi conflict çözümu, conflict olmamasını sağlamaktir:
- Pessimistic locking: Kayıt düzenlenirken başkası düzenleyemez (online gerektirir)
- Optimistic locking: Kayıt versiyon numarası ile kontrol edilir
- Partition by user: Her kullanıcı kendi verisini düzenlenir (çakışma olanağı yok)
- Append-only: Veri güncellenmez, yeni kayıt eklenir (log yaklaşimi)
Mobil Uygulamalarda Offline Mod

Mobil uygulamalar, offline çalışmanın en yaygın kullanım alanıdır
Saha ekipleri, teslimat personeli, satış temsilcileri ve teknik servis ekipleri mobil cihazlarla çalışır. Bu kullanıcılar için offline çalışma senaryosu is sürekliliği demektir.
Native vs Hybrid vs PWA
Native Mobil Uygulama
Avantajlar: tam donanım erişimi, en iyi performans, gelişmiş offline yetenekler. Dezavantajlar: ayrı iOS/Android geliştirme, mağaza onay süreci, güncelleme dağıtımı.
Hybrid Uygulama (React Native, Flutter)
Avantajlar: tek kod tabanı, native-yakın performans, offline plugin ekosistemi. Dezavantajlar: native kadar esnek değil, bazı platform özelliklerine sınırlı erişim.
Progressive Web App (PWA)
Avantajlar: kurulum gerektirmez, otomatik güncelleme, cross-platform. Dezavantajlar: sınırlı donanım erişimi, iOS’ta kısıtlı Service Worker desteigi, büyük veri setlerinde performans.
Offline Mobil Uygulama Özellikleri
- Background sync: Uygulama arka planda iken senkronizasyon
- Push notification queue: Offline iken alınan bildirimlerin kuyruklanması
- Selective sync: Kullanıcının ihtiyaç duyduğu verilerin secilerek indirilmesi
- Bandwidth-aware sync: Bağlantı türüne göre (WiFi/mobil veri) senkronizasyon davranışı
- Offline indicator: Kullanıcıya bağlantı durumunun net gösterilmesi
- Pending operations display: Bekleyen işlemlerin listesi ve durumu
Mobil Offline Best Practices
- Kritik verileri önceden indirin (pre-cache)
- Büyük dosyaları (resim, PDF) lazy-load yapın
- Offline işlem limitlerini belirleyin ve kullanıcıya bildirin
- Pil tüketimini optimize edin (sync frequency, background activity)
- Depolama kullanımını izleyin ve eski verileri temizleyin
Edge Computing ve Yerel İ̇şlem

Edge computing, işlemi verinin olduğu yere taşır
Edge computing, veri işlemlerini merkezi bulut yerine kullanıcıya yakın noktalarda gerçeklestirir. Offline çalışma senaryosunda edge node’lar, internet bağlantısı olmadan da yerel operasyonları sürdürebilir.
Edge Node Türleri
On-Premise Mini Server
Fabrika, depo veya mağaza içinde konumlanan küçük sunucu. Yerel ağda çalışır, internet bağlantısı kesildiğinde tüm yerel işlemleri sürdürebilir. Bağlantı geldiğinde merkeze senkronize olur.
IoT Gateway
Sensör ve makinelerden veri toplayan, on-işleme yapan cihaz. Offline durumda verileri yerel depolar, bağlantı gelince yigin halinde gönderir. Üretim ve lojistik ortamlarında yaygın.
Thick Client
Kullanıcının çalışma istasyonunda çalışan, kapsamlı is mantigi içeren uygulama. Browser-based thin client’in aksine, offline tam islevsellik sunar. ERP masaüstü istemcileri bu kategoridedir.
Edge Computing Avantajları
- Düşük latency: Verinin merkeze gidip gelmesi gerekmez
- Bant genişliği optimizasyonu: Sadece özet/aggregated veri merkeze gider
- Offline resilience: Internet bağlantısı olmadan da çalışma
- Veri mahremiyeti: Hassas veriler yerel kalabilir
- Regulatory compliance: Bazı verilerin ülke/bölge dışına cikamaması gerekliliği
Edge-Cloud Hibrit Mimarı
Modern offline çalışma senaryosu, edge ve cloud’u birleştirir:
- Edge katmanı: Gerçek zamanlı işlemler, yerel cache, offline yetenek
- Cloud katmanı: Merkezi veri deposu, analitik, raporlama, yedekleme
- Sync katmanı: Edge-cloud arası güvenilir veri aktarımı
Sahadan Örnek: Dağıtım Firmesi Offline Dönüşümu

Durum
120 araçlık dağıtım filosu olan FMCG distribütör. Günlük ortalama 8.000 teslimat noktasi. Mobil el terminallerinde sipariş/teslimat uygulaması. Problem: Kirsal bölgelerde internet kesintilerinde siparişler kayboluyor, gerçek zamanlı stok takibi yapılamıyor.
Uygulanan Adımlar
- Offline-first yeniden tasarım: Mobil uygulama SQLite tabanlı yerel veritabanı ile yeniden yazılar
- Günlük rota pre-cache: Her sabah sürücü, o günün müşteri listesi, fiyat ve stok bilgilerini indirir
- Offline sipariş girişi: Internet olmadan sipariş alinir, yerel saklanır
- Akıllı sync: WiFi bulunca (depo, mağaza) otomatik senkronizasyon
- Conflict policy: Stok cakismalarında “ilk gelen kazanır”, fiyat cakismalarında merkez fiyatı geçerli
- Edge server: Her bölge deposunda yerel sunucu, bölge içi offline çalışmay destekler
Sonuç (Temsili)
- Kaybolan sipariş oranı: %3,2’den %0,1’e düştü
- Sürücü üretkenlik artışı: %18 (bekleme süresi azaldı)
- IT destek çağrıları: %45 azaldı (bağlantı sorunları için)
- Gerçek zamanlı stok görünürlüğu: %94’e yükseldi
Offline Senaryoda En Sik Yapılan 7 Hata
1. Offline Durumu Test Etmemek
Geliştirme ve test ortamlarında sürekli internet bağlantısı var. Gerçek offline durumu simule edilmeden üretime alinanan uygulamalar sahada sorun yaratır. Chrome DevTools “Offline” modu yeterli değil, gerçek cihazda test şart.
2. Sınırsız Offline Süre Varsaymak
Sistem 1 saat offline çalışabilir ama 1 hafta offline kalırsa ne olur? Biriken veri hacmi, stale data riskı ve senkronizasyon karmaşıklığı hesaplanmalı. Makul offline süre limitleri belirlenmeli.
3. Conflict Resolution Planlamak
“Çakışma olursa bakarz” yaklaşimi. Conflict senaryoları tasarım asamasında belirlenmeli, her veri tipi için çözüm stratejisi dokümante edilmeli. Aksi halde kullanıcılar tutarsız verilerle karşılaşir.
4. Kullanıcıya Bilgi Vermemek
Kullanıcı offline çalıştiginl bilmiyor, işlemlerinin beklemede olduğunu gormuyor. Net offline indicator ve pending operations gösterimi şart. Kullanıcı belirsizliği güven kaybına yol açar.
5. Tüm Verileri Indirmeye Çalışmak
100.000 ürün, 50.000 müşteri… hepsini mobil cihaza indirmek gereksiz ve imkansız. Selective sync ile kullanıcının ihtiyaç duyduğu veri seti belirlenmeli. Aksi halde depolama ve performans sorunları oluşur.
6. Senkronizasyon Hata Yönetimi Eksikliği
Sync başarısiz olursa ne olacak? Retry mantigi, hata loglama, kullanıcı bildirimi ve manüel müdahale seçenekleri planlanmalı. “Sessizce başarısiz olan” senkronizasyon veri kaybına yol açar.
7. Güvenlik Ihmali
Offline saklanan veriler şifreli mi? Cihaz kaybolursa veya calinirsa ne olur? Yerel veritabanı şifreleme, secure storage ve remote wipe yetenekleri offline uygulamalarda zorunlu.
Doğru planlama, offline senaryolarda veri kaybını önler
Offline Çalışma Başarı Metrikleri
Aşağıdaki metrikler, offline çalışma senaryosunun başarısini ölçmek için kullanılabilir (temsili değerler):
| Metrik | Hedef | Kritik Eşik | Ölçüm Yöntemi |
|---|---|---|---|
| Offline işlem başarı oranı | %99+ | < %95 | Offline queue completion rate |
| Senkronizasyon başarı oranı | %99,5+ | < %98 | Sync success/failure logs |
| Conflict oranı | < %1 | > %5 | Conflict resolution logs |
| Ortalama sync süresi | < 30 sn | > 2 dk | Sync duration metrics |
| Veri tutarlılık oranı | %100 | < %99 | Data integrity checks |
| Maksimum offline süre | 8+ saat | < 2 saat | Operational requirements |
| Kullanıcı memnuniyeti (offline) | %85+ | < %70 | Kullanıcı anketi |
Offline Hazırlık Kontrol Listesi (16+ Madde)
Aşağıdaki kontrol listesi, offline çalışma senaryosu planlaması ve implementasyonu için kapsamlı bir rehberdir:
A. Mimarı Tasarım
- Offline-first mimarı kararı verildi ve dokümante edildi
- Offline çalışacak işlevler ve çalışmaycak işlevler belirlendi
- Yerel veri depolama teknolojisi seçildi (IndexedDB, SQLite, vb.)
- Senkronizasyon modelı tasarlandı (delta, event sourcing, vb.)
- Edge computing gerekliliği değerlendirildi
B. Veri Yönetimi
- Offline saklanacak veri setleri tanimlandi
- Selective sync kriterleri belirlendi (kullanıcı, bölge, tarih)
- Veri boyutu ve depolama limitleri hesaplandı
- Eski/stale veri temizleme politikası oluşturuldu
C. Conflict Resolution
- Her veri tipi için conflict stratejisi belirlendi
- Manüel çözüm gerektiren durumlar tanimlandi
- Conflict loglama ve raporlama mekanizmesi kuruldu
D. Kullanıcı Deneyimi
- Offline indicator tasarlandı ve implement edildi
- Pending operations görüntusu oluşturuldu
- Offline/online geçiş bildirimleri tanimlandi
- Kullanıcı dokumantasyonu ve eğitimi hazır
E. Test ve Güvenlik
- Gerçek cihazda offline test senaryoları çalıştirildi
- Uzun süreli offline test (hedef süre) tamamlandı
- Yerel veri şifreleme aktif
- Cihaz kaybı/calinma prosedürü belirlendi
Sikca Sorulan Sorular (SSS)
Projeniz İçin Destek Alın
Dijital dönüşüm yolculuğunuzda size rehberlik edebilirim. Ücretsiz ön görüşme için randevu alın.