2024 yılı için 20 günlük, gün gün Flutter çalışma planı
2024 yılı için 20 günlük, gün gün Flutter çalışma planı oluştururken, Flutter'ın temel kavramlarını, Dart dilini ve mobil uygulama geliştirmede ihtiyaç duyacağınız araçları kapsamlı bir şekilde öğrenmenizi sağlayacak bir yol haritası sunacağım. Flutter, Google tarafından geliştirilen açık kaynak bir mobil uygulama SDK'sıdır ve Android ve iOS için yüksek performanslı, güzel uygulamalar oluşturmanıza olanak tanır.
Gün 1: Flutter ve Dart'a Giriş
Flutter ve Dart'ın temellerini öğrenin.
Geliştirme ortamınızı kurun (VS Code, Android Studio, Flutter SDK, Dart).
Gün 2: Dart Dilinin Temelleri
Dart dilinde değişkenler, operatörler ve kontrol yapılarına giriş.
Fonksiyonlar ve kapsam kavramlarını öğrenin.
Gün 3: Flutter'da Widget Yapısı
Stateless ve Stateful widget'ların farklarını öğrenin.
Bir Flutter uygulamasında temel widget'ları kullanımı (Text, Column, Row, Container).
Gün 4: Uygulama Düzeni ve Tasarımı
Material Design ve Cupertino widget'larını keşfedin.
Uygulamanızın temel düzenini oluşturun.
Gün 5: Navigasyon ve Yönlendirme
Sayfalar arası geçiş ve Navigator sınıfını kullanımı.
Parametrelerle sayfa yönlendirmeleri.
Gün 6: Formlar ve Kullanıcı Girdisi
TextField ve Form widget'ları ile çalışmak.
Kullanıcı girdisini doğrulama ve kaydetme.
Gün 7: State Yönetimi
Provider ve Riverpod gibi state yönetim çözümlerini keşfedin.
Basit bir state yönetimi örneği uygulayın.
Gün 8: API ve Ağ İşlemleri
HTTP paketini kullanarak dış API'lerden veri çekme.
JSON verilerini ayrıştırma ve kullanıcı arayüzünde gösterme.
Gün 9: Resimler ve Dosyalarla Çalışmak
Ağ üzerinden resim yükleme ve gösterme.
Dosya okuma ve yazma işlemleri.
Gün 10: Firebase ile Entegrasyon
Firebase'e giriş ve Flutter ile entegrasyon.
Firebase Authentication ile kullanıcı girişi.
Gün 11: Firebase Veritabanı
Firestore veritabanı ile çalışmak.
Veritabanından veri okuma ve yazma.
Gün 12: Push Bildirimleri
Firebase Cloud Messaging (FCM) ile push bildirimleri gönderme.
Bildirimlere tepki vermek.
Gün 13: Animasyonlar
Flutter'da temel animasyonlar oluşturma.
Animasyonlu widget'lar kullanmak.
Gün 14: Paketler ve Plugin'ler
Popüler Flutter paketlerini keşfedin ve kullanın.
Paket ekleme ve güncelleme.
Gün 15: Uygulama Performansı ve Optimizasyonu
Performans izleme ve optimizasyon teknikleri.
Uygulama boyutunu azaltma yolları.
Gün 16-17: Proje Çalışması
Öğrendiklerinizi pekiştirmek için kendi projenizi başlatın.
Gün 18: Test Yazma
Unit ve widget testleri yazma.
Test süreçlerini otomatize etme.
Gün 19: Uygulamayı Yayınlama
Android ve iOS için uygulama hazırlığı.
Google Play Store ve Apple App Store'a yükleme süreci.
Gün 20: Geri Bildirim ve İyileştirmeler
Kullanıcı geri bildirimlerini toplama ve analiz etme.
Uygulamanızı iyileştirmek için geri bildirimleri kullanma
Örnek detaylı bir eğitim projesinin assignment
Bir Flutter eğitim programının parçası olarak öğrencilere verilebilecek detaylı bir ödev (assignment) tasarımı aşağıdaki gibidir. Bu ödev, öğrencilerin Flutter'da edindikleri bilgileri uygulamalı bir şekilde pekiştirmelerine yardımcı olacak bir projedir. Projede, bir "Yemek Tarifleri Uygulaması" geliştirmeleri istenecek. Bu uygulama, kullanıcıların çeşitli yemek tariflerine göz atabilmeleri, favori tariflerini kaydedebilmeleri ve kendi tariflerini ekleyebilmelerini sağlayacak.
Ödevin Amacı:
Flutter SDK kullanarak, API veri çekme, state yönetimi, ve kullanıcı arayüzü tasarımı gibi konularda bilgi ve becerilerinizi geliştirmek.
Proje Özeti:
"Yemek Tarifleri Uygulaması" bir mobil uygulama olacak. Uygulama, kullanıcılara çeşitli yemek tariflerini listeleme, tarifler hakkında detayları görüntüleme, tarifleri favorilere ekleme ve kendi tariflerini uygulamaya ekleyebilme imkanı sunacak.
Gereksinimler:
API Entegrasyonu: Bir dış API'dan yemek tarifleri çekin ve uygulamada listeyin.
Tarif Detay Sayfası: Her tarif için bir detay sayfası oluşturun. Bu sayfada tarifin adı, malzemeleri, yapılış aşamaları ve bir fotoğrafı bulunmalı.
Favori Tarifler: Kullanıcılar, beğendikleri tarifleri favorilere ekleyebilmeli ve bu tariflere kolayca erişebilmelidir.
Tarif Ekleme: Kullanıcılar, kendi yemek tariflerini uygulamaya ekleyebilmeli. Bu işlem için bir form sayfası oluşturun.
State Yönetimi: Uygulamanın state yönetimi için Provider veya Riverpod kullanın.
Navigasyon: Uygulama içinde sayfalar arası geçişleri sağlayacak bir navigasyon sistemi kurun.
Tasarım ve Kullanıcı Deneyimi: Material Design prensiplerine uygun bir kullanıcı arayüzü tasarlayın. Uygulamanın kullanıcı dostu ve estetik açıdan çekici olmasına özen gösterin.
Ödev Teslimi:
Kaynak kodunuzu içeren bir GitHub reposu linki.
Uygulamanın çalışır durumda bir demo videosu.
Uygulama geliştirme sürecini ve karşılaştığınız zorlukları açıklayan kısa bir rapor.
Değerlendirme Kriterleri:
Fonksiyonellik: Uygulamanın gereksinimleri karşılama derecesi.
Kod Kalitesi: Kodun okunabilirliği, düzeni ve yorumlar.
Kullanıcı Deneyimi: Uygulamanın kullanım kolaylığı ve arayüz tasarımı.
Yenilikçilik ve Yaratıcılık: Problemlere yaratıcı çözümler bulma ve uygulamaya özgün özellikler ekleme.
Bu ödev, Flutter'ın temel ve ileri düzey özelliklerini kapsamlı bir şekilde kullanmayı gerektirir. Aynı zamanda, öğrencilerin problem çözme becerilerini ve yaratıcılıklarını geliştirmeleri için harika bir fırsattır.