Widget Nedir?
Ana ekranda uygulamanın küçük bir parçasını gösteren mini görünüm. Kullanıcının uygulamayı açmadan bilgiye erişmesini sağlar. Hem iOS hem Android'de kullanıcı engagement artırmak için güçlü bir araçtır.
iOS Widgets (WidgetKit)
Özellikler
- SwiftUI ile geliştirme (zorunlu)
- Timeline Provider ile güncelleme mekanizması
- Küçük, orta, büyük ve ekstra büyük boyutlar
- Interactive widgets (iOS 17+): Buton ve toggle desteği
- Live Activities (iOS 16.1+): Dynamic Island ve kilit ekranı
- StandBy mode desteği (iOS 17)
Widget Boyutları
- Small: 2x2 grid, tek bakışta bilgi
- Medium: 4x2 grid, daha detaylı içerik
- Large: 4x4 grid, kapsamlı görünüm
- Extra Large: iPad, 8x4 geniş alan
Güncelleme
- Timeline bazlı (önceden planlanmış güncelleme zamanları)
- getTimeline() ile güncelleme zamanları belirle
- Sistem arka planda günceller
- Budget sınırlı (günde yaklaşık 40-70 güncelleme)
Android Widgets
App Widgets (Geleneksel)
- RemoteViews ile layout oluşturma
- XML ile tasarım
- AppWidgetProvider ile güncelleme yönetimi
Glance (Jetpack, Yeni)
- Compose benzeri API ile modern geliştirme
- Daha az boilerplate kod
- Material You tasarım desteği
Güncelleme
- updatePeriodMillis ile periyodik (minimum 30 dakika)
- AlarmManager ile daha sık güncelleme
- WorkManager ile koşullu güncelleme
Widget Tasarım İlkeleri
- Tek bakışta bilgi: Detay değil, özet göster
- Tıklanabilir: Widget'a tıklama uygulamanın ilgili sayfasını açmalı
- Kişiselleştirme: Kullanıcı ne göreceğini seçebilmeli
- Dark mode: Her iki modda güzel görünmeli
- Responsive: Farklı boyutlarda optimize edilmiş görünüm
React Native / Expo ile Widget
- expo-widgets (Expo SDK 51+): iOS ve Android widget desteği
- react-native-android-widget: Android widget oluşturma
- Widget'lar native kod gerektirir (JS çalışmaz)
- Shared data: App Group (iOS), SharedPreferences (Android)
Neden Widget Önemli?
- Apple ve Google featuring'de widget desteğine bakıyor
- Kullanıcı engagement artırır (uygulamayı açmadan etkileşim)
- Retention iyileştirir (sürekli görünürlük sağlar)
- iOS Lock Screen widget'ları yeni fırsat alanı oluşturuyor
- StandBy mode (iOS 17) ile widget kullanımı arttı
2026 İtibariyle Güncel Durum
- iOS 17+ ile interaktif widget'lar (buton, toggle) standart hale geldi
- Android Glance kütüphanesi stabil sürümüne ulaştı
- expo-widgets ile cross-platform widget geliştirme kolaylaştı
- Live Activities ve Dynamic Island kullanımı yaygınlaştı
Widget'lar "mini uygulama" değil, "bilgi penceresi" olmalı. Basit tut, hızlı bilgi ver.