İOS (SWİFT) EĞİTİMİ
Bu eğitim, Swift ile modern iOS uygulamaları geliştirirken ihtiyaç duyacağınız temel ve ileri seviye pratikleri tek bir akışta birleştirir. Katılımcılar, sürdürülebilir mimari, performans, hata yönetimi ve kullanıcı deneyimi gibi kritik alanlarda gerçek hayata yakın örneklerle ilerleyerek daha tutarlı ve bakımı kolay uygulamalar geliştirebilir.
Eğitim boyunca UIKit ve SwiftUI yaklaşımlarını, ağ katmanı ve veri yönetimini, test stratejilerini ve dağıtım süreçlerini birlikte ele alırız. Böylece ekip, geliştirme hızını artıran alışkanlıklar kazanır ve ürün kalitesini ölçülebilir biçimde yükseltmek için ortak standartlar oluşturur.
Katılımcı Profili
Bu eğitim, iOS geliştirme ekibinin ortak bir teknik dil ve pratik standartlar oluşturmasını hedefler.
- iOS Geliştiriciler: Ürün odaklı geliştirme pratiğini güçlendirmek
- Mobil Takım Liderleri: Kod standardı ve mimari kararları netleştirmek
- Frontend Geliştiriciler: Mobil geçiş için pratik temel kazanmak
- QA Mühendisleri: Test stratejisini iOS akışına uyarlamak
- Ürün Ekipleri: Teknik kısıtları doğru beklentiye çevirmek
Ön Gereklilikler
Katılımcıların eğitimden en iyi verimi alabilmesi için aşağıdaki temel bilgi ve araçlara aşinalık önerilir.
- Temel programlama kavramları ve nesne yönelimli düşünme
- Swift sözdizimi hakkında başlangıç seviyesinde bilgi
- MacOS üzerinde Xcode kurulu bir geliştirme ortamı
- Git ile temel commit ve branch kullanım deneyimi
- Mobil uygulama yaşam döngüsü ve ekran akışı farkındalığı
Süresi ve Tarihi
Süre: 4 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.
Kazanımlar
Eğitim sonunda ekip, iOS uygulamalarını daha tutarlı, güvenilir ve ölçeklenebilir şekilde geliştirmek için pratik bir yol haritasına sahip olur.
- Swift ile modern iOS geliştirme akışını uçtan uca kurma
- UIKit ve SwiftUI yaklaşımını doğru senaryoda seçebilme
- Temiz mimariyle ekran, servis ve veri katmanlarını ayırma
- Asenkron işlemler, hata yönetimi ve performans optimizasyonu uygulama
- XCTest ile birim ve UI testleri tasarlayıp otomatikleştirme
- Debugging ve profiling araçlarıyla sorunları hızlı teşhis etme
- CI/CD pipeline ile build, test ve dağıtım süreçlerini standardize etme
- Mobil güvenlik risklerini tanıyıp temel önlemleri uygulama
iOS (Swift) Eğitimi Konuları
1. iOS (Swift) Eğitimi - iOS geliştirme ekosistemi ve hedefler
- iOS proje yapısını ve temel dosyaları tanıma
- Geliştirme sürecini ekip standartları ile hizalama
- Hedef cihazları planlar ve sürüm stratejisini belirlersiniz çünkü uyumluluk kritiktir
- Uygulama akışını ekranlar üzerinden hızlıca modelleme
- Roller ve sorumluluklar için geliştirme ritmi oluşturma ile hız kazanma
2. iOS (Swift) Eğitimi - Swift dil temelleri ve modern söz dizimi
- Swift tip sistemi ve optionals kullanımını netleştirme
- Collection tipleri ile veri işleme yaklaşımını kurma için pratik yapma
- Protocol ve extension kullanımını öğrenirsiniz ve tekrar eden kod azalır
- Fonksiyonel düşünme ile map, filter, reduce akışlarını uygulama
- Hata yönetimi için throw, do-catch desenlerini örnekleme ile pekiştirme
3. Xcode, proje yapısı ve Swift Package Manager
- Xcode ayarlarını ve build konfigürasyonlarını düzenleme
- SPM ile bağımlılık yönetimini kurma için doğru strateji seçme
- Modüler yapıyı tasarlarsınız ama gereksiz ayrışmayı önlersiniz
- Environment değişkenleri ile farklı ortamlara hazırlık yapma
- Proje temizliği ve naming standardı belirleme ile okunabilirliği artırma
4. UIKit temelleri ve ekran yaşam döngüsü
- ViewController yaşam döngüsünü doğru yerde kullanma
- Auto Layout ile responsive arayüz kurma için pratik kazanma
- TableView ve CollectionView kullanırsınız ve performansı korursunuz
- Navigasyon akışlarını tasarlayıp kullanıcı yönlendirmesini netleştirme
- Component yaklaşımı ile tekrar kullanılabilir arayüz parçaları oluşturma
5. SwiftUI yaklaşımı ve veri akışı
- SwiftUI view yapısını ve composable tasarımı tanıma
- State ve Binding ile veri akışını yönetme için doğru desen seçme
- ObservableObject kullanırsınız ama gereksiz yeniden çizimi engellersiniz
- NavigationStack ve routing ile akışları modernleştirme
- UIKit entegrasyonu için UIHostingController kullanımını uygulama
6. Uygulama mimarisi: MVVM ve Clean yaklaşımı
- Mimari ihtiyaçları ürün gereksinimine göre değerlendirme
- MVVM katmanlarını ayırma için sorumluluk sınırları çizme
- Use case yapısını kurarsınız ve test edilebilirliği artırırsınız
- Dependency Injection ile bağımlılıkları yönetme yaklaşımı oluşturma
- Feature bazlı modülerleşme ile ekip paralelliğini artırma
7. Networking: URLSession, async/await ve hata yönetimi
- API sözleşmesini ve endpoint modelini tanımlama
- async/await ile istek akışını kurma için okunabilirlik sağlama
- Retry ve timeout tasarlarsınız ama kullanıcı deneyimini korursunuz
- HTTP hata sınıfları için merkezi hata modellemesi oluşturma
- Mock servislerle geliştirme ve test sürecini hızlandırma
8. Veri yönetimi: Codable, Cache ve persistence seçenekleri
- Codable ile model dönüşümlerini güvenli kurma
- Cache stratejisi belirleme ile hız ve maliyet dengesini sağlama
- Core Data veya alternatifleri seçersiniz çünkü veri büyümesi önemlidir
- Keychain ile hassas verileri saklama yaklaşımını uygulama
- Offline senaryolar için senkronizasyon akışını tasarlama
9. Concurrency: Task, actor ve thread güvenliği
- Asenkron işlemlerin risklerini ve yarış durumlarını tanıma
- Actor ile paylaşımlı durum yönetimini kurma için güvenlik sağlama
- MainActor kullanımını öğrenirsiniz ama UI kilitlenmesini önlersiniz
- Cancellation ve timeout ile uzun işler için kontrol mekanizması kurma
- Performans ölçümü ile concurrency tasarımını iyileştirme
10. Hata ayıklama: Breakpoint, logging ve Crash analizleri
- Breakpoint türleri ile davranışları izole etme
- Log stratejisi oluşturma için anlamlı seviye ve format seçme
- Symbolication akışını anlarsınız ve crash kaynağını bulursunuz
- Runtime sorunlarını hızlı teşhis etmek için pratik senaryolar çözme
- Gözlemlenebilirlik yaklaşımı ile üretim sorunlarını azaltma
11. Performans: Instruments ile profiling ve optimizasyon
- CPU ve memory ölçümü yaparak darboğazları belirleme
- Leak tespiti için Instruments kullanımını öğrenme ile sorun azaltma
- Render performansını iyileştirirsiniz ve kaydırma akıcılığı artar
- Arkaplan işleri için uygun queue stratejisi belirleme
- Enerji tüketimini azaltan tasarım kararları uygulama
12. Test stratejisi: Unit test ve UI test yaklaşımı
- Test piramidini iOS senaryolarına uyarlama
- Mock ve stub ile bağımlılıkları izole etme için pratik kazanma
- XCTestCase tasarlarsınız ama flaky testleri azaltırsınız
- UI testlerinde erişilebilirlik etiketlerini doğru kullanma
- Coverage hedefi belirleyip ekip içinde sürdürülebilir hale getirme
13. Uygulama yaşam döngüsü, bildirimler ve arka plan işlemleri
- Scene ve App lifecycle farklarını doğru yönetme
- Push bildirim akışını tasarlama için token ve izin süreçlerini netleştirme
- Background task yönetirsiniz ve veri güncellemelerini güvenceye alırsınız
- Deep link ve universal link ile kullanıcı yönlendirmelerini kurgulama
- Uygulama içi yönlendirme için router yaklaşımı belirleme
14. Yayınlama: Provisioning, TestFlight ve App Store süreçleri
- Sertifika ve profil mantığını anlaşılır şekilde modelleme
- Release notları hazırlama için sürümleme disiplinini oturtma
- TestFlight akışını kurarsınız ve geri bildirim döngüsünü hızlandırırsınız
- Crash ve metrik takibi ile yayın sonrası kaliteyi artırma
- Hotfix stratejisi ile riskleri kontrol altında tutma
15. Kod kalitesi: Lint, format ve review standartları
- Kod formatını ekip standardına bağlama
- Review checklist oluşturma için hataları erken yakalama
- Refactor planlarsınız ama ürün akışını kesintiye uğratmazsınız
- Basit ve okunur API tasarımı için isimlendirme kuralları belirleme
- Tekrarlanan kodları azaltmak için utility ve extension stratejisi kurma
16. Ek Modül: Mobil Uygulama Best Practices (iOS odaklı)
- Ekran tasarımında erişilebilirlik standartlarını uygulama
- State yönetimini sadeleştirme için tek kaynak yaklaşımı seçme
- Networking katmanını şeffaf kurarsınız ve hata ayıklama kolaylaşır
- Konfigürasyon yönetimi ile ortam farklılıklarını kontrol etme
- Analitik ve event isimlendirmesinde tutarlılık sağlama
17. Ek Modül: Mobil Test ve CI/CD (iOS pipeline)
- CI üzerinde build ve test adımlarını sıralama
- Fastlane ile otomasyon kurma için imzalama süreçlerini standardize etme
- Parallel test koşarsınız ama kaynak kullanımını dengelersiniz
- Artifact ve log yönetimi ile hata analizini hızlandırma
- Branch stratejisi ile release akışını güvenli hale getirme
18. Ek Eğitim: Mobil Güvenlik (OWASP Mobile + Keychain pratikleri)
- OWASP Mobile risklerini iOS senaryolarına göre önceliklendirme
- Mobil tehdit modellemesi yapma için varlıkları doğru sınıflandırma
- Keychain erişim seviyelerini belirlersiniz ve veri sızıntısını azaltırsınız
- Yerel veri saklamada şifreleme stratejilerini standartlaştırma
- SSL pinning yaklaşımını uygularsınız ama operasyonel riski yönetirsiniz
- Jailbreak tespiti ve runtime kontrolleri ile saldırı yüzeyini daraltma
- Log ve crash çıktılarında hassas veri maskeleme ile uyum sağlama
- Yetkilendirme tokenlarını yönetme için yenileme ve iptal akışları kurma
- Reverse engineering risklerini azaltmak için obfuscation farkındalığı oluşturma
- Güvenlik test planı hazırlama ile denetimleri düzenli hale getirme
iOS (Swift) Eğitimi ile İlgili
Sıkça Sorulan Sorular ve Cevapları
UIKit mi yoksa SwiftUI mı odaklanılıyor, ikisi birlikte ele alınıyor mu?
Eğitimde her iki yaklaşım da ele alınır. UIKit ile temel ekran ve yaşam döngüsü pratikleri yapılır; SwiftUI tarafında modern view yapısı, state yönetimi ve entegrasyon senaryoları üzerinde çalışılır.
Networking ve veri yönetimi kısmında hangi pratikler öğretiliyor?
URLSession ve async/await ile istek akışı kurulur; hata modelleme, retry ve mock servis yaklaşımları uygulanır. Codable, cache stratejileri ve kalıcı veri seçenekleri üzerinden örnekler geliştirilir.
Mimari bölümünde hangi yaklaşımlar üzerinden ilerleniyor?
MVVM ve Clean yaklaşımı üzerinden katman ayrımı, sorumluluk sınırları, dependency injection ve feature bazlı modülerleşme ele alınır. Amaç, test edilebilirlik ve sürdürülebilir kod tabanı oluşturmaktır.
Test konusu hangi seviyede işleniyor ve hangi tür testler yapılıyor?
Birim testleri ve UI testleri birlikte ele alınır. Mock/stub ile izolasyon, flaky testleri azaltma, erişilebilirlik etiketleri ve coverage hedefleri gibi pratikler üzerinden örnek uygulamalar yapılır.
Eğitim içeriğini ihtiyaçlarımıza göre özelleştirebilir misiniz?
Evet. Eğitim öncesinde ihtiyaç analizi yaparak içerik ve örnekleri ekibinize göre uyarlayabiliriz. Modüller eklenebilir, bazı başlıklar derinleştirilebilir veya sadeleştirilebilir.
Eğitim yeri, yöntemi ve sertifikasyon süreci nasıl ilerliyor?
Eğitim online (canlı) veya yerinde gerçekleştirilebilir; tarih ve saatleri ekibinizin uygunluğuna göre planlarız. Program sonunda katılım sertifikası verilir; talep edilirse ölçme-değerlendirme ve raporlama eklenebilir.



