Eğitim İçeriği
Giriş
1. Hafta: Mobil Geliştirme Genel Bakış
- Mobil Ekosistem ve Platformlar- Mobil işletim sistemleri genel bakış (iOS ve Android)
- iOS, Android ve çapraz platform geliştirimi arasındaki temel farklar
- Popüler uygulama mağazaları (Apple App Store, Google Play Store)
- Yerel, hibrit ve çapraz platform geliştirmesine giriş
 
- Yerel vs Hibrit vs Çapraz Platform- Her geliştirme yönteminin avantajları ve zorlukları
- Swift (iOS için), Kotlin (Android için) ve React Native (çapraz platform) genel bakış
- Kodun mobil platformlara nasıl çevrildiği (React Native'de JavaScript'in yerel koda çevirisi)
 
- Programlama Temelleri- Programlama kavramlarına giriş (değişkenler, veri türleri, fonksiyonlar, kontrol akışı)
- Swift, Kotlin ve JavaScript sözdizimi karşılaştırması
- Swift, Kotlin ve JavaScript kullanarak basit programlar yazma
 
- Geliştirme Ortamlarının Kurulumu- Xcode ve Android Studio'yu kurma
- React Native CLI ve Expo'yı kurma
- Simülatörlerde ve emülatörlerde temel "Hello World" uygulamalarını çalıştırmak
 
2. Hafta: Swift, Kotlin ve JavaScript'e Giriş
- iOS için Swift Programlama- Swift'teki değişkenler, sabitler ve veri türleri
- Kontrol akışı ifadeleri (if,switch, döngüler)
- Swift fonksiyonları ve parametreleri
- Xcode arayüzüne ve Swift Playgrounds'a giriş
 
- Android için Kotlin Programlama- Kotlin'deki değişkenler, veri türleri ve fonksiyonlar
- Kotlin'ın null güvenliği anlayışını anlamak
- Kontrol akışı ve döngü yapıları
- Android Studio arayüzüne ve Kotlin Playground'a giriş
 
- React Native için JavaScript- JavaScript'teki değişkenler, sabitler ve kontrol akışı
- ES6 özellikleri: ok fonksiyonları, şablon dizgeleri ve parçalama
- Expo kullanarak React Native'de basit JavaScript programları yazma ve çalıştırma
 
3. Hafta: iOS Kullanıcı Arayüzü Tasarımı
- iOS'ta Kullanıcı Arayüzü Elemanları- UIKit ve SwiftUI'e giriş
- Düğmeler, etiketler ve metin alanları gibi kullanıcı arayüzü elemanlarını eklemek ve özelleştirmek
- Kullanıcı arayüzünü tasarlamak için Interface Builder kullanma
- Storyboards ile çok ekrana sahip kullanıcı arayüzleri tasarlama
 
- Otomatik Düzen ve Kısıtlamalar- Otomatik Düzen sistemi anlayışını anlamak
- Farklı ekran boyutları için yanıt veren düzenler oluşturmak için kısıtlamaları kullanma
- Stack views oluşturma ve kullanıcı arayüzü elemanlarını dinamik olarak ayarlama
 
- SwiftUI Temelleri- SwiftUI'de bildirimsel kullanıcı arayüzü tasarımı anlayışına giriş
- Basit kullanıcı arayüzü bileşenleri oluşturmak için SwiftUI kullanma
 
4. Hafta: Android Kullanıcı Arayüzü Tasarımı
- Android'ta XML Düzenleri- XML tabanlı düzen tasarımı anlayışına giriş
- Sıkça kullanılan düzenlerle çalışma: LinearLayout, RelativeLayout, ConstraintLayout
- Düğmeler, metin görünümleri, görüntü görünümleri gibi kullanıcı arayüzü elemanlarını eklemek ve özelleştirmek
- Yanıt veren ve dinamik düzenler için ConstraintLayout kullanma
 
- Material Design- Renk, simge, tipografi gibi Material Design ilkelerini entegre etme
- Düğmeler, hareketli eylem düğmeleri, kartlar gibi Material Bileşenler kullanma
- Android uygulamaları için temalar ve stiller oluşturma
 
5. Hafta: React Native Kullanıcı Arayüzü Tasarımı
- React Native Flexbox Düzeni- Yanıt veren düzen tasarımı için Flexbox'un anlayışına giriş
- Sütun ve satır bazlı düzenler oluşturma
- Flexbox özelliklerini (justifyContent, alignItems vb.) kullanarak kullanıcı arayüzü bileşenlerini stilendirme
 
- React Native Bileşenleri- Kodlar gibi Text,View,TextInput, veButtongibi temel bileşenlerle çalışma
- Biçimlendirme ve düğmeler gibi etkileşimli kullanıcı arayüzü elemanları oluşturma
- Dinamik içerik için ScrollViewbileşenini kullanma
 
- Kodlar gibi 
6. Hafta: iOS ve Android'da Veri İşleme
- iOS Veri İşlemesi- Basit veri kalıcılığı için UserDefaults kullanımı
- Karmaşık verilerin yerel saklanması için Core Data anlayışına giriş
- API'lerden veri çekmek için URLSession kullanma
- JSON verisini ayrıştırma ve kullanıcı arayüzünde gösterme
 
- Android Veri İşlemesi- Küçük miktarlardaki verilerin saklanması için SharedPreferences kullanımı
- Veritabanlarını yönetmek için SQLite ve Room Persistence Library anlayışına giriş
- API'lerden veri çekmek için Retrofit kullanma
- JSON ayrıştırma ve API yanıtlarına karşı gelme
 
7. Hafta: React Native Durum Yönetimi ve API'ler
- Durum ve Props'un React Native'de Yönetimi- React Native bileşenleri içindeki veri akışı yönetimi
- Yerel bileşen durumunu yönetmek için useStatehook kullanma
- Babalar ve çocuk bileşenler arasında veri geçişini props aracılığıyla yapma
 
- React Native'de Veri Çekme- HTTP istekleri için Fetch API ve Axios kullanma
- Fethedilen verileri listelerde gösterme (using FlatList,SectionList)
- Yerel olarak veriyi kalıcı hale getirmek için React Native'de AsyncStorage kullanımı
 
8. Hafta: iOS ve Android'da Navigasyon
- iOS Navigasyonu- Navigasyon kontrollerine ve birden fazla ekrana yönetimine giriş
- Farklı görünüm kontrolörleri arasında geçiş yapmak için segues kullanma
- Görünüm kontrolörleri arasında veri geçişini yapma
- Yapılandırılmış navigasyon için TabBar ve NavigationBar uygulama
 
- Android Navigasyonu- Birden fazla ekrana sahip uygulamalar için Etkinlikler ve Amaçlar ile çalışma
- Etkinlikler arasında veri geçişini yapmak için Bundles kullanımı
- Navigasyon Çekmece (Navigation Drawer) ve Alt Navigasyon Gözatma (BottomNavigationView) oluşturma
- Flexible UI navigasyonu için fragmentler uygulama
 
9. Hafta: React Native'de Navigasyon
- React Navigation Temelleri- React Navigation'ı kurma ve ayarlama
- Ekrandaki geçişleri sağlamak için Stack Navigator kullanımı
- Karmaşık navigasyon için Tab Navigator ve Drawer Navigator uygulama
- Ekraneler arasında parametrelerin geçilmesi ve navigasyon durumunun yönetilmesi
 
10. Hafta: İleri Özellikler
- iOS İleri Özellikler:- Kore Konum ve Haritalar- Cihaz konumuna erişmek için Core Location kullanımı
- Haritaları göstermek için MapKit kullanımı
- Konum belirleme ve kullanıcı konumu takip etme
 
- Kamera ve Medya- Cihaz kamerasına ve fotoğraf kitaplığına erişim
- UIImagePickerController kullanarak fotoğrafları yakalama ve gösterme
- Medya dosyalarını saklama ve alma
 
 
- Kore Konum ve Haritalar
- Android İleri Özellikler- Konum ve Haritalar- Kullanıcı konusunu ve GPS verisini yönetmek için Google Maps API kullanımı
- Cihazın konumuna erişim ve konum belirleme
 
- Kamera ve Medya- Fotografları yakalama ve kamera izinlerini işlemek için CameraX kullanımı
- Resimleri göstermek ve medya saklamayı işlemek
 
 
- Konum ve Haritalar
- React Native İleri Özellikler- React Native Haritalar- react-native-mapskullanarak haritaları entegre etme
- Konum tabanlı hizmetleri (konum belirleme, rota çizimi) yönetme
 
- Kamera ve Medya Erişimi- Fotografları yakalamak için React Native Camera kitaplığı kullanımı
- Cihaz medya saklamasına erişim ve dosyaları işlemek
 
 
- React Native Haritalar
11. Hafta: Hata Ayıklama ve Test
- iOS Hata Ayıklama ve Test- Xcode hata ayıklayıcısı kullanımı- Xcode'da kesme noktaları kurma ve değişkenleri inceleme
- Konsolu gerçek zamanlı hata ayıklama için kullanma
- Ortak hata ayıklama sorunları ve bunların çözümü
 
- iOS'ta Birim Testi- XCTest çerçevesini kullanarak birim testleri yazma ve çalıştırma
- Nesneleri taklit etme ve kullanıcı arayüzü bileşenlerini test etme
 
 
- Xcode hata ayıklayıcısı kullanımı
- Android Hata Ayıklama ve Test- Logcat'ı Android Studio'da kullanımı- Hataları günlüğe kaydetme ve analiz etme
- Kesme noktaları kullanarak Android uygulamalarını hata ayıklama
 
- Android'ta Birim Testi- JUnit kullanarak birim testleri yazma
- Espresso ile Android kullanıcı arayüzü bileşenlerini test etme
 
 
- Logcat'ı Android Studio'da kullanımı
- React Native Hata Ayıklama ve Test- React Native hata ayıklayıcı araçları kullanımı- Konsol günlükleri ve ağ isteklerini inceleme için Chrome DevTools ve React Native Debugger kullanma
 
- React Native'de Birim Testi- Jest ve Enzyme kullanarak birim testleri yazma
- React Native bileşenlerini test etme ve test durumlarını yönetme
 
 
- React Native hata ayıklayıcı araçları kullanımı
12. Hafta: Uygulama Dağıtımı ve Final Projesi
- Dağıtım ve Dağıtım- iOS App Store Gönderimi- Uygulamanızı dağıtım için hazırlama (ikonlar, sertifikalar, sağlama profilleri)
- App Store Connect'i kullanarak uygulamayı gözden geçirme için gönderme
- Beta testler için TestFlight kullanımı
 
- Android Play Store Gönderimi- Dağıtım için APK hazırlama ve uygulamayı imzalama
- Google Play Konsolu'nu kullanarak uygulama gönderme ve izleme
- Play Store politikalarını ve yönergelerini anlamak
 
 
- iOS App Store Gönderimi
- Final Proje Geliştirme- Son proje geliştirme- Seçtiğiniz tam işlevsel bir uygulama oluşturma
- API çağrıları, navigasyon, medya ve konum gibi ileri özelliklerin dahil edilmesi
- Eşlerine ve eğitmenlere son uygulamayı sunma ve demo etme
 
 
- Son proje geliştirme
Özet ve Sonraki Adımlar
Kurs İçin Gerekli Önbilgiler
- Programlama kavramlarına temel anlam
- JavaScript'e temel bilgi
Hedef Kitle
- Mobil geliştiriciler
- Programcılar
Danışanlarımızın Yorumları (5)
Çok faydalı ek bilgiler
Grzegorz - Comp S.A.
Eğitim - BLoC Pattern
Yapay Zeka Çevirisi
Edward harika bir facilitatordır
Zibusiso Ncube - Agricatural Research Council
Eğitim - Ionic 4 and Angular for Developers
Yapay Zeka Çevirisi
Belki daha fazla egzersiz öğrenmek için daha iyi olabilirdi, ancak zaman yetersizdi.
Gianpiero Arico' - Urmet Spa
Eğitim - Embedded Linux Systems Architecture
Yapay Zeka Çevirisi
Miguel'in konu hakkındaki bilgisi kapsayıcıydı. Eğitimini anlamaya kolay olan ve akışı dengeli hale getirdi; her bölümünü gerekliyse yeni özelliklerle geliştirdi. Tüm istenenleri kapsadı ve her soruya ayrıntılı olarak cevap verdi. Çok hoş bir deneyimdi.
Paul Coaton - SEMPCheck Services
Eğitim - Flutter Development Bootcamp with Dart
Yapay Zeka Çevirisi
Antrenör heyecanlı, nazik ve konuyu çok seviyordu
Isaac Murphy - Royal New Zealand Airforce
Eğitim - Build Native iOS and Android Apps with Flutter
Yapay Zeka Çevirisi
