Eğitim İçeriği
Giriş
1. Hafta: Mobile Development’ya Giriş
- Mobil Uygulama Ekosistemi ve Trendler
- Mobil uygulama ortamına giriş (iOS ve Android)
- Yerel, hibrit ve çapraz platform uygulamalar arasındaki farklar
- Mobil uygulama geliştirme iş akışı ve araçlarına genel bakış
- Yerel ve Çapraz Platform Geliştirme
- Tek bir platform (yerel) için mi yoksa birden fazla platform (çapraz platform) için mi uygulama geliştirmenin temel farkları
- Her yaklaşımın avantajları ve dezavantajları
- Yaygın yerel platformlara (iOS, Android) ve çapraz platform araçlarına (React Native, Flutter) genel bakış
- JavaScript Programming’e Giriş
- JavaScript’in temel sözdizimi ve yapısı
- Değişkenler, sabitler ve veri türleri (sayı, metin, mantıksal, nesne)
- Operatörler ve ifadeler
- Kontrol akışı:
if
,else
,switch
- Fonksiyonlara ve kapsam belirlemeye (global ve yerel kapsam) giriş
- iOS Geliştirmesi için Xcode Kurulumu
- Xcode IDE’ye giriş: Arayüz, araçlar ve iş akışı
- Xcode’un kurulması ve iOS simülatörünün çalıştırılması
- Swift programlama diline giriş
- Temel bir Swift uygulaması yazma ve iOS simülatöründe çalıştırma
- Android Geliştirmesi için Android Studio Kurulumu
- Android Studio’nun kurulması ve ortamın ayarlanması
- Android Emülatörünün yapılandırılması ve kullanılması
- Kotlin programlama diline ve temel sözdizimine giriş
- Temel bir Kotlin uygulaması yazma ve Android emülatöründe çalıştırma
- React Native Geliştirme Ortamının Kurulumu
- Apache Ambari ve React Native CLI’nın kurulması
- Expo’ya giriş ve Expo ile bir proje oluşturma
- Basit bir "Merhaba Dünya" uygulamasının hem iOS hem de Android emülatörlerinde çalıştırılması
2. Hafta: iOS ve Android Temelleri
- Swift ve Xcode IDE’ye Giriş
- Swift’teki değişkenler ve veri türleri (Int, Float, String, Bool vb.)
let
ile sabitler vevar
ile değişkenler- Kontrol akışı ifadeleri (
if
,switch
, döngüler) - Swift’teki fonksiyonlar ve parametreler
- Swift’teki hata yönetimi
- iOS’da Kullanıcı Arayüzü Tasarımı
- Storyboard’lara ve Xcode Interface Builder’a giriş
- Auto Layout ve kısıtlamalar kullanılarak uygulama düzenlerinin tasarlanması
- Kullanıcı arayüzü bileşenlerinin eklenmesi: düğmeler, etiketler, metin alanları, resimler
- Kullanıcı etkileşimlerinin ve olayların (örneğin, düğme tıklamaları) işlenmesi
- Basit bir giriş formu oluşturma ve kullanıcı girdisini doğrulama
- Kotlin ve Android Studio IDE’ye Giriş
- Kotlin’ün temel sözdizimi (değişkenler, veri türleri ve fonksiyonlar)
- Kotlin’ün null güvenliği ve veri sınıflarının anlaşılması
- Android uygulama mimarisine ve bileşenlerine (Activitiler, Parçalar) giriş
- Android uygulamalarında etkinlik yaşam döngüsünün işlenmesi
- Android’da Kullanıcı Arayüzü Tasarımı
- XML düzen dosyalarını kullanarak Android kullanıcı arayüzlerinin tasarlanması
- Düzen yöneticileriyle (LinearLayout, RelativeLayout, ConstraintLayout) çalışma
- Etkileşimli bileşenlerin (düğmeler, metin görünümleri, metin düzenleyiciler) eklenmesi
- Java/Kotlin kullanarak kullanıcı girdisinin işlenmesi ve etkinlik geçişleri
- Girdi doğrulamasıyla bir giriş formu oluşturma
- Xcode ve Android Studio’da Hata Ayıklama Temelleri
- Kesme noktalarının, günlüklerin ve hata ayıklayıcı konsolunun nasıl kullanılacağı
- iOS (Xcode Instruments, Simulator) için yaygın hata ayıklama araçları ve teknikleri
- Android (Logcat, Android Debug Bridge) için yaygın hata ayıklama araçları
- Gerçek Cihazlarda Uygulamaları Test Etme ve Çalıştırma
- Fiziksel cihazların Xcode ve Android Studio’ya bağlanması
- Uygulamaların fiziksel cihazlara (iPhone’lar ve Android telefonlar) dağıtılması
- Farklı ağ koşullarının, pil seviyelerinin ve performans ölçümlerinin simüle edilmesi
3. Hafta: React Native ile Çapraz Platform Geliştirme
- React Native ve Mobil için JavaScript’e Giriş
- React Native nedir ve neden kullanılmalı?
- React Native’un JavaScript’i yerel koda nasıl çevirdiği genel bakış
- JSX Sözdizimi: JavaScript benzeri yapıların React Native içinde yazılması
- React bileşenleri: Fonksiyonel ve sınıf tabanlı bileşenler
- Durum ve Özellikler: React Native bileşenleri içindeki veri akışının yönetimi
- React Native’da Stil Oluşturma
- Esnek Kutu’ya giriş ve düzen tasarımındaki önemi
- Hem iOS hem de Android için duyarlı düzenlerin oluşturulması
- React Native’un
Paltform
modülünü kullanarak platforma özel stilin uygulanması
- React Çapraz Platform Uygulamaları için Gezinme
- React Gezinmeye ve gezinme kapsayıcılarına giriş
- Ekran geçişleri için Yığın Gezinmesinin oluşturulması
- Daha karmaşık uygulamalar için Sekme ve Çekmece gezinmesinin uygulanması
- Ekranlar arasında veri geçirme ve gezinme durumlarının yönetimi
- Yerel Cihaz Özelliklerine Erişme
- React Native’da kamera ve konum gibi cihaz özelliklerinin kullanılması
- Konum, Kamera ve AsyncStorage gibi API’lerin entegre edilmesi
- Cihaz donanımına erişim izinlerinin işlenmesi (iOS ve Android farklılıkları)
- Verilerin yerel olarak AsyncStorage ile depolanması ve kalıcılık için üçüncü taraf kütüphanelerin entegre edilmesi
- Uygulamaları Dağıtıma Hazırlama
- Xcode ve Android Studio’da uygulama ayarlarının yapılandırılması
- APK’lerin Android için oluşturulması ve gerçek cihazlarda test edilmesi
- iOS uygulamalarının App Store’a gönderilmesine hazırlanması (uygulama simgeleri, imzalama sertifikaları)
- Hem platformlar için React Native projelerinin üretim dağıtımı için sonlandırılması
- Son Proje Sunumu
- Son çapraz platform React Native uygulamasının sınıfa sunulması
- Geri bildirim toplanması ve potansiyel iyileştirmelerin tartışılması
- Son soru-cevap oturumu ve kapanış sözleri
Özet ve Sonraki Adımlar
Kurs İçin Gerekli Önbilgiler
- Programlama kavramlarına temel düzeyde hakimiyet
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