TGViewer
Flutter | Mahmoud Azab Flutter | Mahmoud Azab @flutter_apps99 · 9.43K subscribers
Post #2362 6K
#منقول

خلونا نتكلم النهاردة شوية عن ال state management واية مفهوما وبعدها هنتكلم عنها بالخصوص مع flutter وكل نوع مبني علي اية وبيشتغل ازاي
البوست دة هيكون طويل شوية عشان التفاصيل اللي فية كتير شوية

مبدئيا كدة هو اية ال
core
بتاع ال
state management ؟


بص يا صديقي هي اي
state managment
شغاله علي حاجتين وهما

1- Data Flow:
هو الطريقة اللي الdata
بتتحرك بيها جوه التطبيق عشان تتأكد إن الupdates
بتحصل في مكان واحد وتتوزع بشكل منظم لكل الأجزاء اللي محتاجاها وهقولك بالتفصيل الموضوع دة بيحصل جوه
flutter
ازاى.

2-Reactivity:
هي إن التطبيق يكون مراقب أو منتبه للتغييراتupdates
اللي بتحصل في الdata،
وده عشان يعمل update لل ui فورًا من غير تدخل يدوي ودة اكتر حاجة مستخدمة في flutter عموما وبرضو هنشرحها بالتفصيل وكل State management بتستخدم المبدأ دة ازاي.


تمام كدة ؟ فهمنا اي state management شغاله علي اية ؟ يلا بينا بقي نشرح الموضوع بالتفصيل في flutter

طيب اية هي انواع ال state في flutter ؟


في Flutter، عندنا نوعين رئيسيين من الstates:

1- Ephemeral State :

ودي state بسيطة زي state زرار معين، أو قيمة text موجودة في وwidget معينة الحالة دي ممكن نتحكم فيها باستخدام setState، ودي بتكون مفيدة في الحاجات الصغيرة.

2- App-wide or Global State :

ودي state بتأثر على أكتر من widget في التطبيق زي login state أو user data state أو app settings الstate دي محتاجة حلول أكتر تعقيدًا من setState لأنها بتأثر على التطبيق كله.


طيب حلو كلام جميل, اية هي بقي المبادئ اللي بيتبني عليها الكلام دة ؟
بص يا صديقي كل حلول ال
state management
مبنية على شوية مبادئ أساسية وهما:

1- Single Source of Truth:

بمعنى إننا بنخلي فيه مكان واحد بيحتفظ بكل الdata الأساسية عشان نبقى عارفين إن دايمًا الdata جايه من نفس المكان. ده ممكن يكون model، controller، أو class

بيحافظ على الdata.

2- Unidirectional Data Flow:
بنخلي الdata تمشي في اتجاه واحد عشان يبقى سهل متابعة الupdates. يعني الdata بتروح من:
source → state → ui
أي تعديل الuser يعمله بيعمل update للsource اللي بعد كده بي
update الstate
وده بينعكس

في الui.

3-Immutability:

بعض الحلول بتشجع على استخدام data ثابتة، بمعنى بدل ما نعدل الdata اللي موجودة، بنعمل data جديدة تمثل الstate الجديدة. ده بيسهل علينا متابعة الchanges.

4-Reactive Updates:

بمعنى إن الui يحصلها update تلقائيًا لما الstate تتغير بمعنى إن الui تبقى مراقبة للstate وبتupdate نفسها بمجرد ما يحصل اي state changes.


طيب خلصنا المبادئ ؟ اية هي بقي الاساسيات ؟

فية شوية اساسيات كدة هلاقيهم في ال state managements اللي موجودة وهما :

1- الـ InheritedWidget:

هي built in widget في Flutter، وبتسمح للdata إنها تتنقل لأخر ال widget tree. بنستخدمها لما نحتاج وwidgets فرعية تشوف نفس الdata زي ما بنشوف مع الـ Theme وMediaQuery اللي جايين مع Flutter

2- الـ Streams و الـ Sinks:

هي data channels، تقدر تستقبل data جديدة وتتفاعل معاها فورًا. زي مثلا Stream ممكن يبعت data أو يستقبل updates جديدة
نستخدمهم في حاجة زي BLoC اللي بيفصل business logic بتاع التطبيق عن الui

3- State Notifiers and Observables:

بتكون variables بتتغير وبمجرد ما تتغير، الwidgets اللي بتراقبها بتتغير زي ما موجود في provider و Riverpod و GetX
  • ❤‍🔥 18
More from @flutter_apps99
  1. Oct 4, 2026السلام عليكم ورحمة الله وبركاته اللى عايزك يشارك فى الأجر ممكن يجرب التطبيق ولو فيه مشاكل…
  2. Sep 27, 2026No PNGs. No SVGs. No Lottie files. Our Maab onboarding is pure canvas , built with CustomP…
  3. Sep 22, 2026Splash screen for مآب | Maab — a fully custom animated Quran experience built from scratch…
  4. Sep 2, 2026https://azabcodes-portfolio.web.app/
  5. Aug 6, 2026🚀 ارتقِ بتجربة تحديث تطبيقك مع "app_upgrade_checker"! دعم 7 لغات، وإمكانية جلب أحدث الإصد…
  6. Aug 5, 2026السلام عليكم ورحمة الله وبركاته باكدج جديده عشات تعمل Pick للصور أو الفيديوهات والملفات بن…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →