Flutter State Management
Provider, Riverpod 3 və BLoC/Cubit — Flutter-də state idarəetməsinin dərin təhlili: altındaki mexanizmlər, test, performans, arxitektura, migrasiya və müsahibə sualları.
Mərhələlər
Təməl mexanizmlər
Hər state management library-si Flutter-in eyni bir neçə mexanizminin üzərində qurulub: rebuild modeli, InheritedWidget və Listenable. Bunları bilmədən library seçimi zövq məsələsinə çevrilir.
Provider və ChangeNotifier
Ən çox yayılmış və ən çox səhv istifadə olunan yanaşma. Provider-i bilmək məcburidir: `flutter_bloc` da onun üzərində qurulub, köhnə codebase-lərin böyük hissəsi də bununla yazılıb.
🔓 Tövsiyə: əvvəlcə: Təməl mexanizmlər
Riverpod 3
Provider-in müəllifinin onun məhdudiyyətlərini həll etmək üçün yazdığı library: provider-lər ağacdan kənarda yaşayır, async state hazır gəlir, testdə hər şey əvəz olunur. Bu mərhələ 3.x-in API-larına söykənir.
🔓 Tövsiyə: əvvəlcə: Provider və ChangeNotifier
BLoC və Cubit
Böyük komandaların və audit tələb edən məhsulların seçimi: hər state dəyişikliyinin arxasında adı olan bir event dayanır. Bu mərhələ bloc 9.x və flutter_bloc 9.x API-larına söykənir.
🔓 Tövsiyə: əvvəlcə: Riverpod 3
Arxitektura, immutability və performans
State management seçimi arxitekturanın yalnız bir hissəsidir. Bu mərhələ state-in hansı layer-də yaşaması, immutability-nin performansla əlaqəsi və rebuild-lərin idarəsi haqqındadır — müsahibələrdə senior sualların əsas hissəsi buradan gəlir.
🔓 Tövsiyə: əvvəlcə: BLoC və Cubit
Migrasiya və kod generasiyası
Real layihələr sıfırdan yazılmır: kod köhnə API-larla doludur, library-lər major versiya buraxır. Bu mərhələ keçid strategiyaları və codegen haqqındadır — senior müsahibələrində "legacy ilə nə edərdiniz?" sualının cavabı.
🔓 Tövsiyə: əvvəlcə: Arxitektura, immutability və performans
Müsahibə hazırlığı
Bilikləri cavaba çevirmək mərhələsi: müqayisə arqumentləri, sürətli suallar, live coding və code review ssenariləri. Bütün cavablar middle → senior gözləntisinə uyğun qurulub.
🔓 Tövsiyə: əvvəlcə: Migrasiya və kod generasiyası
📚 Mənbələr və sənədlər
- Flutter: state management seçimlərirəsmidocs.flutter.dev
Flutter komandasının rəsmi mövqeyi — hansı yanaşmaların mövcud olduğu və seçimin nədən asılı olduğu.
- Flutter arxitektura bələdçisirəsmidocs.flutter.dev
State-in hansı layer-də yaşaması sualının rəsmi cavabı: view, view model, repository, service.
- Flutter arxitekturası: case studyrəsmidocs.flutter.dev
Bələdçidəki prinsiplərin real layihə kodunda necə göründüyü.