| Kodu |
Dersin Adı |
Yarıyıl |
Süresi(T+U) |
Kredisi |
AKTS Kredisi |
| OYG202 |
MOBİL UYGULAMA GELİŞTİRME |
4 |
4 |
2 |
7 |
DERS BİLGİLERİ |
| Dersin Öğretim Dili : |
Türkçe |
| Dersin Düzeyi |
ÖNLİSANS, TYY: + 5.Düzey, EQF-LLL: 5.Düzey, QF-EHEA: Kısa Düzey |
| Dersin Türü |
Zorunlu |
| Dersin Veriliş Şekli |
- |
| Dersin Koordinatörü |
Öğr.Gör. ÇİSEM YAŞAR |
| Dersi Veren Öğretim Üyesi/Öğretim Görevlisi |
|
| Ders Ön Koşulu |
Yok |
AMAÇ VE İÇERİK |
| Amaç: |
Bu dersin amacı, ön-yüz yazılım geliştirme bilgisine sahip öğrencilere çapraz platform mobil uygulama geliştirme becerisi kazandırmaktır. Öğrenciler, React Native framework'ü kullanarak iOS ve Android platformlarına aynı anda dağıtılabilen, gerçek dünya ihtiyaçlarına uygun mobil uygulamalar tasarlayıp geliştireceklerdir. Ders tamamen uygulama odaklı yürütülür; her oturumda öğrenciler laboratuvarda kod yazar, test eder ve sürüm yönetimini öğrenir. |
| İçerik: |
Mobil uygulama ekosistemi (native, hybrid, cross-platform karşılaştırması); React Native mimarisi, kurulumu ve proje yapısı; temel bileşenler (View, Text, Image, ScrollView, FlatList); stil yönetimi ve Flexbox düzeni; React Navigation ile ekranlar arası geçiş; state yönetimi (useState, useEffect, Context API); REST API ve fetch/axios ile veri çekme; AsyncStorage ile yerel veri saklama; kamera, konum ve bildirim gibi cihaz özelliklerine erişim; form yönetimi ve kullanıcı doğrulama; uygulama performansı ve hata ayıklama; Expo kullanarak test ve dağıtım; dönem sonu bireysel mobil uygulama projesi. |
DERSİN ÖĞRENME ÇIKTILARI (Öğrenciler, bu dersi başarı ile tamamladıklarında aşağıda belirtilen bilgi, beceri ve/veya yetkinlikleri gösterirler.) |
| Mobil uygulama geliştirme yöntemlerini (native, hybrid, cross-platform) karşılaştırır ve projeye uygun yaklaşımı seçer. |
| React Native ortamını kurar, proje oluşturur ve temel bileşenlerle işlevsel ekranlar tasarlar. |
HAFTALIK DERS KONULARI VE ÖNGÖRÜLEN HAZIRLIK ÇALIŞMALARI |
| Hafta |
Ön Hazırlık |
Konular |
Yöntem |
| 1 |
- |
Mobil Dünyaya Giriş ve Ortam Kurulumu: Native, Hybrid, Cross-platform yaklaşımların karşılaştırılması; React Native'in mimarisi; Expo ile ilk projenin oluşturulması ve Expo Go üzerinde cihazda çalıştırılması. |
Anlatım ve Uygulama |
| 2 |
- |
Temel Bileşenler ve JSX: View, Text, Image, TextInput, TouchableOpacity, Button; StyleSheet ile temel stil yönetimi; Flexbox düzeniyle bileşen konumlandırma ve boyutlandırma. |
Anlatım ve Uygulama |
| 3 |
- |
Liste Bileşenleri ve Kaydırma: ScrollView, FlatList ve SectionList; anahtar (key) yönetimi; yatay/dikey liste tasarımı; dinamik veri ile liste oluşturma. |
Anlatım ve Uygulama |
| 4 |
- |
React Navigation – Stack ve Tab: Stack Navigator ile sayfa geçişi ve parametre aktarımı; Bottom Tab Navigator ile sekmeli yapı; Header özelleştirme. |
Anlatım ve Uygulama |
| 5 |
- |
State ve Yaşam Döngüsü: useState ile bileşen durumu; useEffect ile yan etkiler ve veri yükleme; birden fazla bileşen arasında veri paylaşımı. |
Anlatım ve Uygulama |
| 6 |
- |
API Entegrasyonu – Veri Çekme: fetch ve axios ile GET istekleri; JSON verisi işleme; yükleniyor/hata durumu gösterimi; FlatList ile API verilerinin listelenmesi. |
Anlatım ve Uygulama |
| 7 |
- |
Form Yönetimi ve Doğrulama: TextInput ile form alanları; kontrollü/kontrolsüz bileşenler; basit istemci tarafı doğrulama (zorunlu alan, e-posta formatı, şifre uzunluğu); POST isteği gönderme. |
Anlatım ve Uygulama |
| 8 |
- |
Context API ile Global State: Context oluşturma, Provider ve useContext; kullanıcı oturumu (giriş/çıkış) Context ile yönetme; Drawer Navigator entegrasyonu. |
Anlatım ve Uygulama |
| 9 |
- |
Yerel Depolama – AsyncStorage: AsyncStorage ile veri okuma/yazma/silme; favori listeleri ve kullanıcı tercihleri saklama; Async/Await ile asenkron depolama işlemleri. |
Anlatım ve Uygulama |
| 10 |
- |
ARA SINAV |
- |
| 11 |
- |
Cihaz Özellikleri – Kamera ve Galeri: Expo ImagePicker ile fotoğraf çekme ve galeriden seçme; fotoğrafı uygulamada gösterme ve sunucuya yükleme; izin (permission) yönetimi. |
Anlatım ve Uygulama |
| 12 |
- |
Konum ve Harita: Expo Location ile GPS konum verisi alma; react-native-maps ile harita gösterimi; marker ekleme; konum bazlı özellikler geliştirme. |
Anlatım ve Uygulama |
| 13 |
- |
Animasyon ve UX İyileştirme: Animated API ile temel animasyonlar; React Native Reanimated 2 ile gesture tabanlı hareketler; loading skeleton ve refresh göstergeleri. |
Anlatım ve Uygulama |
| 14 |
- |
Performans ve Hata Ayıklama: React DevTools ve Flipper kullanımı; memo, useCallback ile gereksiz render azaltma; büyük listelerde performans optimizasyonu; try-catch ve hata sınırları (Error Boundaries). |
Anlatım ve Uygulama |
| 15 |
- |
Dönem Sonu Proje Sunumları |
Anlatım ve Uygulama |
| 16 |
- |
FİNAL |
- |
| 17 |
- |
FİNAL |
- |
KAYNAKLAR |
| Bonnie Eisenman, Learning React Native, 2. Baskı, O'Reilly Media, 2018 |
| Nader Dabit, React Native in Action, Manning Publications, 2019 |
ÖLÇME VE DEĞERLENDİRME |
| Yarıyıl İçi Yapılan Çalışmaların Ölçme ve Değerlendirmesi |
Etkinlik Sayısı |
Katkı Yüzdesi |
Açıklama |
Sınav Yapılma Şekli |
| (0) Etkisiz |
(1) En Düşük |
(2) Düşük |
(3) Orta |
(4) İyi |
(5) Çok İyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
DERSİN PROGRAM ÖĞRENME ÇIKTILARINA KATKISI
DERSİN İŞ YÜKÜ VE AKTS KREDİSİ |
| Öğrenme-Öğretme Etkinlikleri İş Yükü |
| Öğrenme-Öğretme Etkinlikleri |
Etkinlik(hafta sayısı) |
Süresi(saat sayısı) |
Toplam İş Yükü |
| Ders |
0 |
0 |
0 |
| Derse Ön Hazırlık ve Ders Sonrası Pekiştirme |
0 |
0 |
0 |
| Arazi Çalışması |
0 |
0 |
0 |
| Grup Çalışması / Ödevi |
0 |
0 |
0 |
| Laboratuvar |
0 |
0 |
0 |
| Okuma |
0 |
0 |
0 |
| Ödev |
0 |
0 |
0 |
| Proje Hazırlama |
0 |
0 |
0 |
| Seminer |
0 |
0 |
0 |
| Staj |
0 |
0 |
0 |
| Teknik Gezi |
0 |
0 |
0 |
| Web Tab. Öğrenme |
0 |
0 |
0 |
| Uygulama |
0 |
0 |
0 |
| Yerinde Uygulama |
0 |
0 |
0 |
| Mesleki Faaliyet |
0 |
0 |
0 |
| Sosyal Faaliyet |
0 |
0 |
0 |
| Tez Hazırlama |
0 |
0 |
0 |
| Alan Çalışması |
0 |
0 |
0 |
| Rapor Yazma |
0 |
0 |
0 |
| Final Sınavı |
0 |
0 |
0 |
| Final Sınavı Hazırlığı |
0 |
0 |
0 |
| Ara Sınav |
0 |
0 |
0 |
| Ara Sınav Hazırlığı |
0 |
0 |
0 |
| Kısa Sınav |
0 |
0 |
0 |
| Kısa Sınav Hazırlığı |
0 |
0 |
0 |
| TOPLAM |
0 |
0 |
0 |
|
Genel Toplam |
0 |
|
|
Toplam İş Yükü / 25.5 |
0 |
|
|
Dersin AKTS(ECTS) Kredisi |
0,0 |
|