Eğitim İçeriği
Giriş
1. Hafta: Mobile Development'e Genel Bakış
- Mobil Ekosistem ve Platformlar
- Mobil işletim sistemlerine genel bakış (iOS ve Android)
- iOS, Android ve çapraz platform geliştirme arasındaki temel farklar
- Popüler uygulama mağazaları (Apple App Store, Google Play Store)
- Yerel, hibrit ve çapraz platform geliştirmeye giriş
- Yerel ve Hibrit ve Ç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 (JavaScript'den React Native'daki yerel koda)
- Programming Temelleri
- Programlama kavramlarına giriş (değişkenler, veri türleri, fonksiyonlar, kontrol akışı)
- Swift, Kotlin ve JavaScript sözdiziminin karşılaştırılması
- Swift, Kotlin ve JavaScript kullanarak basit programlar yazma
- Geliştirme Ortamlarının Kurulumu
- Xcode ve Android Studio'nun kurulumu
- React Native CLI ve Expo'nun kurulumu
- Simülatörlerde ve emülatörlerde temel "Merhaba Dünya" uygulamalarını çalıştırma
2. Hafta: Swift, Kotlin ve JavaScript'ye Giriş
- Swift Programming iOS için
- Swift'daki değişkenler, sabitler ve veri türleri
- Kontrol akışı ifadeleri (
if
,switch
, döngüler) - Swift'daki fonksiyonlar ve parametreler
- Xcode arayüzüne ve Swift Oyun Alanlarına giriş
- Kotlin Programming Android için
- Kotlin'deki değişkenler, veri türleri ve fonksiyonlar
- Kotlin'nin null güvenliğinin anlaşılması
- Kontrol akışı ve döngü yapıları
- Android Studio arayüzüne ve Kotlin Oyun Alanına giriş
- JavaScript React Native için
- JavaScript'daki değişkenler, sabitler ve kontrol akışı
- ES6 özellikleri: ok fonksiyonları, şablon değişmezleri ve yapılandırma
- React Native'da Expo kullanarak temel JavaScript programları yazma ve çalıştırma
3. Hafta: iOS Kullanıcı Arayüzü Tasarımı
- UI Element'ları iOS'de
- UIKit ve SwiftUI'ye giriş
- Düğmeler, etiketler ve metin alanları gibi UI öğelerinin eklenmesi ve özelleştirilmesi
- UI tasarlamak için Arayüz Oluşturucu'nun kullanılması
- Çok ekranlı UI'ler tasarlamak için Hikaye Panolarının kullanılması
- Otomatik Düzen ve Kısıtlamalar
- Otomatik Düzen sisteminin anlaşılması
- Farklı ekran boyutlarında duyarlı düzenler için kısıtlamaların kullanılması
- Yığın görünümlerinin oluşturulması ve UI öğelerinin dinamik olarak ayarlanması
- SwiftUI Temelleri
- SwiftUI'de bildirimsel UI tasarımına giriş
- SwiftUI kullanarak basit UI bileşenlerinin oluşturulması
4. Hafta: Android Kullanıcı Arayüzü Tasarımı
- XML Düzenleri Android'te
- XML tabanlı düzen tasarımına giriş
- Yaygın düzenlerle çalışma: LinearLayout, RelativeLayout, ConstraintLayout
- UI öğelerinin eklenmesi ve özelleştirilmesi: düğmeler, metin görünümleri, resim görünümleri
- Duyarlı ve dinamik düzenler için ConstraintLayout'un kullanılması
- Malzeme Tasarımı
- Malzeme Tasarımı ilkelerinin (renkler, simgeler, tipografi) entegre edilmesi
- Malzeme Bileşenlerinin (düğmeler, kayan eylem düğmeleri, kartlar) kullanılması
- Android uygulamaları için temaların ve stillerin uygulanması
5. Hafta: React Native Kullanıcı Arayüzü Tasarımı
- React Native Esnek Kutu Düzeni
- Duyarlı düzen tasarımı için Esnek Kutu'nun anlaşılması
- Sütun ve satır tabanlı düzenlerin oluşturulması
- Esnek Kutu özellikleriyle (justifyContent, alignItems vb.) UI bileşenlerinin stillendirilmesi
- React Native Bileşenleri
Text
,View
,TextInput
veButton
gibi temel bileşenlerle çalışma- Formlar ve düğmeler gibi etkileşimli UI öğelerinin oluşturulması
- Dinamik içerik için
ScrollView
bileşeninin kullanılması
6. Hafta: iOS ve Android'te Veri İşleme
- iOS Veri İşleme
- Basit veri kalıcılığı için UserDefaults'in kullanılması
- Karmaşık verilerin yerel olarak depolanması için Core Data'ya giriş
- URLSession kullanarak API'lerden veri alma
- JSON verilerini ayrıştırma ve UI'de görüntüleme
- Android Veri İşleme
- Küçük miktarda veri depolamak için SharedPrefences'in kullanılması
- Veritabanlarını yönetmek için SQLite ve Room Persistence Library'ye giriş
- API'lerden veri almak için Retrofit'in kullanılması
- JSON'u ayrıştırma ve API yanıtlarını işleme
7. Hafta: React Native Durum ve API'ler
- React Native'ta Durum ve Özellikler
- React Native bileşenleri içindeki veri akışının yönetilmesi
- Yerel bileşen durumunu yönetmek için
useState
kancasının kullanılması - Üst bileşenden alt bileşenlere özellikler aracılığıyla veri geçirme
- React Native'ta Veri Alma
- HTTP istekleri yapmak için Fetch API ve Axios'un kullanılması
- Alınan verilerin listelerde görüntülenmesi (
FlatList
,SectionList
kullanılarak) - React Native'ta verilerin yerel olarak kalıcı hale getirilmesi için AsyncStorage'nun kullanılması
8. Hafta: iOS ve Android'te Gezinme
- iOS Gezinme
- Gezinme denetleyicilerine giriş ve birden çok ekranın yönetilmesi
- Görünüm denetleyicileri arasında geçiş yapmak için geçişlerin kullanılması
- Görünüm denetleyicileri arasında veri geçirme
- Yapılandırılmış gezinme için Sekme Çubuğu ve Gezinme Çubuğunun uygulanması
- Android Gezinme
- Çok ekranlı uygulamalar için Etkinlikler ve Amaçlarla çalışma
- Etkinlikler arasında Paketler aracılığıyla veri geçirme
- Gezinme Çekmecesi ve Alt Gezinme Görünümü oluşturma
- Esnek UI gezinmesi için parçaların uygulanması
9. Hafta: React Native'ta Gezinme
- React Gezinme Temelleri
- React Gezinmenin kurulması ve ayarlanması
- Ekran geçişleri için Yığın Gezinme'nin kullanılması
- Karmaşık gezinme için Sekme Gezinme ve Çekmece Gezinme'nin uygulanması
- Ekranlar arasında parametre geçirme ve gezinme durumunun yönetilmesi
10. Hafta: Gelişmiş Özellikler
- iOS Gelişmiş Özellikler:
- Çekirdek konum ve haritalar
- Cihaz konumunu Çekirdek Konum ile alma
- Haritaları MapKit ile görüntüleme
- Konum ve kullanıcı konum izleme ile ilgilenme
- Kamera ve ortam
- Cihaz kamerasını ve fotoğraf kitaplığını alma
- Resimleri yakalama ve görüntüleme ile ilgilenme
- Ortam dosyalarını depolama ve alma
- Çekirdek konum ve haritalar
- Android Gelişmiş Özellikler
- Konum ve haritalar
- Google Haritalar API'sini haritaları ve kullanıcı konumunu görüntülemek için kullanma
- GPS verilerini alma ve konumla ilgilenme
- Kamera ve ortam
- Fotoğraf çekmek ve kamera izinleriyle ilgilenmek için CameraX'i kullanma
- Resimleri görüntüleme ve ortam depolamayla ilgilenme
- Konum ve haritalar
- React Native Gelişmiş Özellikler
- React Native haritalar
- Haritaları
react-native-maps
ile entegre etme - Konum tabanlı hizmetlerle ilgilenme (konum, rota eşleme)
- Haritaları
- Kamera ve ortam erişimi
- Fotoğraf çekmek için React Native Kamera kitaplığını kullanma
- Cihaz ortam depolamayla ilgilenme ve dosyaları işleme
- React Native haritalar
11. Hafta: Hata Ayıklama ve Test
- iOS Hata Ayıklama ve Test
- Xcode hata ayıklayıcısını kullanma
- Kesme noktaları ayarlama ve Xcode'de değişkenleri inceleme
- Gerçek zamanlı hata ayıklama için konsolu kullanma
- Yaygın hata ayıklama sorunları ve bunları çözme yolları
- iOS'de Birim testi
- XCTest çerçevesini kullanarak birim testleri yazma ve çalıştırma
- Nesneleri taklit etme ve UI bileşenlerini test etme
- Xcode hata ayıklayıcısını kullanma
- Android Hata Ayıklama ve Test
- Logcat'i Android Studio'da kullanma
- Hataları günlüğe kaydetme ve analiz etme
- Kesme noktalarıyla Android uygulamalarını hata ayıklama
- Android'te Birim testi
- JUnit kullanarak birim testleri yazma
- UI bileşenlerini Espresso ile test etme
- Logcat'i Android Studio'da kullanma
- React Native Hata Ayıklama ve Test
- React Native hata ayıklama araçları
- Gerçek zamanlı hata ayıklama için Chrome DevTools ve React Native Hata Ayıklayıcıyı kullanma
- Konsol günlükleri ve ağ isteklerini inceleme
- React Native'ta 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ıklama araçları
12. Hafta: Uygulama Dağıtımı ve Kapsam Projesi
- Dağıtım ve Dağıtım
- iOS Uygulama Mağazası başvurusu
- Uygulamayı dağıtım için hazırlama (simgeler, sertifikalar, sağlama profilleri)
- Uygulamayı inceleme için App Store Connect'i kullanma
- Beta testi için TestFlight'ı kullanma
- Android Play Store başvurusu
- APK'yı hazırlama ve uygulamayı imzalamak
- Uygulama başvurusu ve izleme için Google Play Console'u kullanma
- Play Store politikalarını ve yönergelerini anlama
- iOS Uygulama Mağazası başvurusu
- Kapsam Projesi Geliştirme
- Son proje geliştirme
- Seçtiğiniz tamamen işlevsel bir uygulama oluşturma
- API çağrıları, gezinme, ortam ve konum gibi gelişmiş özellikleri dahil etme
- Son uygulamayı akranlara ve eğitmenlere sunma ve tanıtma
- Son proje geliştirme
Özet ve Sonraki Adımlar
Kurs İçin Gerekli Önbilgiler
- Programlama kavramlarına temel düzeyde hakimiyet
- JavaScript hakkında temel 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