Basic Todo App açık ve koyu mod görev panolarının yan yana mobil görünümü

Basic Todo App: Sıfır Gecikmeli ve Çevrimdışı Öncelikli Mobil Mimari

Mobil ve Oyun Vitrinleri React Native, Offline-First Mimari

Görev yöneticileri neden 300ms başparmak testinde sınıfta kalır? Anında açılan, sıfır telemetrili ve atomik yerel depolamalı React Native mimarimiz.

  • Erol Tuna Yazar: Erol Tuna
  • 1 dk okuma
  • Güncelleme
Önemli çıkarımlar
  • Üyelik duvarlarını, ağ soketlerini ve asenkron depolama beklemelerini kaldırarak her dokunuşu 2 milisaniyenin altında kaydeden %100 yerel atomik depolama katmanı kurduk.
  • Üçüncü parti analitik SDK'larını çıkarıp Hermes bayt kodunu önceden derleyerek Android üzerinde 250ms altı soğuk açılış (cold start) elde ettik.
  • Mobil klavye açılışındaki kart zıplamalarını deterministik yerel yerleşim geçişleri ve izole grup durumlarıyla çözdük.
  • Bileşen ağacını yeniden kurmadan anında geçiş yapan çift yüzeyli (Gündüz Kağıdı ve OLED Karbon) tasarım token sistemi oluşturduk.

Modern mobil yazılımlarda tuhaf bir çelişki var: telefonlar on yıl öncesine göre on kat daha hızlı, ancak aklınıza gelen bir notu kaydetmek üç kat daha uzun sürüyor. Bugün sıradan bir görev yöneticisini açtığınızda klavye henüz ekrana bile gelmeden açılış ekranı, zorunlu OAuth giriş duvarı, bulut senkronizasyon çarkı ve abonelik penceresiyle karşılaşıyorsunuz.

Basic Todo App (Google Play’de yayında) uygulamasını geliştirirken hedefimiz; hız, gizlilik ve sıfır sürtünmeli ergonomiyi pazarlama sloganı değil, katı mimari kısıtlar olarak ele aldığınızda ne ortaya çıktığını göstermekti.

Basic Todo App Gündüz Kağıdı modu ve OLED Karbon koyu mod karşılaştırması


1. 250ms Soğuk Açılış Bütçesi: “Basit” Uygulamalar Neden Yavaş Açılır?

Kullanıcılar bir görev veya kontrol listesi uygulamasını mikro anlarda açar: market reyonunda, toplantıdan çıkarken veya uyumadan hemen önce. Soğuk açılış 2 saniye sürerse kullanıcı girdi alanına odaklanana kadar düşüncesinin yarısını unutur.

Sıfır kişisel veri toplayan bu mimaride tüm ağ ve telemetri bağımlılıklarını kaldırarak açılış hattını Hermes AOT bayt kodu ve senkron yerel durum yüklemesi üzerine kurduk:

// Atomik senkron durum yükleme: sıfır beyaz ekran parlaması, sıfır asenkron bekleme
export function hydrateTaskGroupsSync(): TaskGroup[] {
  const raw = LocalKVStore.getString(STORAGE_KEY_V1);
  if (!raw) return DEFAULT_STARTER_GROUPS;
  try {
    const parsed = JSON.parse(raw);
    return Array.isArray(parsed) ? parsed : DEFAULT_STARTER_GROUPS;
  } catch {
    const backup = LocalKVStore.getString(STORAGE_BACKUP_KEY_V1);
    return backup ? JSON.parse(backup) : DEFAULT_STARTER_GROUPS;
  }
}

Görev ağacı ilk React çiziminden önce 1.8 milisaniyenin altında senkron olarak yüklendiği için Android tarafından ekrana basılan ilk karede kullanıcının tüm görev grupları anında hazırdır.

Sıkça sorulanlar

Sıkça sorulan sorular

Pek çok React Native üretkenlik uygulaması görev işaretlerken veya klavye açılırken neden gecikmeli hissettirir?

Çünkü onay kutusu durumunu asenkron bir depolama köprüsüne veya uzak API çağrısına bağlarlar ve her tuş vuruşunda tüm üst listeyi yeniden çizerler. Her görev grubunu izole atomik durumda tutarak dokunma geri bildirimini 16ms arayüz kare bütçesine kilitliyoruz.

Çevrimdışı çalışan bir uygulamada işletim sistemi süreci sonlandırırsa veya pil biterse veri kaybını nasıl önlüyorsunuz?

Her değişiklik (ekleme, işaretleme, düzenleme, silme) 'uygulama arka plana atıldığında' olayını beklemek yerine durumun güncellendiği karede atomik olarak yerel diske yazılır.

Basic Todo App uygulamasını nereden indirebilirim?

Basic Todo App, Google Play Store üzerinde com.tunagamedev.basictodoapp paket adıyla yayındadır.