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
Danışanlarımızın Yorumları (5)
Edward is an awesome facilitator
Zibusiso Ncube - Agricatural Research Council
Eğitim - Ionic 4 and Angular for Developers
My favorite part is question and answer with Sir. Jose. He is very knowledgeable and know the answer to our questions.
John Henry - Toyota Motor Philippines
Eğitim - .NET MAUI (Intermediate)
Maybe more exercises could be better for lerning but the time was to little
Gianpiero Arico' - Urmet Spa
Eğitim - Embedded Linux Systems Architecture
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Eğitim - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic