watchOS Development: Apple Watch Uygulamaları Geliştirme
Apple Watch için uygulama geliştirme rehberi. Complications, WidgetKit, workout tracking, HealthKit entegrasyonu ve connectivity.
20 dkUyku Takibi ve Mental Sağlık Uygulaması
Kullanıcı
İndirme
App Store Puanı
Geliştirme Süresi
Sleep Wellness, modern yaşamın en büyük sağlık sorunlarından biri olan uyku kalitesizliğine bilimsel ve bütünsel bir çözüm sunan kapsamlı bir mobil sağlık platformudur. 253 dosyalık büyük ölçekli Flutter projesi olarak geliştirilen uygulama, uyku takibinden meditasyona, nefes egzersizlerinden rüya günlüğüne kadar geniş bir özellik yelpazesi sunar. Uygulama, kullanıcının uyku düzeni hakkında derin içerikler sunar: yataga giriş ve uyanış saatleri, uyku süresi, uyku kalitesi puanı, gece boyunca hareket verileri ve çevre sesleri analizi. HealthKit (iOS) ve Health Connect (Android) entegrasyonu sayesinde cihazin dogal uyku sensoru verileri uygulamaya aktarılır — kullanıcının ekstra bir cihaz takması gerekmez. Bu veriler makine öğrenmesi tabanlı algoritmalarla işlenerek kişiselleştirilmiş uyku önerileri üretilir. Meditasyon modülü 50+ rehberli meditasyon içeriği sunar: uyku öncesi rahatlama, gece kaygisi yönetimi, sabah enerjisi ve gün içi stres çözme kategorilerinde profesyonel ses kayıtları. Nefes egzersizleri modülü 4-7-8, kare nefes ve progresif kas gevsetme teknikleriyle uyku öncesi hazırlık rutini oluşturur. Uyku sesleri kütüphanesi beyaz gürültü, yağmur, orman, okyanus ve ASMR içerikleriyle ideal uyku ortamini sağlar — timer ile otomatik kapanma desteği vardır. Ruya günlüğü özelliği ile kullanıcılar uyandıkları anda rüyalarını kayıt altina alabilir, etiketleyebilir ve zaman içerisinde rüya paternlerini analiz edebilir. Haftalık ve aylık raporlar görsel grafiklerle uyku trendlerini, ortalama kalite puanını ve iyileşme önerileri sunar. Tum bu özellikler Flutter'in cross-platform gücüyle hem iOS hem Android'de esit kalitede sunulur; HealthKit ve Health Connect entegrasyonları sayesinde kullanıcı ek bir giyilebilir cihaz takmadan kapsamlı uyku verisi elde eder. 75.000+ indirme ve 20.000+ aylık aktif kullanıcı ile Sleep Wellness, Türkiye'nin en kapsamlı uyku sağlığı uygulaması konumundadir.
Uyku sağlığı uygulaması geliştirirken beş kritik teknik ve UX zorluğuyla karşılaşıldık: Birincisi, platform-spesifik sağlık verisi entegrasyonu — iOS'ta HealthKit ve Android'de Health Connect API'leri tamamen farklı mimarilere sahip. HealthKit HKHealthStore ile senkron sorgulama desteklerken, Health Connect tamamen asenkron ve permission modeli farklı. Her iki platformda da uyku verisi farklı kategorilerde (HKCategorySample vs SleepSessionRecord) ve farklı granularite'de saklanıyor. Flutter'dan platform channel ile her iki API'ye erişim sağlamak, veri modellerini ortaklastirmak ve eksik veri durumlarını yönetmek en büyük teknik zorluktu. İkincisi, arka plan ses çalma ve timer yönetimi — uyku sesleri kullanıcı uyuduktan sonra da çalışmaya devam etmeli ancak belirlenen sürede otomatik kapanmalı. iOS'ta AVAudioSession ile background audio, Android'de foreground service ile medya çalma farklı yaklasimlar gerektiriyordu. Pil tüketimini minimize ederken kesintisiz ses kalitesi sağlamak ince bir denge gerektirdi. Üçüncüsü, 253 dosyalık proje ölçeği — feature modülleri, shared kutuphaneler, platform channel'lar ve test dosyaları ile devasa bir codebase. Build süreleri, dependency yönetimi ve takım içi kod tutarliligi bu ölçekte ciddi zorluklar yaratti. Clean Architecture katmanlarınin titizlikle uygulanması hayati önem taşıyordu. Dördüncüsü, offline-first uyku verisi — kullanıcılar gece boyunca internet bağlantısı olmadan uyku verisi toplamali, sabah senkronize etmeliydiler. SQLite ile local storage, Firebase ile cloud sync ve conflict resolution stratejisi gerekiyordu. Beşincisi, bildirim zamanlama hassasiyeti — uyku hatırlatıcı ve akıllı alarm bildirimleri dakika hassasiyetinde çalışmalı. Android'de WorkManager + AlarmManager, iOS'te UNNotificationRequest ile platform-spesifik zamanlama farklılıkları vardı.
Çözüm, modüler Clean Architecture ve platform channel abstraction üzerine inşa edildi: 1. Platform Channel Abstraction Layer: HealthKit ve Health Connect API'leri için tek bir SleepDataRepository interface'i tanımlandı. Flutter tarafında MethodChannel ile platform-spesifik native kod cagirilir — iOS'ta Swift ile HKHealthStore sorguları, Android'de Kotlin ile Health Connect client işlemleri. Ortak SleepSession veri modeli her iki platformun verisini normalize eder: başlangıç/bitis zamanı, uyku aşamaları (hafif/derin/REM), hareket verileri ve kalite puanı. Bu abstraction sayesinde UI katmanı platformdan bağımsız çalışır. 2. Audio Engine: just_audio + audio_service Flutter paketleri ile cross-platform arka plan ses çalma. Playlist yönetimi ile birden fazla sesin mix'lenmesi (örneğin yağmur + piyano). Fade-out timer: kullanıcı belirlenen sürede ses yavaşça azalir ve kapanir. Audio cache ile offline çalma desteği — indirilen sesler local storage'da saklanır. iOS'ta AVAudioSession.Category.playback, Android'de MediaSession ile sistem medya kontrolleri entegrasyonu. 3. 253 Dosyalik Modular Mimari: Proje 8 feature modülü, 3 shared kütüphanesi ve 2 platform channel modülü ile yapılandırıldı. Feature modülleri: sleep_tracking, meditation, breathing, sounds, dream_journal, reports, settings, onboarding. Her modül kendi BLoC'lari, use case'leri, repository'leri ve widget'lari ile bağımsız. Shared kutuphaneler: core (base classes, extensions), design_system (theme, widgets), data (database, API). Melos monorepo aracı ile modül bazlı build ve test. 4. Offline-First Data Strategy: SQLite (drift paketi) ile local database — uyku kayıtları, meditasyon ilerlemesi, rüya günlüğü tamamen offline çalışır. Firebase Firestore ile cloud sync: kullanıcı giriş yaptiginda local veriler cloud'a push edilir, baska cihazdan giriste pull edilir. Conflict resolution: timestamp-based last-write-wins + manual merge seçeneği uyku kayıtları için. 5. Akıllı Bildirim Sistemi: flutter_local_notifications + timezone paketi ile hassas zamanlama. Uyku hatırlatıcı: kullanıcının hedef yatış saatinden 30dk önce bildirim. Akıllı alarm: hafif uyku asamasinda (HealthKit/Health Connect verisine göre) alarm penceresi içerisinde en uygun anda uyandirma. Sabah raporu: uyku puanı ozeti ile motivasyonel bildirim.
Uygulama Flutter 3.16 ve Dart 3.2 ile geliştirildi, 253 dosyalık modüler Clean Architecture üzerine inşa edildi. Platform Channel Mimarisi: iOS tarafında Swift ile HealthKitManager sinifi — HKHealthStore üzerinden HKCategorySample (sleepAnalysis) ve HKQuantitySample (heartRate, respiratoryRate) sorguları. HKObserverQuery ile arka planda uyku verisi değişikliklerini dinleme. Android tarafında Kotlin ile HealthConnectManager — SleepSessionRecord ve SleepStageRecord okuma, READ_SLEEP permission yönetimi. Flutter MethodChannel ile birleştirme: 'getSleepData', 'requestPermissions', 'startObserving' method'lari. Ortak SleepSession modeli: stages listesi (AWAKE, LIGHT, DEEP, REM), duration, quality score (0-100), heart rate average. State Management (BLoC): 12 BLoC + 6 Cubit toplam 18 state management birimi. Ana BLoC'lar: SleepTrackingBloc (uyku kayıt ve analiz), MeditationBloc (içerik yönetimi ve ilerleme), BreathingBloc (egzersiz zamanlama ve animasyon), SoundsBloc (audio playback ve mix), DreamJournalBloc (CRUD + arama), ReportsBloc (grafik verisi hesaplama). Cubit'ler: ThemeCubit, LocaleCubit, NotificationCubit, OnboardingCubit, SubscriptionCubit, AudioMixerCubit. Bloc-to-Bloc iletişimi: SleepTrackingBloc tamamlanan uyku kaydini ReportsBloc'a StreamSubscription ile iletir. Database Katmani (Drift/SQLite): 8 tablo: sleep_sessions, sleep_stages, meditations, breathing_sessions, dream_entries, dream_tags, sound_favorites, user_preferences. Migration strategy: incremental schema versioning (v1→v8). Complex query'ler: haftalık/aylık ortalama uyku süresi, kategori bazlı meditasyon ilerlemesi, rüya tag frekansi analizi. DAOs ile type-safe sorgulama. Audio Sistemi: just_audio paketi ile ses çalma — AudioPlayer instance pooling (max 4 eş zamanlı ses için). audio_service paketi ile arka plan çalma ve sistem medya kontrolleri. Custom AudioMixer: birden fazla sesin volume seviyesini bağımsız kontrol (örneğin yağmur %70 + piyano %30). Fade-out algoritma: timer süresinin son %10'unda logaritmik volume azaltma. Offline cache: path_provider ile application documents directory'de .mp3 dosya saklama, 500MB limit ile LRU eviction. Görsel Raporlama: fl_chart paketi ile interaktif grafikler — uyku süresi bar chart (haftalık), kalite puanı line chart (aylık trend), uyku aşamaları pie chart (REM/derin/hafif dagılımı). Custom painter ile circular progress indicator (uyku hedefi ilerleme). Animasyonlu gecisler: her grafik için staggered fade-in animasyonu. Performans Optimizasyonu: Lazy loading: meditasyon ve ses içerikleri sayfa bazlı yüklenir (20 item/sayfa). Image caching: cached_network_image ile meditasyon kapak görselleri. Isolate kullanımı: uyku verisi analizi (ortalama hesaplama, trend detection) compute() ile background isolate'da çalışır — UI donması önlenir. Build optimizasyonu: const constructor'lar, repaintBoundary, AutomaticKeepAliveClientMixin.
Piyasa Araştırması ve Bulgular: Global Uyku Sağlığı Pazarı: - Global uyku teknolojisi pazarı: $38.3B (2024), %14.2 CAGR — 2032'de $110B'a ulaşması bekleniyor - Uyku uygulamaları pazarı: $3.2B (2024), mobil sağlık'in en hızlı büyüyen alt kategorisi - Türkiye'de uyku bozuklugu prevalansı: yetişkin nüfusun %35'i (28M+ kişi) - Uyku hijyeni farkındalığı pandemi sonrası %120 arttı — app indirmeleri 2.5x büyüme - Meditasyon uygulamaları: global $5B pazar, Calm ve Headspace lider ancak Türkçe içerik çok sınırlı Rakip Analizi: Global liderler: Calm ($2B+ valuation, 100M+ indirme), Headspace ($3B valuation, uyku odaklı içerikleri zayıf), Sleep Cycle (uyku takibi odaklı, meditasyon yok). Türkiye'de: Türkçe içerikli kapsamlı uyku uygulaması YOK — mevcut çözümler ya sadece takip ya da sadece meditasyon sunuyor, bütünsel yaklaşım eksik. Sleep Wellness bu boşluğu dolduran ilk Türkçe platform. Bilimsel Arka Plan: - Uyku kalitesi için ideal REM oranı: %20-25 (National Sleep Foundation) - 4-7-8 nefes teknigi uyku gecikmesini ortalama 8 dakika azaltıyor (Arizona State U. 2019) - Beyaz gürültü uyku kalitesini %38 artırıyor (Northwestern University 2023) - Meditasyon pratiği 8 hafta sonrası uyku kalitesi puanını ortalama %42 yükseltiyor (JAMA 2015) - Rüya günlüğü tutma uyku farkındaligini ve genel uyku hijyenini iyileştiriyor (Sleep Medicine Reviews 2020) Hedef Kitle Segmentasyonu: 1. Stresli Çalışanlar (%40): 25-45 yaş, iş stresi kaynaklı uyku sorunu — meditasyon ve nefes egzersizi önceliği 2. Üniversite Öğrencileri (%25): 18-24 yaş, düzensiz uyku programi — uyku takibi ve alarm önceliği 3. Ebeveynler (%20): Bebek/çocuk nedeniyle bolunen uyku — hızlı uyuma teknikleri ve kisa meditasyonlar 4. Yaşlılar (%15): 55+ yaş, uyku süresi azalması — uyku hijyeni eğitimi ve rahatlatıcı sesler Kullanıcı Araştırması (60+ Anket + 10 Derinlemesine Görüşme): - %81'i 'Türkçe meditasyon' birinci istek — mevcut çözümler İngilizce - %73'u uyku verisini telefon sensoru ile toplamak istiyor (ekstra cihaz istemiyor) - %67'si haftalık rapor ve trend analizi beklentisinde - %59'u uyku sesleri kullanıyor ancak mevcut uygulamaları 'çok basit' buluyor
Tasarım süreci 5 ana fazda yürütüldü: Faz 1 — Keşif ve Bilimsel Araştırma (3 hafta): Uyku bilimi literatüründen 20+ makale incelendi — uyku aşamaları, meditasyonun uyku kalitesine etkisi, nefes tekniklerinin fizyolojik mekanizmaları. 3 uyku uzmanı ile danışma görüşmesi yapıldı. 60+ kişilik kullanıcı anketi ile en büyük sorunlar belirlendi: %71 'uykuya dalamama', %58 'gece uyanma', %49 'erken uyanma', %62 'sabah yorgunlugu'. Rakip analizi: Calm, Headspace, Sleep Cycle, Pillow — güçlü/zayıf yönler ve farklılaşmış noktalar haritası çıkarıldı. Faz 2 — Bilgi Mimarisi ve Kullanıcı Yolculugu (2 hafta): 4 ana kullanıcı yolculuğu tanımlandı: (1) Gece Rutini — hatırlatıcı → nefes egzersizi → meditasyon → uyku sesleri → uyku, (2) Sabah Rutini — akıllı alarm → uyku raporu → rüya kaydı → gün başlatma meditasyonu, (3) Gun Ici — stres anında hızlı nefes/meditasyon, (4) Haftalık Değerle — trend analizi → hedef güncelleme → içerik öneri. Tab bar: Uyku (ana dashboard), Meditasyon (içerik kütüphanesi), Sesler (uyku sesleri mixer), Profil (raporlar + ayarlar). Onboarding: 4 adimli kişiselleştirme (uyku hedefi, sorunlar, meditasyon deneyimi, ses tercihi). Faz 3 — Wireframe ve Prototip (2.5 hafta): Figma'da 2 tasarım dili konsepti: (A) Koyu/sakin (koyu mor-lacivert, yildizli gece teması), (B) Pastel/yumusak (lavanta, gul kurusu, soft gradient). 12 kişilik guerilla test: Konsept A %82 tercih oranı — kullanıcılar uyku uygulamasında 'karanlık ve sakinlestirici' atmosfer bekliyor. Ana dashboard: circular progress ile uyku puanı (merkez), son gece istatistikleri (alt), hızlı aksiyonlar (üst). Meditasyon ekranı: kategori bazlı horizontal scroll + featured içerik hero card. Faz 4 — Yüksek Sadakatli Tasarım (2 hafta): Indigo-violet-purple gradient renk paleti: huzur, uyku ve gece çağrışımı. Flutter Material Design 3 dark theme tabanlı özel tema. Tipografi: yumusak rounded font ailesi (goz yormayan). Animasyonlar: nefes egzersizinde genişleyen/daralan daire (inhale/exhale), uyku puanında dolum animasyonu, meditasyon başlangıcında yumusak fade-in. Ses mixer UI: dikey slider'lar ile volume kontrol, görsel dalgaform animasyonu. Custom illustration set: gece gokyuzu, ay, yildizlar, bulutlar — her ekrana özel atmosfer. Faz 5 — Kullanılabilirlik Testi ve İterasyon (1.5 hafta): 14 katılımcı ile moderasyonlu test (gece rutini senaryosu + sabah rutini senaryosu). Temel bulgular: (1) Gece rutini adim sayısı fazla → 'Hızlı Baslat' butonu ile tek dokunuşta önceki ayarlarla başlatma, (2) Ses mixer kaydirici hassasiyeti düşük → slider boyutu büyütüldü + haptic feedback eklendi, (3) Sabah raporu çok detaylı → özet + 'Detay Gor' ikili yaklaşım. Accessibility: tüm animasyonlar reduced-motion destekli, ses kontrolleri VoiceOver/TalkBack uyumlu, kontrast oranı 5.2:1+. Son iterasyon sonrası gece rutini tamamlama oranı %65'ten %84'e yükseldi.
Sleep Wellness, lansman sonrası sağlık ve wellness kategorisinde güçlü büyüme kaydetti: Kullanıcı Metrikleri: - 20.000+ aylık aktif kullanıcı (MAU) — aylık %35 organik büyüme - 75.000+ kümülatif indirme (iOS + Android toplam) - App Store'da 4.8 / Google Play'de 4.7 puan - D7 retention oranı: %41 (sağlık kategorisi ortalaması %24) - D30 retention oranı: %22 (sağlık kategorisi ortalaması %11) - Ortalama günlük oturum: 2.3 (sabah rapor + gece rutin) - iOS/Android kullanıcı dağılımı: %48 iOS, %52 Android Sağlık Etkisi (Kullanıcı Anketi, n=1.200): - %68'i uyku kalitesinde iyileşme raporladı (4+ hafta kullanım sonrası) - %72'si meditasyon özelliğini düzenlice kullanıyor (haftada 3+ kez) - Ortalama uyku süresi artışı: +32 dakika/gece (kullanıcı bildirimi) - %56'si uyku öncesi telefon kullanımını azalttigini bildirdi - Nefes egzersizleri en popüler özellik — günlük 8.500+ tamamlanan seans Teknik Performans: - Crash-free oranı: %99.7 (her iki platform) - App boyutu: iOS 56MB, Android 48MB (ses içerikleri dahil) - Cold start süresi: iOS <1.4s, Android <1.7s - HealthKit/Health Connect sync başarı oranı: %97.3 - SQLite query performansı: 30 günlük rapor <50ms - Arka plan ses çalma pil tüketimi: <3% / saat Kullanıcı Yorumları: - 'Uyku kalitem gerçekten iyileşti. Meditasyonlar ve nefes egzersizleri çok etkili.' — iOS, 5 yıldız - 'Rüya günlüğü özelliği harika. Ruyalarimi takip etmek çok eğlenceli.' — Android, 5 yıldız - 'HealthKit entegrasyonu mükemmel, ayrı bir tracker takmama gerek kalmiyor.' — iOS, 5 yıldız - 'Akıllı alarm sayesinde çok daha dinlenmiş uyanıyorum.' — Android, 4 yıldız
Bu proje boyunca büyük ölçekli Flutter sağlık uygulaması geliştirmede birçok değerli teknik ders çıkarıldı: Platform Channel Yönetimi: HealthKit ve Health Connect API'lerinin tamamen farklı mimarileri nedeniyle platform channel katmanıni ince ayarla tasarlamak kritikti. En büyük hata: başlangıçta tüm HealthKit/Health Connect logic'ini tek bir MethodChannel'da toplamamiz oldu — 30+ method, debug edilmesi imkansız. Çözüm: feature bazlı channel ayirimi (SleepChannel, HeartRateChannel, PermissionChannel). Her channel 5-7 method ile yönetilebilir boyutta. Ayrıca platform exception handling: native tarafta try-catch ile yakalanan hatalar FlutterError.onError'a doğru format ile iletilmeli — aksi halde 'PlatformException: unknown' gibi anlamsiz hatalar oluşur. Buyuk Ölçekli Flutter Projelerde Build Optimizasyonu: 253 dosyalık projede full rebuild 4+ dakika sürüyordu — developer deneyimi için kabul edilemez. Çözüm: Melos ile monorepo yapılandırması, her modül ayrı package olarak tanımlandı. Hot reload sadece aktif modülü etkiler, diğer moduller önceden derlenmis halde kalir. Bu yaklaşımla ortalama hot reload süresi 8 saniyeden 1.2 saniyeye düştü. Ayrıca build_runner (freezed, json_serializable) çıktıları .g.dart dosyalarına ayrildi ve .gitignore'a eklenmedi — CI/CD'de her build'de yeniden üretilir. Offline-First Sağlık Verisi Stratejisi: Uyku verisi gece boyunca internet olmadan toplanmali — bu nedenle SQLite (drift) ile offline-first yaklaşım zorunluydu. En büyük zorluk: ayni kullanıcı iki cihazdan giriş yaparsa uyku kayıtları çarpışır. Timestamp-based last-write-wins basit senaryolarda ise yariyor ancak ayni gece için iki farklı cihazdan gelen farklı uyku verisinde manuel merge seçeneği sunmak gerekti. Firestore offline persistence ile SQLite'i birlikte kullanmak redundancy yaratabilir — biz Firestore offline'i kapattik, tüm local işlemleri SQLite ile yönettik. Ses Sistemi ve Pil Tuketimi: Arka plan ses çalma pil tuketiminin en büyük kaynağı. just_audio + audio_service kombinasyonu stabil çalışıyor ancak 4+ ses mix'lemek CPU kullanımı artırıyor. Çözüm: mix'lenmis sesleri önceden tek dosyaya birlestirir gibi AudioMixer'da volume-weighted merge yapmak yerine, en fazla 2 eş zamanlı AudioPlayer kullanmak. Kullanıcıya 'birincil ses + ikincil arka plan' seçeneği sunmak hem UX'i sadelesstirir hem de pil tüketimini %40 azaltır. Meditasyon Icerigi ve Kullanıcı Bağlılığı: İçerik kütüphanesi büyüklüğü değil, kişiselleşme kalitesi bağlılığı belirliyor. 50 meditasyon içinden kullanıcıya rastgele önermek yerine, uyku kalitesi verisi + gün içi stres seviyesi + tercih geçmişi ile kişiselleştirilmiş öneri algoritması %3x daha yüksek tamamlama oranı sağladı.
Günlük alışkanlıklarınızı oluştürün, takip edin ve streak sistemiyle motivasyonunuzu artırın. Gamification ve detaylı istatistiklerle sağlıklı rutinler kazanın.
Sağlık & YaşamGünlük su tüketimi takibi, akıllı hatırlatıcılar, su faturası ödeme, tüketim analizi ve Apple Watch desteği sunan kapsamlı sağlık ve yaşam platformu.
Apple Watch için uygulama geliştirme rehberi. Complications, WidgetKit, workout tracking, HealthKit entegrasyonu ve connectivity.
20 dkHealthKit entegrasyonu ile sağlık verileri okuma/yazma, workout session'ları, background delivery ve watchOS entegrasyonu.
20 dkFlutter'da MethodChannel, EventChannel ve Pigeon ile native iOS modülleri. Add-to-app, PlatformView ve FlutterEngine yönetimi.
22 dk12+ yıllık mobil geliştirme deneyimimle hayalinizdeki uygulamayı birlikte hayata geçirelim.
İlk görüşme tamamen ücretsizdir