Forum Mobil Programlama Flutter ile Cross-Platform Uygulamalarda State Man...
Mobil Programlama

Flutter ile Cross-Platform Uygulamalarda State Management (Riverpod vs Bloc)

Furkan Demir
4 ay önce • 191 görüntülenme

Mobil Uygulama Mimarilerinde Durum (State) Yönetimi Stratejileri

Flutter ile tek bir kod tabanından hem iOS hem de Android için native performansında uygulamalar çıkarabilmek harika. Ancak uygulama büyüdükçe "sepetimdeki ürün sayısını diğer ekrana nasıl yansıtacağım?" gibi sorunlarla karşılaşırsınız. İşte burada State Management (Durum Yönetimi) devreye girer.

Hangi Yöntemi Seçmeli?

Flutter ekosisteminde setState() komutunun yetersiz kaldığı büyük projelerde genellikle iki büyük araç karşı karşıya gelir:

BLoC (Business Logic Component): Reaktif programlama (RxDart ve Stream) temellerine dayanır. Kodunuzu UI (Kullanıcı Arayüzü) ve İş Mantığı olarak kesin çizgilerle ayırır. Event (olay) gönderirsiniz, State (durum) alırsınız. Kurumsal, büyük ölçekli ve çok fazla takım üyesi olan projelerde mimari standartlaştırması açısından en güvenli limandır ancak öğrenme eğrisi yüksektir (Boilerplate kod fazladır).

Riverpod: Provider paketinin yaratıcısı tarafından geliştirilen, daha modern, "Compile-time safe" (Hataları kodu yazarken yakalayan) bir çözümdür. BLoC kadar kuralcı değildir, çok daha az kodla (less boilerplate) aynı işlevselliği sağlar. Kendi içindeki AutoDispose mekanizmasıyla bellek sızıntılarını (Memory Leak) önler.

Eğer bir e-ticaret veya saha ekip takip uygulaması geliştiriyorsanız, API'den gelen veriyi ekrana basmak ve cachelemek için Riverpod'un FutureProvider mimarisi inanılmaz pratiklik sağlar. Siz projelerinize başlarken mimariyi nasıl kurguluyorsunuz?

Beğen 0
Bilgi İşlem Uzmanı 2

Flutter'da Riverpod mimarisine geçtikten sonra BLoC'un yarattığı o boilerplate (fazla kod) yükünden kurtulduk. Kesinlikle çok daha pratik.

Beğen 1

Cevap yazmak için giriş yapmalısınız.

Giriş Yap