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, ve Button gibi 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 ScrollView bileşenini kullanma

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 useState hook 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
  • 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
  • React Native İleri Özellikler
    • React Native Haritalar
      • react-native-maps kullanarak 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

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
  • 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
  • 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

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
  • 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

Ö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
 420 Saat

Katılımcı Sayısı


Kişi Başına Fiyat

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

Yaklaşan Etkinlikler

İlgili Kategoriler