Uzmanlık

iOS ve Swift Uzmanı

iOS, kullanıcı beklentisi yüksek bir platform: akıcı arayüz, pil verimliliği, gizlilik ve App Store kuralları bir arada sağlanmalı. Swift ve SwiftUI ile native geliştirme, mevcut sistemlerle entegrasyon ve mağaza süreçlerini uçtan uca yürütüyorum.

iOS yazılım uzmanı ne iş yapar?

iOS uygulaması geliştirmek; Swift ile arayüz ve iş mantığı yazmanın ötesinde, Apple ekosisteminin kurallarına uyum, gizlilik, performans ve yayın sonrası bakım işlerini kapsar.

  • Ürün akışını tasarlar. Ekranlar, roller, durumlar ve hata senaryoları netleşir.
  • Swift ile geliştirir. SwiftUI veya UIKit tercihini projenin ihtiyacına göre yapar.
  • Mimariyi kurar. Test edilebilir, modüler ve büyümeye açık bir yapı oluşturur.
  • Entegre eder. Mevcut API'ler, kimlik doğrulama, ödeme, bildirim ve cihaz özellikleri.
  • Gizliliği yönetir. Veri minimizasyonu, izin metinleri ve saklama politikaları.
  • App Store'a yayınlar. İnceleme kuralları, gizlilik beyanı, sürüm yönetimi ve bakım.

SwiftUI mi, UIKit mi?

Yeni projelerde SwiftUI hız ve sürdürülebilirlik açısından güçlü bir varsayılan. Ancak karmaşık animasyonlar, eski iOS sürüm desteği veya mevcut UIKit bileşenleri gerektiğinde UIKit hâlâ yerinde.

Gerçek projeler çoğu zaman ikisinin birlikte kullanıldığı hibrit bir yapıya gider: yeni ekranlar SwiftUI, kritik veya eski bileşenler UIKit. Önemli olan, iki dünyayı birbirine dikiş izleri görünmeyecek şekilde bağlamak.

iOS'ta kaliteyi belirleyen başlıklar

  • Apple ekosistemiyle uyum: cihaz boyutları, karanlık mod, dinamik yazı boyutları, erişilebilirlik.
  • Gizlilik: hangi verinin istendiği, neden istendiği ve ne kadar süre tutulduğu net olmalı.
  • Performans ve pil: arka plan işleri, konum takibi ve ağ çağrılarının cihazı yormaması.
  • Güvenli saklama: hassas verinin Keychain ve şifreli dosya sisteminde tutulması.
  • Mağaza uyumu: ödeme kuralları, hesap silme zorunluluğu ve inceleme reddi riskleri.
  • Gözlemlenebilirlik: çökme raporları, sürüm bazlı hata takibi ve kritik akışlarda log.

Native iOS ne zaman doğru seçim?

İki platforma birlikte çıkılacaksa Flutter çoğu projede daha hızlı sonuç verir. Native iOS şu durumlarda öne çıkar:

  • Apple'a özgü deneyim: widget, App Clip, Watch, Shortcuts veya derin sistem entegrasyonu.
  • Donanım ve performans: kamera, ses işleme, AR veya yoğun hesaplama gerektiren akışlar.
  • Mevcut iOS kod tabanı: korunması gereken kurumsal yatırımlar.
  • Yalnızca iOS hedefi: tek platforma odaklanan ürünler.

Platformlar arası karşılaştırmayı Flutter mı native mi yazısında bulabilirsiniz.

Deneyim

Açık Deniz Bilgi'de FMCG saha ekipleri için geliştirilen anket ve konum tabanlı raporlama uygulamalarının iOS tarafında Swift kullanıldı. Uygulamalar ERP entegrasyonu, çevrimdışı çalışma ve saha koşullarına dayanıklılık gerektiriyordu.

DoktorAsistan'ın mobil tarafında ise kullanıcı akışları, güvenli oturum yönetimi ve bildirimler öne çıktı. Native geçişin hangi noktada platform kanalına inmek gerektiğini bu tür projelerde somut olarak görüyorsunuz.

Bir iOS projesi nasıl ilerler?

  1. Keşif ve teknik plan. Kapsam, roller, entegrasyonlar ve kapsam dışı maddeler yazılır.
  2. Mimari ve teknoloji kararı. SwiftUI/UIKit dengesi, veri modeli ve API sözleşmeleri netleşir.
  3. İskelet ve ilk akış. Çalışan dikey bir dilim çıkarılır.
  4. Geliştirme ve test. Birim testleri, cihaz testleri ve kritik akışların otomasyonu.
  5. App Store ve devir. Gizlilik beyanı, inceleme süreci, kaynak kod ve bakım planı.

Aşamalı teslim yaklaşımını iş neden aşama aşama yapılmalı yazısında anlattım.

Sık yapılan hatalar

  • App Store kurallarını sonradan okumak. Ödeme veya hesap silme akışı sonradan mimariyi değiştirir.
  • Gizlilik metinlerini kopyalamak. Uygulamanın gerçekte topladığı veriyle uyuşmayan beyan reddedilir.
  • Yalnızca en yeni cihazda test etmek. Eski cihazlarda performans ve bellek sorunları çıkar.
  • Erişilebilirliği atlamak. Dinamik yazı boyutu ve ekran okuyucu desteği sonradan eklenmesi zor işlerdir.
  • Güncelleme planı yapmamak. Yeni iOS sürümleri ve mağaza kuralları düzenli takip ister.

Sık sorulan sorular

iOS uygulaması için Swift mi Objective-C mi?

Yeni projelerde Swift açık ara doğru tercih. Objective-C yalnızca eski kod tabanlarıyla entegrasyon veya bakımı bırakılmamış üçüncü taraf bileşenler için gündeme gelir.

SwiftUI mi UIKit mi kullanılmalı?

Yeni ekranlarda SwiftUI genellikle daha hızlı ve sürdürülebilir. Karmaşık animasyon, eski sürüm desteği veya mevcut UIKit bileşenleri gerekiyorsa hibrit yapı kurulur.

Native iOS mi Flutter mı?

Apple'a özgü deneyim, derin donanım entegrasyonu veya yalnızca iOS hedefi varsa native; iki platforma birlikte çıkılacaksa Flutter çoğu projede daha verimlidir.

App Store incelemesi ne kadar sürer?

Genellikle 1-3 gün. İlk yayında gizlilik beyanı, hesap silme akışı ve ödeme kuralları gibi başlıklar ek inceleme gerektirebilir.

Mevcut iOS uygulamasına özellik eklenebilir mi?

Evet. Mevcut kod tabanı ve mimari incelenir; riskli bölgeler belirlenir ve yeni özellik mevcut yapıyı bozmayacak şekilde eklenir.

iOS uygulamasının bakımı nasıl yürür?

Yeni iOS sürümleri, mağaza kural değişiklikleri ve güvenlik yamaları düzenli takip ister. Bakım planı sürüm takvimi, çökme takibi ve kritik güncellemeleri kapsar.