SwiftUI'da Performance Optimizasyonu
SwiftUI uygulamalarınızı hızlandırmanın 15 etkili yolu. View lifecycle, state management ve lazy loading teknikleri.
15 dkMobil Güvenlik ve Gizlilik Koruma Platformu
Kullanıcı
İndirme
App Store Puanı
Geliştirme Süresi
One Shield, günümüzün artan siber güvenlik tehditlerine karşı kullanıcıların dijital yaşamını korumak için tasarlanmış kapsamlı bir iOS güvenlik uygulamasıdır. Proje, ortalama bir kullanıcının 5-7 farklı güvenlik aracı kullanmak zorunda kalması sorununa tek platform çözümü sunar — VPN, Wi-Fi güvenlik taraması, şifre yöneticisi ve gizlilik raporu tek uygulamada birleştirildi. Uygulama 67 dosyadan oluşan modüler bir kod tabanına sahiptir ve dört ana güvenlik modülü üzerine inşa edildi: (1) VPN Bağlantısı — NEVPNManager ile IKEv2 protokolü üzerinden şifrelenmiş tünel, 15+ ülke sunucu seçeneği ve otomatik en yakın sunucu seçimi, (2) Wi-Fi Güvenlik Taraması — Network framework ile bağlı Wi-Fi ağının şifreleme tipi, DNS güvenliği ve potansiyel man-in-the-middle riskleri analizi, (3) Şifre Yöneticisi — CryptoKit ile AES-256 şifreleme, biyometrik kilit (Face ID/Touch ID) ve otomatik güçlü şifre üretici, (4) Gizlilik Raporu — cihaz üzerindeki izleme izinleri, konum servisleri ve veri paylaşım durumunun kapsamlı analizi. One Shield'in temelinde "zero-knowledge" felsefesi yatar: kullanıcının şifreleri ve hassas verileri yalnızca cihazda şifrelenir, sunuculara ASLA düz metin olarak gönderilmez. CryptoKit ile tüm kriptografik işlemler Apple'ın Secure Enclave'inden yararlanılarak donanım destekli güvenlik sağlar. Bu yaklaşım hem KVKK/GDPR uyumluluğunu garanti eder hem de kullanıcı güvenini en üst düzeyde tutar. MVVM-C (Coordinator) mimarisi ile geliştirilen uygulama, SwiftUI'nin deklaratif arayüz gücünü Coordinator pattern'in modüler navigasyon yetenekleriyle birleştirir. 25.000+ indirme ve 8.000+ aylık aktif kullanıcıyla iOS 16.0+ desteğiyle App Store güvenlik kategorisinde 4.7 puanla yüksek kullanıcı memnuniyetine sahiptir. Freemium iş modeliyle temel Wi-Fi taraması ve güvenlik raporu ücretsiz sunulurken, VPN ve şifre kasası premium abonelikle açılır.
Mobil güvenlik uygulaması geliştirirken beş kritik teknik ve regülasyon zorluğuyla karşılaştırıldı: Birincisi, VPN tünelleme ve Apple kısıtlamaları — NEVPNManager ile IKEv2 VPN bağlantısı kurmak Apple'ın Network Extension framework'unun katı kurallarına tabi. Entitlement alma süreci, App Store review'da VPN uygulamalarına uygulanan ek denetim ve Always-on VPN ile pil tüketimi dengesi karmaşık mühendislik kararları gerektirdi. iOS'un VPN profilini sistem ayarlarında göstermesi ve kullanıcının bunu kafa karıştırıcı bulması UX tarafında ek zorluk yarattı. İkincisi, kriptografik anahtar yönetimi — kullanıcının şifreleri AES-256 ile şifrelenirken, master key'in güvenli saklanması ve recovery mekanizması en hassas mimari kararlardan biriydi. Secure Enclave'de saklanan anahtarın cihaz değiştirmede kaybolması, iCloud Keychain senkronizasyonunun güvenlik riskleri ve kullanıcı "şifresini unuttu" senaryolarında kurtarma protokolü birbirleriyle çelişen güvenlik gereksinimleri oluşturdu. Üçüncüsü, Wi-Fi ağ analizi sınırlamaları — iOS'un güvenlik sandbox'ı nedeniyle ağ trafiğine erişim kısıtlı. Network framework ile SSID, şifreleme tipi ve DNS bilgilerine erişilebilirken, paket düzeyinde analiz mümkün değil. Bu kısıtlama içinde anlamlı güvenlik önerileri sunmak yaratıcı mühendislik çözümleri gerektirdi. Dördüncüsü, biyometrik kimlik doğrulamanın edge case'leri — Face ID/Touch ID başarısız olduğunda fallback mekanizması, çoklu kullanıcı senaryoları (aile cihazı), biyometrik veri değişikliği (yeni parmak izi ekleme) sonrası yeniden doğrulama gerekliliği ve jailbreak tespiti gibi güvenlik senaryoları kapsamlı test gerektirdi. Beşincisi, App Store review süreci — güvenlik uygulamaları Apple tarafından ek denetime tabi tutuluyor. VPN işlevselliğinin doğru deklarasyonu, kriptografi export uyumluluğu (EAR) ve gizlilik etiketi beyanlarının tutarlılığı ilk submission'da red (rejection) almayı önlemek için titizlikle hazırlandı.
Çözüm, güvenlik-öncelikli dört katmanlı mimari üzerine inşa edildi: 1. VPN Motoru: NEVPNManager ile IKEv2 protokol desteği. VPN konfigürasyonu programatik olarak oluşturulur — sunucu adresi, shared secret ve sertifika bilgileri Keychain'de şifreli saklanır. NETunnelProviderManager ile on-demand rules: belirli Wi-Fi ağlarında otomatik VPN aktifleşme (güvenilmeyen ağ tespit edildiğinde). Kullanıcıya sistem ayarları yerine uygulama içinde tek butonla bağlan/kopar deneyimi sunuldu. Sunucu seçimi: 15 ülke, ping-based en yakın sunucu otomatik seçimi, manuel override seçeneği. Kill switch: VPN düşerse internet erişimini anında kesen güvenlik katmanı. 2. Kriptografi Katmanı: CryptoKit framework ile AES-GCM (Galois/Counter Mode) şifreleme — hem gizlilik hem bütünlük garantisi. Master key türetimi: PBKDF2 (100.000 iterasyon) ile kullanıcı parolasından. Türetilen anahtar Secure Enclave'de saklanır — donanım destekli izolasyon. Şifre kasasındaki her kayıt ayrı initialization vector (IV) ile şifrelenir — bir kaydın compromize olması diğerlerini etkilemez. Recovery mekanizması: kullanıcı tarafından yazılıp güvenli yerde saklanan 24 kelimelik recovery phrase (BIP-39 benzeri). 3. Ağ Analiz Motoru: Network framework NWPathMonitor ile sürekli ağ durumu izleme. CNCopyCurrentNetworkInfo ile SSID ve BSSID alma. Wi-Fi güvenlik değerlendirmesi: şifreleme tipi (WPA3/WPA2/WEP/Açık), DNS over HTTPS desteği, captive portal tespiti, potansiyel ARP spoofing risk analizi (ağ üzerindeki cihaz sayısı ve trafik desenleri). Sonuç kullanıcıya A-F arasında güvenlik notu ve önerilerle sunulur. NWConnection ile DNS leak testi — VPN aktifken DNS sorgularının tünel dışına çıkmaması doğrulama. 4. Biyometrik ve Kimlik Doğrulama: LocalAuthentication framework ile LAContext — Face ID/Touch ID + cihaz parolası fallback. Uygulama içinde 3 güvenlik seviyesi: (a) uygulama açılışında biyometrik, (b) şifre kasası erişiminde ek doğrulama, (c) kritik işlemlerde (export, silme) tekrar biyometrik. evaluatedPolicyDomainState ile biyometrik veri değişikliği tespit edilerek yeniden master parola istenir. Jailbreak detection: belirli dosya yolları + sandbox bütünlük kontrolü — tespit edilirse uyarı ve kısıtlı mod.
Uygulama MVVM-C (Coordinator) mimarisi üzerinde Swift 5.9 ve SwiftUI ile geliştirildi. 67 dosya, 14 modülü kapsayan yapılandırılmış kod tabanı. VPN Modülü: NEVPNManager ile IKEv2 VPN konfigürasyonu. NEVPNConnection observe pattern ile bağlantı durumu izleme (connecting/connected/disconnecting/disconnected). On-demand rules: NEOnDemandRuleConnect (güvenilmeyen Wi-Fi), NEOnDemandRuleDisconnect (güvenilir ağ), NEOnDemandRuleIgnore (cellular). VPN profili Keychain'de şifreli persistedReference ile saklanır. NETunnelProviderProtocol ile özel protokol desteği altyapısı. Combine CurrentValueSubject<VPNStatus, Never> ile tüm UI bileşenlerine reaktif durum yayını. Kriptografi Modülü: CryptoKit AES.GCM seal/open ile şifreleme/deşifreleme. SymmetricKey(size: .bits256) ile 256-bit anahtar. Her kayıt için CryptoKit.AES.GCM.Nonce() ile benzersiz IV. HKDF (HMAC-based Key Derivation) ile master key'den kayıt-spesifik alt anahtarlar türetme. SHA256 hash ile veri bütünlük doğrulaması. P256 eliptik eğri ile dijital imza — veri ihlali tespitinde kullanım. Keychain Entegrasyonu: SecItemAdd/SecItemCopyMatching ile Keychain CRUD. kSecAttrAccessibleWhenUnlockedThisDeviceOnly — cihaz kilitliyken erişim engelleme. kSecAttrAccessControl ile biyometrik korunmuş kayıtlar. Keychain grupları ile app extension (VPN tunnel provider) ile ana uygulama arasında güvenli veri paylaşımı. Ağ Analiz Modülü: NWPathMonitor(requiredInterfaceType: .wifi) ile Wi-Fi durum izleme. NEHotspotHelper ile Wi-Fi ağ detayları (iOS 15+). NWConnection ile DNS resolution testi (A/AAAA record query). URLSession ile HTTPS sertifika doğrulama — certificate pinning ile MITM tespiti. Network.framework NWBrowser ile yerel ağdaki cihaz keşfi (Bonjour). Biyometrik Kimlik Doğrulama: LAContext canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics) ile biyometrik uygunluk kontrolü. evaluatePolicy ile Face ID/Touch ID prompt — localizedReason Türkçe açıklama metni. evaluatedPolicyDomainState Data hash ile biyometrik değişiklik tespiti. LAError handling: .biometryNotAvailable, .biometryNotEnrolled, .biometryLockout → uygun fallback stratejileri. Veri Saklama: CoreData ile şifre kasası (şifrelenmiş blob olarak). NSPersistentContainer ile lightweight migration desteği. NSFetchedResultsController + Combine wrapper ile SwiftUI'ya reaktif veri akışı. iCloud Keychain senkronizasyonu opsiyonel — kullanıcı onayı ile. Performans: App launch süresi <500ms (güvenlik kontrolleri lazy). Şifreleme/deşifreleme: <5ms/kayıt (AES-GCM hardware acceleration). VPN bağlantı süresi: ortalama 1.8s (IKEv2 handshake). Bellek kullanımı: ortalama 38MB. Wi-Fi tarama süresi: <3 saniye.
Piyasa Araştırması ve Bulgular: Türkiye Siber Güvenlik Pazarı: * Türkiye siber güvenlik pazarı: $2.1B (2024), %18 CAGR büyüme * Mobil güvenlik segmenti: $320M — en hızlı büyüyen alt segment (%22 yıllık) * Türkiye'de 65M+ akıllı telefon kullanıcısı, %78'i güvenlik endişesi taşıyor * 2024'te Türkiye'de 4.5M+ veri ihlali raporu (USOM verileri) * VPN kullanım oranı: %32 (Türkiye, Avrupa ortalamasının 2x üzerinde) * Şifre yöneticisi kullanım oranı: sadece %12 — büyük büyüme potansiyeli * KVKK uygulaması sonrası kurumsal mobil güvenlik talebi %180 arttı Global Mobil Güvenlik Uygulamaları Pazarı: * Global mobile security market: $7.2B (2024) → $20.4B (2030), %19 CAGR * Consumer VPN pazarı: $1.8B (2024), %15 yıllık büyüme * Password manager pazarı: $2.4B (2024), %17 CAGR * Birleşik güvenlik çözümleri (all-in-one) en hızlı büyüyen segment — tek uygulama tercihi %68 Rakip Analizi: 1Password: Güçlü şifre yöneticisi ama VPN yok, yıllık $36 fiyat Türkiye için yüksek. NordVPN: Sektör lideri VPN ama şifre yöneticisi ayrı ürün (NordPass). Kaspersky: Kapsamlı ama ağır (150MB+), Rusya menşei güven sorunu. Avast: Ücretsiz tier cazip ama reklam yoğun, gizlilik ironisi. One Shield farkı: 4 güvenlik modülü tek uygulamada + yerli + hafif (31MB) + uygun fiyat + zero-knowledge. Hedef Kitle Segmentasyonu: 1. Gizlilik Bilinçli Kullanıcılar (%40): 25-40 yaş, VPN ve şifre yöneticisi aktif arayan, teknik bilgisi ortalama üstü 2. İş Profesyonelleri (%30): 30-50 yaş, kurumsal veri güvenliği endişesi, Wi-Fi taraması öncelikli (ofis/seyahat) 3. Genel Tüketici (%20): 18-35 yaş, güvenlik farkındalığı düşük ama artıyor, basit ve otomatik çözüm arayan 4. Ebeveynler (%10): 30-45 yaş, çocukların dijital güvenliği, cihaz güvenlik raporu odaklı Kullanıcı Araştırması Bulguları (60+ Anket + 8 Derinlemesine Görüşme): * %78'i "tek uygulama ile tüm güvenlik ihtiyaçlarımı karşılamak" istiyor * %65'i mevcut VPN uygulamalarını "yavaş ve pil tüketiyor" buluyor * %82'si Face ID/Touch ID ile giriş zorunluluğunu destekliyor * %71'i şifre yöneticisine güvenmiyor ("ya hacklenirse?") — zero-knowledge eğitimi kritik * %54'ü premium için $3-5/ay ödemeye hazır
Tasarım süreci 5 ana fazda yürütüldü ve güvenlik UX'ine özel araştırma ile desteklendi: Faz 1 — Keşif ve Güvenlik UX Araştırması (2.5 hafta): 60+ kişilik online anket ile dijital güvenlik alışkanlıkları analiz edildi. 8 kişilik derinlemesine görüşme düzenlendi (3 IT profesyoneli, 3 genel tüketici, 2 ebeveyn). Rakip uygulamaların UX audit'i tamamlandı (1Password, NordVPN, Kaspersky, Avast). Bu fazın en kritik bulgusu: kullanıcıların %71'i şifre yöneticisine güvenmiyor — "ya hacklenirse?" endişesi. Zero-knowledge mimarisini kullanıcıya anlaşılır şekilde anlatmak tasarımın en büyük zorluğu olarak belirlendi. Faz 2 — Bilgi Mimarisi ve Güvenlik Hiyerarşisi (1.5 hafta): Güvenlik modülleri öncelik sırasına göre dizildi: (1) VPN — en görünür, en sık kullanılan, (2) Şifre Kasası — en değerli veri, (3) Wi-Fi Tarama — durumsal kullanım, (4) Gizlilik Raporu — bilgilendirme odaklı. Ana ekran "Güvenlik Skoru" kartı: 0-100 puan ile cihazın genel güvenlik durumu. Her modül kendi rengiyle kodlandı: VPN mavi, Şifre yeşil, Wi-Fi turuncu, Gizlilik mor. Tab bar: Kalkan (ana ekran), VPN, Kasa, Tarama, Ayarlar. Faz 3 — Wireframe ve Prototip (2 hafta): Figma'da 2 konsept hazırlandı: (A) Dashboard-öncelikli — ana ekranda güvenlik skoru + hızlı erişim butonları, (B) Modül-öncelikli — her modül ayrı tab, ana ekran yok. 6 kişilik guerilla test sonucu: Konsept A %40 daha yüksek engagement — kullanıcılar güvenlik skorunu görünce modülleri keşfetmeye motive oluyor. "Güvenlik Skoru" gamification elementi olarak en etkili UX kararı oldu — kullanıcılar skoru 100'e çıkarmak için tüm modülleri aktif kullanıyor. Faz 4 — Yüksek Sadakatli Tasarım (2 hafta): Güvenlik uygulamasına özgü tasarım kararları: koyu tema varsayılan (güvenlik hissi), Shield ikonu marka sembolü, animasyonlu güvenlik skoru (CountUp + CircularProgress), VPN haritası ile görsel sunucu seçimi, şifre gücü göstergesinde renkli progress bar (kırmızı-sarı-yeşil). Onboarding'de 4 adımlı güvenlik eğitimi: (1) VPN nedir, (2) Şifreleriniz nasıl korunur, (3) Zero-knowledge ne demek, (4) Recovery phrase neden önemli. Her adım Lottie animasyonuyla desteklendi. Faz 5 — Kullanılabilirlik Testi ve İterasyon (1 hafta): 10 katılımcı ile moderasyonlu kullanılabilirlik testi yapıldı (5 teknik, 5 genel tüketici). Tespit edilen sorunlar ve çözümleri: (1) VPN bağlantı süresi belirsiz hissettiriyor → bağlantı aşamaları (Sunucu seçiliyor → Tünel kuruluyor → Bağlı) animasyonlu progress ile gösterildi, (2) Şifre kasasına ilk kayıt ekleme akışı 5 adım, uzun → tek ekranda form ile 2 adıma indirildi, (3) Wi-Fi tarama sonuçlarındaki teknik terimler (WPA2, DNS, ARP) anlaşılmıyor → her terim için "?" tooltip ile basit açıklama eklendi, (4) Güvenlik skoru hesaplama mantığı şeffaf değil → skor kartına dokunulduğunda detaylı döküm gösterildi. Son iterasyon sonrası SUS skoru: 79/100 — "iyi" kategorisi (güvenlik uygulamaları için yüksek).
One Shield, lansmandan itibaren iOS güvenlik kategorisinde güçlü bir konum elde etti: Kullanıcı Metrikleri: * 8.000+ aylık aktif kullanıcı (MAU) — aylık %28 organik büyüme * 25.000+ kümülatif indirme — App Store organik + güvenlik blog referansları * App Store'da 4.7 puan (80+ değerlendirme) * D7 retention oranı: %45 (güvenlik kategorisi ortalaması %30) * Ortalama oturum süresi: 3.8 dakika (hızlı güvenlik kontrolü odaklı) * Günlük VPN kullanım süresi: ortalama 4.2 saat/kullanıcı İş Etkisi: * VPN aktif kullanım oranı: %72 (indirenlerin) — sektör ortalaması %55 * Şifre kasasında ortalama 28 kayıt/kullanıcı * Wi-Fi güvenlik taraması kullanım oranı: %65 (haftalık en az 1 tarama) * Gizlilik raporu görüntüleme: %58 (aylık) * Premium abonelik dönüşüm oranı: %12 (freemium, sektör ortalaması %6) * Kullanıcı başına aylık gelir (ARPU): $2.40 Teknik Performans: * Crash-free oranı: %99.8 (güvenlik uygulamasında kritik) * App boyutu: 31MB (VPN profilleri dahil) * Cold start süresi: <500ms * VPN bağlantı süresi: ortalama 1.8 saniye * Şifreleme performansı: <5ms/kayıt (AES-256-GCM) * Wi-Fi tarama süresi: <3 saniye App Store İncelemeleri: * "VPN + şifre yöneticisi tek uygulamada, başka bir şey aramama gerek yok. Face ID entegrasyonu çok akıcı." — 5 yıldız * "Wi-Fi güvenlik taraması ofiste ve kafede sürekli kullanıyorum. Güvenli olmayan ağları anında tespit ediyor." — 5 yıldız * "Şifre üretici çok pratik, 24 karakterlik şifre üretip otomatik kaydediyor. Recovery phrase sistemi de güven veriyor." — 5 yıldız * Apple gizlilik etiketinde "Veri Toplamaz" rozeti — güvenlik uygulaması için en önemli gösterge
Bu proje boyunca mobil güvenlik uygulaması geliştirmeye özgü birçok değerli teknik ve mimari ders çıkardım: NEVPNManager ve Apple Ecosystem Kısıtlamaları: VPN uygulaması geliştirmek iOS'un en kısıtlı alanlarından biri. Network Extension entitlement almak Apple Developer Account'ta özel başvuru gerektiriyor — onay süresi 2-4 hafta. Always-on VPN'in pil etkisi beklenenden yüksek çıktı (%15-20 ekstra tüketim), on-demand rules ile akıllı bağlantı yönetimi pil tüketimini %8'e düşürdü. En önemli öğrenme: VPN profilinin sistem ayarlarında görünmesi kullanıcıları tedirgin ediyor — onboarding'de açıklayıcı ekran eklenmesi uninstall oranını %35 azalttı. CryptoKit vs CommonCrypto: Eski projelerde CommonCrypto (C-based) kullanılırken, CryptoKit Swift-native API'si ile hem geliştirme hızını hem güvenlik seviyesini artırdı. CryptoKit otomatik olarak Secure Enclave'den yararlanır — CommonCrypto'da bu manuel konfigürasyon gerektirir. Ancak CryptoKit'in sınırlı algoritma desteği (AES-GCM, ChaCha20-Poly1305, HKDF) bazı senaryolarda CommonCrypto fallback gerektirdi. Öneri: yeni projelerde CryptoKit birincil, CommonCrypto sadece legacy uyumluluk için. Zero-Knowledge Mimaride UX Zorluğu: Sunucuda kullanıcı verisi saklanmaması (zero-knowledge) en büyük güvenlik avantajı, ancak "şifresini unuttu" senaryosunda kullanıcının TÜM verilerini kaybetmesi anlamına geliyor. 24 kelimelik recovery phrase çözümü eklendi — ancak kullanıcıların %60'ı bunu güvenli bir yere yazmadı. Sonuç: onboarding'de recovery phrase'in screenshot'ını alma ve başka bir cihaza gönderme adımları eklendi, tamamlama oranı %35'ten %78'e çıktı. Biyometrik Authentication Edge Case'leri: Face ID başarısız olduğunda cihaz parolası fallback otomatik, ancak "biyometrik değişti" senaryosu (yeni parmak izi, maske ile Face ID) beklenenden karmaşık. evaluatedPolicyDomainState hash değiştiğinde master parola isteme kararı doğru ama agresifti — iOS güncellemesi sonrası bile tetikleniyordu. Çözüm: domain state değişikliği + son başarılı biyometrik arasında 24 saat buffer süresi eklendi. App Store Review Stratejisi: Güvenlik uygulamalarında ilk submission rejection oranı %40+ (sektör verisi). One Shield için hazırlanan detaylı review notes (VPN amacı, kriptografi export status, gizlilik etiketi tutarlılığı) ile ilk seferde onay alındı. App Store Connect'te upload öncesi tüm metadata'nın ikinci bir göz tarafından incelenmesi ilk seferde onay oranını %90+'a çıkardı. Modüler Mimari ve Coordinator Pattern: 67 dosyalı projede MVVM-C pattern olmadan navigasyon kaosuna sürüklenirdik. Her güvenlik modülü (VPN, Password, WiFi, Privacy) bağımsız coordinator'a sahip — yeni modül eklemek mevcut kodu hiç etkilemiyor. Feature flag ile modüllerin bağımsız açılıp kapatılması A/B test imkanı sağladı.
SwiftUI uygulamalarınızı hızlandırmanın 15 etkili yolu. View lifecycle, state management ve lazy loading teknikleri.
15 dkNavigationStack'in ötesine geçin! Coordinator pattern, deep linking ve custom transition'lar ile profesyonel navigation sistemi oluşturun.
22 dkiOS 16+ Charts framework ile etkileyici grafikler oluşturun. Line, bar, pie chart örnekleri ve custom styling.
16 dk12+ yıllık mobil geliştirme deneyimimle hayalinizdeki uygulamayı birlikte hayata geçirelim.
İlk görüşme tamamen ücretsizdir