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, TextInput ve Button gibi temel bileşenlerle çalışmak
    • Formlar 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 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 useState hook'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
  • 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
  • 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
    • 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

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

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

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

Katılımcı Sayısı


Kişi Başına Fiyat

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

Yaklaşan Etkinlikler

İlgili Kategoriler