Eğitim İçeriği

Giriş

1. Hafta: Gelişmiş Swift, Kotlin ve JavaScript Kavramları

  • Swift (iOS)
    • Gelişmiş fonksiyonlar: Kapanışlar, değer yakalama, yüksek sıralı fonksiyonlar
    • Protokol odaklı programlama ve jenerikler
    • Otomatik Referans Sayımı (ARC) ile bellek yönetimi
  • Kotlin (Android)
    • Uzantı fonksiyonları ve Kotlin Standart Kütüphanesi
    • Eşzamansız programlama için korutinler
    • Mühürlenmiş sınıflar, enumlar ve gelişmiş hata işleme
  • JavaScript (React Native)
    • Gelişmiş ES6+ özellikleri: Yapılandırma, async/await, vaatler
    • JavaScript’da fonksiyonel programlama kavramları
    • React Native’de üçüncü taraf kütüphanelerle çalışma

2. Hafta: Mobil Uygulama Mimarisi ve Design Patterns

  • MVVM (Model-Görünüm-ViewModel) iOS ve Android için
    • iOS (Swift) ve Android (Kotlin) için MVVM mimarisini anlama
    • ViewModel’leri uygulama ve LiveData (Android) ve Combine (iOS) ile verileri gözlemleme
    • Reactive programlama RxSwift ve RxKotlin ile
  • React Native’de Bileşen Tabanlı Mimari
    • Bileşen yaşam döngülerini ve kancaları anlama
    • Ölçekte durumu ve özellikleri yönetmek için en iyi uygulamalar
    • Küresel durum yönetimi için React Bağlam API’sini kullanma

3. Hafta: Gelişmiş Networking Kavramları

  • iOS (Swift)’de Networking
    • Özel ağ istekleri için URLSession ile çalışma
    • Gelişmiş REST API çağrıları ve hata işleme
    • Codable ve JSON ayrıştırması ile çalışma
    • Güvenli API iletişimi için en iyi uygulamalar (SSL sabitleme, OAuth)
  • Android (Kotlin)’de Networking
    • API çağrıları yapmak ve yanıtları işlemek için Retrofit
    • Gelişmiş API hata işleme ve yeniden deneme mekanizmaları
    • JSON ayrıştırması için Gson veya Moshi kullanma
    • HTTPS ve OAuth kimlik doğrulaması ile güvenli iletişim

4. Hafta: React Native’de Networking

  • Axios ve Fetch ile API Entegrasyonu
    • Axios ve Fetch ile gelişmiş API entegrasyonu
    • Ağ isteklerinde hata işleme stratejileri ve yeniden denemeler
    • Kimlik doğrulama (JWT, OAuth) ile çalışma
  • WebSockets ve Gerçek Zamanlı Communication
    • React Native’de WebSockets’e giriş
    • WebSocket bağlantıları ile gerçek zamanlı sohbet veya bildirim özellikleri oluşturma
    • Kalıcı bağlantıları ve veri güncellemelerini yönetme

5. Hafta: Gelişmiş Veri Kalıcılık Teknikleri

  • Core Data ve SQLite (iOS)
    • Gelişmiş Core Data ilişkileri, alma ve sorgular
    • iOS uygulamaları için SQLite’ü doğrudan kullanma ve veritabanı bağlantılarını yönetme
    • Verimli veri işleme ve optimizasyon
  • Room Persistence ve SQLite (Android)
    • Gelişmiş Room veritabanı ilişkileri ve sorgular
    • Büyük veri kümelerini yönetme ve veritabanı performansını optimize etme
    • Veritabanı yapısını güvence altına almak için ProGuard kullanma
  • Firebase Bulut Depolama için (iOS ve Android)
    • Gerçek zamanlı veritabanı yönetimi için Firebase ile entegrasyon
    • Yerel ve bulut verilerini senkronize etmek için en iyi uygulamalar

6. Hafta: Gelişmiş State Management React Native’de

  • Redux State Management için
    • Gelişmiş Redux kavramları: Ara katmanlar, Thunk’lar ve Sagalar
    • Performans ve ölçeklenebilirlik için Redux’yi optimize etme
  • Recoil State Management için
    • Recoil’e giriş: Redux’ye daha esnek bir alternatif
    • Bileşenler arasında büyük ölçekli durum yönetimi
    • Verimli durum güncellemeleri ve atomik durum yönetimi

7. Hafta: Gelişmiş Animation’lar iOS ve Android’de

  • iOS (Swift)
    • Çekirdek Animation: Görünümleri, katmanları ve geçişleri canlandırma
    • UIKit Dynamics: Fizik tabanlı animasyonlar oluşturma
    • Görünüm denetleyicileri arasındaki özel geçişler ve animasyonlar
  • Android (Kotlin)
    • Karmaşık animasyonlar oluşturmak için MotionLayout
    • TransitionManager ve paylaşılan öğe geçişleri
    • Görünüm ölçeklendirmesi, döndürmesi ve alfa değişiklikleri için özellik animasyonları

8. Hafta: React Native’de Animation’lar ve UI/UX

  • React Native Animation’lar
    • Karmaşık animasyonlar için Animated API ve Reanimated’ı kullanma
    • React Native Gesture Handler ile jestler ve etkileşimler uygulama
    • React Native’de performanslı animasyonlar için en iyi uygulamalar
  • Özel UI Bileşenleri Oluşturma
    • React Native’de yeniden kullanılabilir ve özelleştirilebilir bileşenler oluşturma
    • Medya sorguları ve flexbox ile duyarlı tasarımlar uygulama

9. Hafta: Yerel Modüller ve Cihaz Özelliklerini Entegre Etme

  • Yerel Cihaz Özelliklerini Entegre Etme
    • Kamera, konum, Bluetooth ve sensörlerin gelişmiş kullanımı
    • Swift ve Kotlin’de React Native entegrasyonu için yerel modüller oluşturma
    • iOS’de artırılmış gerçeklik için ARKit’i entegre etme
    • Android’de artırılmış gerçeklik için CameraX ve ARCore’i entegre etme
  • React Native Köprüsü ve Yerel Modüller
    • Platforma özgü işlevlerle entegre olmak için özel yerel modüller oluşturma
    • Java ve Swift köprüleri oluşturma React Native uygulamaları için
    • Çapraz platform ortamında yerel kodu yönetmek için en iyi uygulamalar

10. Hafta: Gelişmiş Uygulamaları Test Etme ve Hata Ayıklama

  • iOS (Swift)’de Test Etme
    • XCTest ve UI testleri ile birim testleri yazma iOS için
    • Performans profillemesi ve bellek sızıntıları için Xcode Instruments’ı kullanma
    • Sürekli entegrasyon ve test iş akışları için Jenkins ve CircleCI
  • Android (Kotlin)’de Test Etme
    • Gelişmiş JUnit ve Espresso testleri Android uygulamaları için
    • Performansı profilleme ve darboğazları belirleme Android Profiler ile
    • Çoklu cihazda otomatik test için Firebase Test Lab’ı kullanma
  • React Native Test Etme
    • Birim testleri Jest ile ve bileşen testleri Enzyme ile
    • Uçtan uca testler Detox ile ve otomatik test kurulumları
    • Performans profillemesi React Native Debugger ve Flapper ile

11. Hafta: Uygulama Dağıtımı ve Sürekli Entegrasyon

  • App Store (iOS) Dağıtımı
    • Uygulamanızı göndermeye hazırlama: App Store sertifikaları, sağlama profilleri ve TestFlight beta testi
    • iOS uygulama dağıtımını otomatikleştirmek için Fastlane’i kullanma
    • App Store Connect’i yönetme ve uygulama inceleme süreçlerini ayarlama
  • Google Play (Android) Dağıtımı
    • APK’yı hazırlama ve Google Play gönderimi için imzalamak
    • Fastlane ve Gradle ile Android uygulama dağıtımını otomatikleştirmek
    • Uygulama incelemesi ve beta testi için Google Play Console’u kullanma
  • CI/CD İşlem Hatları Kurma
    • Jenkins, GitHub Actions veya CircleCI ile otomatik oluşturma ve dağıtım işlem hatları yapılandırma
    • Hem iOS hem de Android için Fastlane’i kullanma
    • Sürüm oluşturma, oluşturma numaraları ve yayın kanalları için en iyi uygulamalar

12. Hafta: Kapsam Projesi

  • Son Proje Geliştirme
    • Ders boyunca öğrenilen gelişmiş özellikler içeren tamamen işlevsel bir uygulama tasarlayın ve geliştirin.
    • Özel UI/UX, gelişmiş animasyonlar, durum yönetimi, yerel modül entegrasyonu ve gerçek zamanlı API iletişimi uygulayın.
    • Uygulamayı performans için optimize edin ve App Store ve Google Play’e dağıtın.

Özet ve Sonraki Adımlar

Kurs İçin Gerekli Önbilgiler

  • Programlama kavramlarına, özellikle Swift, Kotlin ve JavaScript alanlarında sağlam bir anlayış
  • Daha önce temel iOS, Android veya React Native uygulamaları oluşturma deneyimi
  • MVC veya MVVM gibi tasarım kalıplarına ve temel durum yönetimine ilişkin bilgi

Hedef Kitle

  • Mobil uygulama geliştiricileri
  • Programcılar
 420 Saat

Katılımcı Sayısı


Kişi Başına Fiyat

Danışanlarımızın Yorumları (5)

Yaklaşan Etkinlikler

İlgili Kategoriler