ياسر القيسي
ياسر القيسي

@yasalqaisi

11 تغريدة 1,967 قراءة Jun 02, 2020
ما هو الفرق بين Stateless widgets و Stateful Widgets
هذا الثريد لكل المهتمين ببرمجة التطبيقات عن طريق بيئة عمل فلاتر وكذلك المبتدئين ومن يود دخول عالم البرمجة بشكل مبسط ومركز على مفاهيم مهمة 💙
قبل ما نبدأ ، إذا كنت مهتم بالبرمجة وخصوصًا flutter و dartوبرمجة تطبيقات الهاتف ونصائح برمجية لا تنسى تعمل متابعة للحساب والمحتوى اللي فيها
خلونا نبدأ 😊
قبل شرح الفرق بين أنواع العناصر في فلاتر، لابد نتكلم عن طريقة عمل تطبيقات الهاتف في الفلاتر من ناحية وقت التشغيل أو ال Run time
أول شيء راح نتكلم ع ال State أو الحالة
State
ببساطة، فإن واجهة التطبيق المعروضة في الهاتف تحتوي على State أو حالة ، وهذه الحالة تحتوي على مجموعة معلومات وتفاصيل هذه الواجهة والعناصر لهذه الواجهة( مثال لون الزر ، النص المعروض ... الخ )
لذلك يمكن القول أن التطبيق في كل لحظة لديه حالة او State
عند تشغيل الواجهة يتم إستدعاء دالة
InitState()
وتقوم هذه الدالة بعمل مشابه لدالة
onCreate()
في الاندرويد وهو تجهيز الواجهة وعناصرها لعرضهم على المستخدم
🔵Stateless Widgets
هي عناصر ثابتة وغير قابلة للتغيير Immutable
ومعنى ذلك ان هذا النوع من العناصر لا يمكن تغيير حالته والتطبيق قيد التشغيل
المثال التالي يوضح فكرة هذا النوع من العناصر
نلاحظ أن العنصر لا يحتوي على أي State وبالتالي حتى يتم تغيير محتوياته يجب إعادة بناءه من جديد
🔵stateful widgets
فنلاحظ إحتوائها على حالة يمكن التعامل معها وتحديثها وتغييرها
كمثال يمكن تغيير حالة لون النص عند الضغط على الزر أو إضافة عناصر عند الاتصال بالانترنت
وأهم دالتين يتم إستخدامهم في الStateful Widgets
➡️ InitState()
وفيها يتم تهيئة المتغيرات ليتم إستخدامها في الواجهة لحظة الانشاء
➡️ SetState()
وفيها يتم تحديث حالة العنصر عند حدوث أي Event مثل الضغط على زر أو إدخال نص
وهذا مثال عن تغيير لون الخلفية في حالة الضغط على الزر
في الفترة القادمة بتكلم على ال Widgets بالتفصيل ( إستخداماتهم، معلومات عنهم، واكواد برامجية )
لا تنسى تتابع الصفحة عشان ما يفوتك المحتوى
برمجة ممتعة 😃💙

جاري تحميل الاقتراحات...