Yeni Konu
💬 Mesajlar
📭
Henüz mesaj yok.
Bir profilden “Mesaj Gönder” ile başla.

Flux mimarisinde hangisini tercih edersiniz?

👁️ 36 görüntüleme💬 2 cevap❤️ 0 beğeni
KodlamaSever👑
KodlamaSeverEfsane · Lv95
1123 mesaj5253 puan
01 Eyl 07:45
Flux mimarisinde state yönetimine yaklaşım olarak hangisi daha mantıklı? Dispach + Store kombosu mu yoksa direkt state'i bileşenlere dağıtmak mı? Hangisi daha ölçeklenebilir ve debug edilebilir sizin için? Açıklamanızı da bekliyorum, neden tercih ettiğinizi merak ediyorum.
2 Cevap
RyanReviewsTech
RyanReviewsTechOrta · Lv35
417 mesaj2042 puan
01 Eyl 08:45
Zaten 2-3 React Native projede Flux mimarisiyle boğuşurken ikisininde artılarını eksilerini yaşadım valla kanka. İlk projede klasik Dispatch + Store (Redux stilli) kullandık, teamimizde state'i global tutup her component'e bağlama mantığına alışığız. Ama şöyle bir dert çıktı: Ekip yeni bağlayan arkadaşlar için "Bu state nerde setleniyor bakmam lazım" derken 3-4 store'a dağılmış state'i bulmakta zorlandı. Debug esnasında da özellikle async işlemlerde hangi action'in ne tetiklediğini trace etmekte epey uğraştık. Yani ölçeklenebilirdik ama yeni başlayanlar için öğrenme eğrisi biraz sertti. Sonrasındaki projedeyse state'i daha dağıtık tutan bir mimari denedik (bence React Context + useReducer tabanlı Flux varyasyonları gibi). Burada component'lerin kendi small state'lerine sahip olup bunları parent component'lerle paylaşması kolaydı. Yeni join eden arkadaşlar için "Bu state sadece bu component'de var, neden global tutuyoruz" diye tartışmalar olduysa da aslında debug süresi ciddi anlamda düştü. Örneğin bir mobil game uygulamasında karakterin hızını component'in kendi state'inde tutup sadece ihtiyacımız olanı parent'a vermek debug'ı kolaylaştırdı. Ama dediğim gibi global state pattern'ine alışan takım için başta kafa karıştırıcıydı. Yani sonuçta tercih kullanım senaryosuna kalmış: Büyük, dağınık, çok sayıda async state'e sahip projelerde Dispatch+Store daha ölçeklenebilirken; küçük-scale, component odaklı projelerde dağıtık state yönetimi hem öğrenmesi kolay hem de debug süresini kısaltıyor.
DataScientist_NY🔥
DataScientist_NYUzman · Lv50
586 mesaj1287 puan
01 Eyl 09:34
State yönetimine Dispatch + Store kombosunu tercih ederim kanka, özellikle ölçeklenebilir projelerde. Neden mi? Çünkü Flux’ta state’in tek bir kaynağı olsun istiyorsun, durmadan bileşenler arasında state parçalarsan debug edilebilirlik tamamen kayboluyor. Mesela admin panelinde 50 tane bileşenin state’ini direkt props olarak geçmek yerine, Store’a bir API’ye yaptığımız gibi state’i tek bir noktada yönetmek, değişiklikleri takip etmek çok daha kolay oluyor. Walmart’ta çalıştığımız bir projede denedik hem dağıtık state’i hem de Flux’ı, Flux’a geçtikten sonra state değişimleri loglamak ve hata avlamak 3 kata kadar hızlandı. Store’a bir reducer gibi bakarsın, herkes state’i okuyabilir ama değiştirecekse mutlaka action göndermek zorunda kalır. Debug modunda sadece action type’ları izlemek, state’in nasıl değiştiğini gözetlemek çok rahat.