Eğitim İçeriği
Giriş
1. Hafta: Mobil Geliştirme Genel Bakış
- Mobil Ekosistem ve Platformlar
- Mobil işletim sistemlerine genel bakış (iOS ve Android)
- iOS, Android ve çapraz platform geliştirimi arasındaki temel farklılıklar
- Popüler uygulama mağazaları (Apple App Store, Google Play Store)
- Yerel, hibrit ve çapraz platform geliştirmeye giriş
- Yerel vs Hibrit vs Çapraz Platform
- Her geliştirme yönteminin avantajları ve zorlukları
- iOS için Swift, Android için Kotlin ve çapraz platform için React Native genel bakış
- Kodu mobil platformlara çevirme (React Native'de JavaScript'in yerel koda çevrilmesi)
- Programlama Temelleri
- Değişkenler, veri türleri, fonksiyonlar ve kontrol akışı gibi programlama kavramlarına giriş
- Swift, Kotlin ve JavaScript sözdizimi karşılaştırması
- Swift, Kotlin ve JavaScript kullanarak basit programlar yazma
- Geliştirme Ortamlarını Kurma
- Xcode ve Android Studio'yu kurma
- React Native CLI ve Expo'yı kurma
- Simülatörler ve emülatörlerde temel "Hello World" uygulamalarını çalıştırma
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) - Fonksiyonlar ve parametreler Swift'te
- 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'in null güvenliği anlatımı
- 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 özellikler: ok fonksiyonları, şablon dizgileri ve ayrıştırma
- Expo kullanarak React Native'de temel JavaScript programları yazma ve çalıştırma
3. Hafta: iOS Kullanıcı Arayüzü Tasarımı
- iOS'taki Kullanıcı Arayüzü Elemanları
- UIKit ve SwiftUI'ye giriş
- Düğmeler, etiketler, metin alanları gibi kullanıcı arayüzü elemanlarını eklemek ve özelleştirmek
- Kullanıcı arayüzü tasarlama için Interface Builder kullanma
- Storyboards ile çalışmak ve çok ekrana dayalı kullanıcı arayüzleri tasarlamak
- Auto Layout ve Kısıtlamalar
- Auto Layout sisteminin anlaşılması
- Farklı ekran boyutlarında yanıt veren düzenler için kısıtlamalar kullanma
- Kümeleri oluşturmak ve kullanıcı arayüzü elemanlarını dinamik olarak ayarlamak için stack views kullanma
- SwiftUI Temelleri
- SwiftUI'de bildirimsel kullanıcı arayüzü tasarımına giriş
- SwiftUI kullanarak basit kullanıcı arayüzü bileşenleri oluşturma
4. Hafta: Android Kullanıcı Arayüzü Tasarımı
- Android'daki XML Düzenleri
- XML bazlı tasarımına giriş
- LinearLayout, RelativeLayout ve ConstraintLayout gibi yaygın düzenlerle çalışmak
- Düğmeler, metin görünümleri, görsel görünümler gibi kullanıcı arayüzü elemanlarını eklemek ve özelleştirmek
- Responsive ve dinamik düzenler için ConstraintLayout kullanma
- Material Design
- Renkler, simgeler, yazı tipleri gibi Material Design ilkelerini entegre etmek
- Düğmeler, kayan eylem düğmeleri, kartlar gibi Material Bileşenleri kullanmak
- Android uygulamaları için temalar ve stilleri uygulama
5. Hafta: React Native Kullanıcı Arayüzü Tasarımı
- React Native Flexbox Düzeni
- Yanıt veren tasarım için Flexbox'un anlaşılması
- Sütun ve satır bazlı düzenler oluşturma
- justifyContent, alignItems gibi Flexbox özelliklerini kullanarak kullanıcı arayüzü bileşenlerini stillendirme
- React Native Bileşenleri
Text,View,TextInputveButtongibi temel bileşenlerle çalışmak- Formlar ve düğmeler gibi etkileşimli kullanıcı arayüzü elemanları oluşturma
- Dinamik içerik için
ScrollViewbileşenini kullanma
6. Hafta: iOS ve Android'da Veri Yönetimi
- iOS Veri Yönetimi
- Basit veri kalıcılığı için UserDefaults kullanımı
- Karmaşık verinin yerel depolanması için Core Data'ya giriş
- API'lerden veri çekmek için URLSession kullanma
- JSON verisini ayrıştırma ve kullanıcı arayüzünde gösterme
- Android Veri Yönetimi
- Küçük miktarda verinin saklanması için SharedPreferences kullanımı
- Veritabanı yönetimi için SQLite ve Room Persistence Library'ye giriş
- Retrofit kullanarak API'lerden veri çekme
- JSON ayrıştırma ve API yanıtlarını işlemek
7. Hafta: React Native Durum Yönetimi ve API'ler
- Durum ve Props React Native'de
- React Native bileşenleri içinde veri akışını yönetme
- Bileşen durumunu yönetmek için
useStatehook'unu kullanma - Ebeveyn ve çocuk bileşenler arasında veri aktarımı için props'ları geçme
- React Native'de Veri Çekme
- HTTP istekleri yapmak için Fetch API ve Axios'un kullanımı
- Fetched veriyi listelerde göstermek (using
FlatList,SectionList) - React Native'de yerel olarak veriyi kalıcı hale getirmek için AsyncStorage kullanma
8. Hafta: iOS ve Android'da Navigasyon
- iOS Navigasyonu
- Navigasyon kontrollerine giriş ve çoklu ekranları yönetme
- View controller'lar arasında geçiş için segues kullanma
- View controller'lar arasında veri aktarımı
- TabBar ve NavigationBar kullanarak yapısal navigasyon uygulama
- Android Navigasyonu
- Çoklu ekranlı uygulamalar için Activites ve Intents ile çalışma
- Bundles kullanarak Activites arasında veri aktarımı
- Navigasyon Çekmece (Navigation Drawer) ve Alt Navigasyon Görünümü (BottomNavigationView) oluşturma
- Esnek kullanıcı arayüzü navigasyonu için fragmentler uygulama
9. Hafta: React Native'de Navigasyon
- React Navigation Temelleri
- React Navigation'ı kurma ve ayarlama
- Ekran geçişleri için Stack Navigator kullanma
- Karmaşık navigasyon için Tab Navigator ve Drawer Navigator uygulama
- Ekranlar arasında parametreler geçme ve navigasyon durumunu yönetme
10. Hafta: Gelişmiş Özellikler
- iOS Gelişmiş Özellikleri:
- Konum ve Haritalar
- Cihaz konumuna erişmek için Core Location kullanımı
- Harita göstermek için MapKit kullanımı
- Coğrafi konum ve kullanıcı konum izlemeyi yönetme
- Kamera ve Medya
- Cihaz kamerasına ve fotoğraf kitaplığına erişim
- UIImagePickerController kullanarak resimleri çekmek ve göstermek
- Medya dosyalarını depolama ve alma
- Konum ve Haritalar
- Android Gelişmiş Özellikleri
- Konum ve Haritalar
- Kullanıcı konumu ve harita göstermek için Google Maps API'si kullanımı
- GPS verilerine erişim ve coğrafi konumu yönetme
- Kamera ve Medya
- Cihaz izinlerini yöneterek fotoğraf çekmek için CameraX kullanımı
- Görüntülerin gösterilmesi ve medya depolamanın yönetilmesi
- Konum ve Haritalar
- React Native Gelişmiş Özellikleri
- React Native Haritalar
- Harita entegre etmek için
react-native-maps'ı kullanma - Coğrafi konum hizmetlerini (geolocation, rota haritası) yönetme
- Harita entegre etmek için
- Kamera ve Medya Erişimi
- Fotoğraf çekmek için React Native Camera kütüphanesini kullanma
- Cihaz medya depolamasına erişim ve dosyaların yönetilmesi
- React Native Haritalar
11. Hafta: Hata Ayıklama ve Test
- iOS Hata Ayıklama ve Test
- Xcode hata ayıklayıcısı kullanma
- Xcode'da kesme noktaları kurma ve değişkenleri incelemek
- Konsolu gerçek zamanlı hata ayıklama için kullanma
- Ortak hata ayıklama sorunları ve bunların çözülmesi
- iOS'ta Unit Test
- XCTest framework'ü kullanarak unit testler yazma ve çalıştırma
- Kesme nesneleri oluşturma ve kullanıcı arayüzü bileşenleri test etme
- Xcode hata ayıklayıcısı kullanma
- Android Hata Ayıklama ve Test
- Android Studio'da Logcat kullanımı
- Hataları kaydetme ve analiz etmek için Logcat kullanma
- Kesme noktaları ile Android uygulamalarını hata ayıklama
- Android'da Unit Test
- JUnit kullanarak unit testler yazma
- Espresso kullanarak Android kullanıcı arayüzü bileşenleri test etme
- Android Studio'da Logcat kullanımı
- React Native Hata Ayıklama ve Test
- React Native hata ayıklama araçları
- Chrome DevTools ve React Native Debugger kullanarak gerçek zamanlı hata ayıklama
- Konsol günlüklerini ve ağ isteklerini incelemek için konsol günlükleri kullanımı
- React Native'de Unit Test
- Jest ve Enzyme kullanarak unit testler yazma
- React Native bileşenlerini test etme ve test durumlarını yönetme
- React Native hata ayıklama araçları
12. Hafta: Uygulama Dağıtımı ve Kapsül Proje
- Dağıtım ve Dağıtım
- iOS App Store Gönderimi
- Dağıtım için uygulamanızı hazırlama (ikonlar, sertifikalar, sağlama profilleri)
- App Store Connect kullanarak uygulamayı incelemeye gönderme
- Beta test için TestFlight kullanımı
- Android Play Store Gönderimi
- Dağıtım için APK hazırlama ve uygulamanızı imzalama
- Google Play Konsolu kullanarak uygulama gönderme ve izleme
- Play Store politikalarını ve yönergelerini anlama
- iOS App Store Gönderimi
- Kapsül Proje Geliştirimi
- Son proje geliştirme
- Bir tam işlevsel uygulama oluşturma
- API çağrıları, navigasyon, medya ve konum gibi gelişmiş özelliklerin dahil edilmesi
- Final uygulamayı eşlerine ve eğitmenlere sunma ve demo etme
- Son proje geliştirme
Özet ve Sonraki Adımlar
Kurs İçin Gerekli Önbilgiler
- Programlama kavramlarına temel bir anlayış
- JavaScript'e temel bir 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 fasilitatördür
Zibusiso Ncube - Agricatural Research Council
Eğitim - Ionic 4 and Angular for Developers
Yapay Zeka Çevirisi
Belki daha fazla egzersiz öğrenmeye daha iyi olabilirdi, ancak zaman çok azdı.
Gianpiero Arico' - Urmet Spa
Eğitim - Embedded Linux Systems Architecture
Yapay Zeka Çevirisi
Miguel konusunun uzmanıydı. Eğitimleri anlaşılır hale getirdi ve akışı dengeliydi; her bölümüne gereğinde yeni özellikler ekleyerek ilerledi. Sorulan her şeyi kapattı ve her soruya ayrıntılı olarak cevap verdi. Bu, çok hoş bir deneyimdi.
Paul Coaton - SEMPCheck Services
Eğitim - Flutter Development Bootcamp with Dart
Yapay Zeka Çevirisi
Eğitmen heyecanlı, nazikti ve konuyu çok sevdi
Isaac Murphy - Royal New Zealand Airforce
Eğitim - Build Native iOS and Android Apps with Flutter
Yapay Zeka Çevirisi