FLUTTER STATE MANAGEMENT VE PROVİDER KULLANIMI EĞİTİMİ

Flutter durum yönetimini baştan sona çözün

setState, InheritedWidget, Provider, Riverpod ve Bloc ile ölçeklenebilir durum yönetimi

Flutter State Management ve Provider Kullanımı Eğitimi, Flutter uygulamalarında durumu ölçeklenebilir biçimde yönetmeyi öğretir. Program durum kavramı, setState ve InheritedWidget sınırlarıyla başlar; Provider ile ChangeNotifier, Consumer, Selector ve MultiPr…

4 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Durum kavramından Provider derinliğine, Riverpod ve Bloc ile mimari seçime kadar

Flutter State Management ve Provider Kullanımı Eğitimi, Flutter uygulamalarında durumu doğru ve ölçeklenebilir biçimde yönetmeyi öğretir. Katılımcılar setState ve InheritedWidget sınırlarını kavrar, Provider ile ChangeNotifier, Consumer, Selector ve MultiProvider desenlerini uygular. Riverpod ile StateNotifier ve AsyncValue, flutter_bloc ile olay-durum akışı işlenir. Program yaklaşımların karşılaştırması ve projeye uygun mimari seçimiyle tamamlanır.

Süre ve Format

4 Gün. Her gün dört modül; aynı örnek uygulama farklı durum yönetimi yaklaşımlarıyla yeniden kurularak desenler karşılaştırılır.

Seviye

Orta Seviye — Flutter'da setState'ten Provider, Riverpod ve Bloc'a durum yönetimini derinlemesine kavrama

Öğrenme Metodu

Aynı örnek uygulama dört gün boyunca farklı yaklaşımlarla kurulur; her modülde bir durum yönetimi deseni doğrudan projede uygulanır.

Neden Bu Eğitim?

🎯Doğru seçim

setState'ten Bloc'a kadar yaklaşımları görerek her projede duruma uygun çözümü bilinçli seçmeyi öğrenirsiniz.

🧩Provider derinliği

Provider'ı yüzeysel değil; ChangeNotifier, Selector ve ProxyProvider dahil derinlemesine kavrayarak ustalaşırsınız.

📈Ölçeklenebilirlik

Büyüyen uygulamalarda durumu katmanlara ayırarak bakımı kolay ve test edilebilir mimariler kurmayı öğrenirsiniz.

Anahtar Konular

flutter state management eğitimiflutter provider eğitimiflutter durum yönetimiriverpod eğitimiflutter bloc eğitimiflutter provider kursuchangenotifier flutterflutter mimari eğitimidart flutter kursumobil uygulama geliştirme eğitimi
“Durum yönetiminde en iyi araç yoktur; en iyi karar vardır. Bu eğitim yaklaşımları görerek o kararı güvenle vermeyi öğretir.”

Ön Koşullar

Eğitime başlamadan önce faydalı olacak bilgi ve kurulum ortamı

1
Flutter temeli

Widget ağacı, StatelessWidget ve StatefulWidget ile temel arayüz kurabilecek düzeyde Flutter bilgisi gerekir.

2
Dart'a aşinalık

Sınıf, Future ve Stream gibi Dart kavramlarına aşinalık desenleri anlamayı kolaylaştırır.

3
Flutter SDK kurulumu

Flutter SDK ve bir editörün kurulu, emülatör ya da cihazla derleme yapabilir durumda olması gerekir.

4
setState deneyimi

Daha önce setState ile basit bir uygulama geliştirmiş olmak eğitimin başlangıcını kolaylaştırır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı durum kavramını ve widget yaşam döngüsünü kavrar, setState ile InheritedWidget sınırlarını görür ve durum yönetimi desenlerini karşılaştırır.
Modül 1
Durum Kavramı ve Yaşam Döngüsü
  • Geçici (ephemeral) ve uygulama durumu ayrımı
  • StatefulWidget ve State yaşam döngüsü
  • initState, didChangeDependencies, dispose
  • Yeniden çizim (rebuild) tetikleyicileri
  • Durumun nerede tutulacağına karar verme
  • Durum ve arayüz ayrımının önemi
Modül 2
setState ve Sınırları
  • setState ile yerel durum güncelleme
  • Durum kaldırma (lifting state up) deseni
  • Geri çağırım (callback) ile veri aktarımı
  • Derin ağaçta setState'in zorlaşması
  • Gereksiz yeniden çizim (rebuild) sorunu
  • setState'in uygun olduğu senaryolar
Modül 3
InheritedWidget ve Ağaç Paylaşımı
  • InheritedWidget ile aşağı veri yayma
  • of(context) ile veriye erişim deseni
  • updateShouldNotify ile seçici bildirim
  • InheritedNotifier ile dinleyici desteği
  • Hazır çözümlerin bu temele dayanması
  • Elle yazmanın maliyeti ve sınırları
Modül 4
Durum Yönetimi Desenleri
  • Provider, Riverpod, Bloc genel bakışı
  • GetX ve MobX gibi diğer seçenekler
  • Bağımlılık enjeksiyonu ile durum ilişkisi
  • Tek yönlü veri akışı ilkesinin önemi
  • Seçim ölçütleri: ölçek, ekip, test
  • Aynı örneğin farklı desenlerle kurulması
Günün hedefiKatılımcı Provider'ı kurar, ChangeNotifier ile durumu yönetir, Consumer ve Selector ile verimli dinleme yapar ve MultiProvider ile bağımlılıkları düzenler.
Modül 1
Provider Kurulumu ve ChangeNotifier
  • provider paketinin kurulumu ve ağaca yerleşimi
  • ChangeNotifier ile durum sınıfı yazma
  • notifyListeners ile dinleyicileri uyarma
  • ChangeNotifierProvider ile sağlama
  • Durum sınıfında iş mantığının toplanması
  • Provider'ın test edilebilir yapısı
Modül 2
Consumer, Selector ve context
  • Consumer ile durumu dinleyip çizme
  • context.watch ve context.read farkı
  • Selector ile yalnız gereken parçayı dinleme
  • Gereksiz yeniden çizimi azaltma
  • listen false ile olay tetikleme
  • Dinleme kapsamını daraltma teknikleri
Modül 3
MultiProvider ve Bağımlılık Zinciri
  • MultiProvider ile birden çok sağlayıcı
  • Provider'ların ağaçta doğru konumu
  • Bağımlı sağlayıcıların sıralanması
  • Değer (Provider.value) ile var olan nesne
  • Sağlayıcı kapsamı ve yaşam süresi
  • Bellek sızıntısından kaçınma yöntemleri
Modül 4
ProxyProvider ve Async Sağlayıcılar
  • ProxyProvider ile sağlayıcılar arası bağ
  • Bir sağlayıcının diğerine bağımlılığı
  • FutureProvider ile eşzamansız değer
  • StreamProvider ile akış tabanlı durum
  • Yükleme ve hata durumu yönetimi
  • Repository ile Provider entegrasyonu
Günün hedefiKatılımcı Riverpod'un derleme güvenli yapısını öğrenir, provider türlerini ve StateNotifier'ı kullanır, AsyncValue ile eşzamansız durumu yönetir ve testi uygular.
Modül 1
Riverpod'a Giriş ve Provider Türleri
  • Riverpod'un Provider'a göre avantajları
  • ProviderScope ile uygulama kökü
  • Provider ve StateProvider türleri
  • FutureProvider ve StreamProvider
  • Derleme zamanı güvenliği ve global erişim
  • ConsumerWidget ile arayüz entegrasyonu
Modül 2
StateNotifier ve AsyncValue
  • StateNotifier ile değişmez durum yönetimi
  • NotifierProvider ile modern tanım
  • AsyncValue ile yükleme, veri, hata
  • when ile üç durumu arayüzde işleme
  • Değişmez (immutable) durum güncelleme
  • copyWith ile yeni durum türetme
Modül 3
ref, Consumer ve Family
  • ref.watch, ref.read ve ref.listen
  • Consumer ve ConsumerWidget kullanımı
  • family ile parametreli sağlayıcı
  • autoDispose ile otomatik temizleme
  • Sağlayıcılar arası bağımlılık kurma
  • Durum değişimine arayüzde tepki verme
Modül 4
Riverpod ile Test ve Önbellek
  • ProviderContainer ile izole test
  • overrideWith ile bağımlılık değiştirme
  • Sağlayıcı davranışının birim testi
  • keepAlive ile önbellek yönetimi
  • Tekrar getirme (refresh) ve invalidate
  • Test edilebilir mimari kurgusu
Günün hedefiKatılımcı Bloc ve Cubit ile olay-durum akışını kurar, flutter_bloc ile arayüzü bağlar, mimariyi katmanlara ayırır ve yaklaşımları karşılaştırıp seçim yapar.
Modül 1
Bloc ve Cubit Temelleri
  • Cubit ile basit durum yayınlama
  • Bloc ile olay ve durum ayrımının kurulması
  • Event, State ve geçiş (transition) akışı
  • Stream tabanlı durum akışı yönetimi
  • emit ile yeni durumun yayınlanması
  • Cubit ile Bloc arasında seçim yapma
Modül 2
flutter_bloc ile Arayüz
  • BlocProvider ile ağaca yerleştirme
  • BlocBuilder ile duruma göre çizim
  • BlocListener ile yan etki yönetimi
  • BlocConsumer ile ikisini birleştirme
  • buildWhen ve listenWhen ile filtreleme
  • context.read ile olay gönderme
Modül 3
Mimari Katmanlama ve Durum Ayrımı
  • Sunum, iş mantığı ve veri katmanı
  • Repository ile veri kaynağını soyutlama
  • Durum ve iş mantığının arayüzden ayrılması
  • Olay güdümlü akışın izlenebilirliği
  • BlocObserver ile durum geçişi izleme
  • Test edilebilir katman tasarımı
Modül 4
Yaklaşımların Karşılaştırması
  • setState, Provider, Riverpod, Bloc kıyası
  • Öğrenme eğrisi ve yazılan kod miktarı
  • Küçük, orta ve büyük projeye uygunluk
  • Test edilebilirlik ve ekip ölçeği
  • Boilerplate kodu ve bakım maliyeti
  • Projeye uygun yaklaşımı seçme kriterleri

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Durum kavrayışı

Geçici ve uygulama durumunu ayırt eder, durumun nerede tutulacağına doğru karar verebilecek sezgiyi kazanırsınız.

✅
setState sınırları

setState ve InheritedWidget'ın nerede yeterli, nerede yetersiz kaldığını kavrar ve bilinçli seçim yapabilirsiniz.

✅
Provider ustalığı

Provider'ı ChangeNotifier, Consumer, Selector ve MultiProvider dahil derinlemesine kullanarak durumu yönetebilirsiniz.

✅
ProxyProvider

ProxyProvider, FutureProvider ve StreamProvider ile bağımlı ve eşzamansız durumu güvenle yönetebilirsiniz.

✅
Riverpod

Riverpod ile StateNotifier ve AsyncValue kullanarak derleme güvenli ve test edilebilir durum yönetimi kurabilirsiniz.

✅
Bloc deseni

Bloc ve Cubit ile olay-durum akışını kurar, flutter_bloc ile arayüzü izlenebilir biçimde bağlayabilirsiniz.

✅
Mimari katmanlama

Durumu sunum, iş mantığı ve veri katmanlarına ayırarak bakımı kolay ve ölçeklenebilir mimariler tasarlarsınız.

✅
Yaklaşım seçimi

Yaklaşımları projenin ölçeğine, ekibe ve test ihtiyacına göre karşılaştırıp en uygun çözümü seçebilirsiniz.

Kimler İçin Uygundur?

  • Flutter temellerini bilen
  • durum yönetimini derinlemesine öğrenerek büyüyen uygulamalarda ölçeklenebilir mimari kurmak isteyen yazılımcılar ile mobil geliştirmede uzmanlaşmak isteyen bilgisayar bölümü öğrencileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Flutter temellerini bilen ve durum yönetimini derinlemesine öğrenmek isteyen yazılımcılar ile mobil geliştirmede uzmanlaşmak isteyen öğrenciler için uygundur. Widget ağacı ve setState ile basit arayüz kurabilecek düzeyde Flutter bilgisi beklenir.
Eğitimin süresi ve formatı nedir?
Eğitim dört gün sürer ve her gün dört modülden oluşur. Aynı örnek uygulama farklı durum yönetimi yaklaşımlarıyla yeniden kurularak desenler karşılaştırılır. Yüz yüze veya online yapılabilir ve kurumun ihtiyacına göre uyarlanabilir.
Hangi durum yönetimi yaklaşımı en iyisi?
Tek bir en iyi yaklaşım yoktur; seçim projenin ölçeğine, ekibe ve test ihtiyacına bağlıdır. Eğitim Provider, Riverpod ve Bloc'u aynı örnek üzerinde uygulayarak hangi senaryoda hangisinin uygun olduğunu karşılaştırmalı gösterir.
Sadece Provider mı öğretiliyor?
Hayır, eğitim Provider'ı derinlemesine ele alır ama onunla sınırlı kalmaz. setState ve InheritedWidget temelleri, Riverpod ve flutter_bloc da işlenir; böylece farklı projelere uygun seçim yapabilecek geniş bir bakış kazanırsınız.
Eğitim sonunda sertifika veriliyor mu?
Programı tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır. Sertifika tamamlanan modülleri ve uygulanan örnekleri belgeler; kurumsal gruplara özel uyarlama yapılabilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Flutter State Management ve Provider Kullanımı Eğitimi Sertifika Kodu DV-2026XX00 Tarih 15.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Flutter ve DartForms and Animations with Flutter: Working with Input Widgets & Forms Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Forms and Animations with Flutter: Working with Input Widgets & Forms Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

TextFormField, Form doğrulama ve seçim widget'larıyla güvenilir Flutter form akışı eğitimi. Metin girişinden dinamik forma uygulamalı ve kurumsal.

Detayları Gör →
Flutter ve DartLayouts in Flutter: Building an Application Using Layouts & Navigation Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Layouts in Flutter: Building an Application Using Layouts & Navigation Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Scaffold, Navigator ve go_router ile çok ekranlı Flutter uygulaması kurma eğitimi. İskeletten derin bağlantıya uygulamalı ve kurumsal.

Detayları Gör →
Flutter ve DartLayouts in Flutter: Exploring Stateful Widgets Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Layouts in Flutter: Exploring Stateful Widgets Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

StatefulWidget yaşam döngüsü, setState, Key ve Provider ile Flutter durum yönetimi eğitimi. Yaşam döngüsünden dayanıklılığa uygulamalı ve kurumsal.

Detayları Gör →
Flutter ve DartLayouts in Flutter: Implementing Basic Flutter Layouts Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Layouts in Flutter: Implementing Basic Flutter Layouts Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

Container, Row, Column ve kısıt modeliyle Flutter temel yerleşim eğitimi. Kutu modelinden ekran kurmaya uygulamalı ve kurumsal.

Detayları Gör →
Flutter ve DartLayouts in Flutter: Implementing Stacks, Lists, & Grids in Flutter Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Layouts in Flutter: Implementing Stacks, Lists, & Grids in Flutter Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Stack, ListView, GridView ve Sliver'larla verimli Flutter liste ve ızgara eğitimi. Katmanlardan özel kaydırmaya uygulamalı ve kurumsal.

Detayları Gör →
Flutter ve DartMobile Development: Testing & Debugging Flutter Applications Eğitimi
Mobil Uygulama Geliştirme Eğitimleri

Mobile Development: Testing & Debugging Flutter Applications Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

DevTools, flutter_test, mockito, widget ve integration_test ile Flutter hata ayıklama ve test eğitimi. Golden testten CI otomasyonuna uygulamalı.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn