01. شرح Bloc فى flutter بأسلوب لن تنساه أبداً | نظري
HTML-код
- Опубликовано: 19 окт 2024
- شرح Bloc فى flutter - الجزء الثاني (تطبيق عملي) :
• 02. شرح Bloc فى flutte...
flutter_bloc package :
pub.dev/packag...
bloc package :
pub.dev/packag...
رابط الملخص pdf:
www.mediafire....
شرح Flutter,
شرح Flutter Bloc,
flutter bloc,
شرح Bloc Flutter,
Bloc Flutter,
Bloc,
بلوك فى الفلاتر,
شرح Bloc,
cubit,
flutter بالعربي,
bloc,
flutter,
flutter_bloc,
flutter bloc package,
state,
state management,
blocprovider,
bloclistener,
buildcontext,
widget tree,
bloc architecture,
flutter bloc concepts,
bloc concepts,
flutter cubit,
شرح flutter bloc,
Bloc Pattern,
flutter شرح,
flutter tutorial,
flutter للمبتدئين,
flutter عربي,
bloc builder,
bloc flutter,
bloc pattern,
flutter bloc pattern,
bloc provider,
#MAlazhariy
#Cubit
#Flutter
خد تعالى هنا رايح فين؟
من أهم الخطوات اللى لازم تعملها لما تتعلم حاجة جديدة خصوصا لو كانت تقيلة شوية هى انك تتدرب كتير
درب إيدك على كتابة الكود على المثال اللى شرحته فى الفيديو وبعدين حاول تخترع من دماغك أمثلة وتتدرب عليها باستخدام الBloc لإنك لو شفت الفيديو بدون ما تتدرب يبقى كإنك ما عملتش حاجة!
بالتوفيق للجميع 💙
احلى واحسن أستاذ . مافي احسن من هيك شرح!! 🙏❤️
💙💙🙏
شرح فعلا فعلا ممتاز جدا ❤❤❤
شكراً لك يا هندسه فعلاً اسلوب لن تنساه
thank you so much engineer mostafa
الواحد كان بيسمع اشباه شروحات والله .. بارك الله فيك
وفيكم بارك الله يا هندسة 💙
متميز وواحد واحلى اسلوب احبه بل اعشقة وهي الخطوات في العمل setup by setup ووضع خطط واضحه للعمل .. شكرا لك ... اشتراك واعجاب ولايك ولو ودي اكثر من هيك
الفكرة ان الواحد لما بيتعلم البلوك لأول مرة بياخد كم كبير من المعلومات مرة واحدة فالعقل بيتشتت ولو نفس الحاجة اتشرحت بطريقة منظمة ومرتبة بس هتتفهم بكل سهولة .. ودا اللى خلانى أسجل الفيديو ده
شكراً ليك على تعليقك الجميل 💙
@@MAlazhariy فعلا كلامك واقعي ... وهذا الذي فعلا خلاني فجاه افهم البلوك ولن انساه .... عندي سؤالين الاول ايش فائده الحالتين الزياده والنقصان ونحن لم نضع شي بيها اقصد اننا عملنا كلاس فقط والسؤال الثاني لو اريده يعمل على كامل التطبيق المفروض يكون في المين الرئيسي فايش سيكون الاختلاف
@@here238
فايدة كلاس الزيادة والنقصان اننا عملنا الحالات بإيدينا عكس ستايتفول ويدجيت اللى كنا بنعمل سيت ستيت وخلاص بدون تسمة
فالكلاسات هنا بنعملها علشان تكون بمثابة حالات التطبيق وبنستفيد منها جداً قدام شوية لما نشتغل على مشروع أكبر شوية
خلينى اضربلك مثال
أنا معايا الحالات دى
LoginLoadingState
LoginDoneState
LoginErrorState
وعامل واجهة تسجيل دخول بطلب من المستخدم يكتب البريد وكلمة السر علشان يسجل الدخول وبعدين باخد البيانات دى من المستخدم وببعتها للسيرفر عن طريق
api
وبعدين برجع من السيرفر بالبيانات إما إن تسجيل الدخول تم بنجاح فأنقل المستخدم للتطبيق أو ان تسجيل الدخول فشل أو الإيميل غير صحيح مثلاً فأطلع رسالة للمستخدم ان الإيميل أو كلمة السر غلط ويرجى المحاولة مرة أخرى والتأكد من البيانات مثلاً
مش هندخل فى التفاصيل دى خلينى بس أركز فى نقطة واحدة
أنا عايز لما المستخدم يكتب الإيميل والباسورد ويدوس تسجيل دخول يطلعله علامة تحميل لحد ما البيانات تروح السيرفر وتيجى وعلى حسب سرعة النت كمان
فحاجة زى كده هتتعمل بسهولة من خلال البلوك والحالات بتاعة البلوك
بكل سهولة أنا فى كلاس البلوك بعمل الدالة اللى بتبعت البيانات للسيرفر وبقولها أثناء ما البيانات بتتبعت إعملى
emit(LoginLoadingState);
يعنى يدخل فى حالة التحميل، وأول ما تحميل البيانات ينتهى هقوله يدخل فى الحالة التانية اللى هى تم التحميل .. بالشكل دا
emit(LoginDoneState);
وبعدين هروح فى كلاس الواجهة عند البلوك كونسيومر فى الليسنار
listner: (context, state){}
وهكتبله جوا البراكيتس أمر إن فى أثناء ما البيانات بتحمل يعرض للمستخدم دايرة التحميل
listner: (context, state){
if(state is LoginLoadingState)
{
Text('جارى التحميل');
CircularProgressIndicator();
}
},
فهنا لو ركزت أنا أديتله شرط إف وقلتله لو الحالة الحالية هى
LoginLoadingState
يبقى نفذلى الكود دا
فاللى هيحصل كالآتى
1. المستخدم هيكتب الإيميل والباسورد وهيدوس تسجيل الدخول
2. لما يدوس تسجيل دخول هتتنفذ دالة فى البلوك هى اللى بتبعت البيانات دى للسيرفر علشان تتأكد منها وهتعمل حالة التحميل
LoginLoadingState
لحد ما البيانات تحمل
3. الليسنار اللى احنا كتبنا فيه الكود هيلاقى الشرط اللى فيه متحقق واننا فعلا فى حالة التحميل فهينفذ الكود اللى جوا وهيعرض النص دا والدايرة اللى بتحمل
4. الإيه بي آى خلص تحميل وبعت البيانات للسيرفر ورجع بالنتيجة وخلصنا خلاص ودخلنا فى حالة
LoginDoneState
فالشرط اللى فى الليسنار مبقاش متحقق فعلامة التحميل هتختفى خلاص ونبدأ نعرض للمستخدم بقى على حسب إذا كان البريد والباسورد صح أو غلط!
فهنا بقى بيبان فايدة الحالات اللى بنعملها واننا ليه بنكتب كلاس لكل حالة وان الإيميت مش بس بتعمل ريبيلد للاسكرينا أو لأجزاء من الاسكرينا لأ دا كمان البلوك أساسا قوته فى إنه بيدير التطبيق والحالات وبينظملك الدنيا خالص
ولما تعمل
bloc observer
ويطلعلك النتايج فى الرن تحت هتفهم كل حاجة بتمشى ازاى
وطبعاً كان ممكن اعمل حالة واحدة بس وأسميها
ChangeNumberValue
مثلاً .. بس انا حبيت أمشى على المثال اللى شرحت عليه وأعمل حالة لكل حاجة وفى النهاية هيطلعلى نفس النتيجة
بس دا ممكن يفيدنى إنى أسمى كل حاجة لوحدها لو حبيت أدى أمر مثلا لما أجمع يحصل كذا ولما أطرح يحصل كذا
أتمنى اكون قدرت أجاوبك على سؤالك
@@here238 السؤال التانى مفيش اختلاف وعادى ممكن تعمله فى المين الرئيسي للتطبيق كامل وزى ما اتفقنا أى متغير هيتغير هنحطه فى البلوك وهنعمل حالة فى ملف الحالات
إنت بتتابع مين؟ يعنى بتتعلم الفلاتر من مين؟
فى كورس كويس خالص أنا بتابعه على يوديمى لعبدالله منصور سعره 13 دولار فقط أنصحك بيه
ولو مش هتقدر تدفع هبعتلك خصم 100% على الكورس أول الشهر ان شاء الله هو عامل عليه خصم وتتعلم مجاناً وهتلاقى فى الكورس كل اللى انت محتاجه وهتشتغل بالبلوك وهتعمل تطبيق تسوق وتطبيق ماسنجر وهتتعامل بالإيه بي آى والفايبربيز وهتخرج من الكورس مستواك كويس ان شاء الله
@@MAlazhariy رد شافي وكافي .. ومشكور وجزاك الله الف خير
ماشاء الله ❤
شرح بسيط وجامد اوي منتظر القادم 🥰
شكراً لتعليقك، تسلم لذوقك 💙
شرح جميل جدا وبسيط ومرتب المعلومات
شكراً لتعليقك الجميل
بالتوفيق
جزاك الله خيرا تصدق ب الله انت شارحها افضل من كورس يودمي مدفوع انا بذاكره ❤❤
وجزاكم بالمثل وزيادة 💙
اجمل شرح
فناااااااااااااان 😍
الله ينور
والله جامد عاش🖤🖤
هل في ماتريال زي ال cubit لبقيت الحاجات زي api مثلا او sqlfilte
للأسف حالياً مفيش يا مروان 😅
شكرا لحضرتك
العفو 💙
شرح جميل جد
ممكن تعمل كورس تعلم flutter
ياريت بعد ذلك getx بنفس الاسلوب
بصراحة أنا شغال بالبلوك وحالياً معايا شغل وتعلم GetX وتحضيرها هياخد وقت فصعب دلوقتى لكن ممكن مستقبلاً إن شاء الله انزلها شرح
شكراً عالنصيحة
ممتاز
شكرا يا مينا 💙
❤
ممكن نتواصل معك
طبعا تحت أمرك
تقدر تتواصل معايا على فيسبوك من هنا: facebook.com/MAlazhariy