Flutter | Mahmoud Azab
10.5K subscribers
1.82K photos
134 videos
10 files
298 links
اسألني في اي مشكله ان شاء الله أقدر اساعدك
🎃 @mahmoud_azab99 🎃
Download Telegram
السلام عليكم ورحمة الله وبركاته
لو سمحتوا في حد عمل
Custom Notification Sound
على ال
IOS
واشتغل معاه ؟


انا مستخدم صوت من نوع
m4a
وضيفت الصوت في XCode
ومضبط كل حاجه بس مبيشتغلش.
لو حد عنده معلومه يعرفني وجزاه الله كل خير.
حد باعت ليا الكلام ده . جزاه الله خير


السلام عليكم
كنت حبيت اضيف لحضرتك حاجه لو هتعرضها على القناه حاليا في تكست اديتور جديد مدعوم من جوجل اسمه idx
و ميزته ان هو كلاود مش بياخد من الريسورس بتاع الجهاز هو بس محتاج نت وكمان تقدر تشغل عليه فلاتر اكن علي vscode
مشكلته ان انت ما تقدرش تعمل كاستم تيمبليت لازم تكون تمبلت موجوده هو بيدعمها بس يعني انا حاليا بجرب بس فلاتر وهو شغال كويس جدا وكمان بيدعم ان هو بيفتح لك جنبه ايميليتور اندرويد وويب وبالنسبه لي بصراحه شايف ان ده حتى للناس الاجهزتها ضعيفه جدا ده هيكون كويس جدا ليها علشان هو تيكس اديتور وكمان ايميلاتور في نفس الوقت بحيث ان انت تشوف انت بتكتب في ايه
🔥15
This media is not supported in your browser
VIEW IN TELEGRAM
السلام عليكم ورحمة الله وبركاته
الحمد لله خلصنا تطبيق مع الشباب اللي متابع معاهم

اللى حابب ينضم يرد على الرساله وهكلمه ابعت له لينك الديسكورد خاص .

شروط الانضمام
تلتزم بتسليم التاسك .
بلاش اي كلام خارج عن موضوع التاسك او المجال عامه

االي بيتاخر او مش بيسلم التاسك مرتين بطلعه من الجروب اتمنى تكونوا متفهمين لكده .


وده التطبيق اللى تم تسليمه من احد الشباب

بالتوفيق ليكم جميعا يارب ✨️
❤‍🔥14🔥5🤯3
السلام عليكم ورحمه الله وبركاته
فيديو جديد عن تخصيص صوت الاشعارات على ال IOS
https://youtu.be/S0ZlI-Tr8m0
❤‍🔥6
✨️خلى النية فى قلبك انها صدقه للعلم اللى عندك


. الحمد لله حاليا ١٠ آلاف
اللى يقدر ينضم للجروب ويقدر يفيد غيره ينضم وجزاه الله كل خير .

كل سنه وانتم طيبين
❤‍🔥14
سؤال من آخر إنترفيو دخلتها!

في الإنترفيو، سألوني عن الفرق بين الطريقتين دول لما بستخدم الـ Use Case كمُتغير أو لما بإنشئه جوه الـ Bloc مباشرة.

السؤال كان: ليه استخدمت الـ Use Case كمُتغير

final AddressesUseCase addressesUseCase

وما عملتش = AddressesUseCase(...) جوه الكلاس؟


الإجابة:
الطريقة الأولى (تمرير الـ Use Case من بره) بتسهل جدًا الاختبار (Testing)، وكمان بتخلي الـ Use Case مرن بحيث تقدر تباصي ليه قيم مختلفة بسهولة.

الطريقة التانية (إنشاء الـ Use Case جوه الـ Bloc) مش عملية، لأنك مش هتقدر تعمل Mock أثناء الـ Testing، وكمان الـ Use Case هيكون ثابت ومش قابل للتغيير مع البلوك.




بالمناسبة، الـ Mock يعني انك تعمل داتا وهميه عشان عمليه ال Testing
❤‍🔥16
مطلوب حد يكون كويس في
Firebase cloud
AI
يتواصل مع
@danau93alhassny
ليه بنستخدم Equatable مع ال flutter_bloc ؟
لما بتشتغل بـ Bloc بتحتاج تقارن بين ال Objects، وخصوصًا الـ States والـ Events. هنا بييجي دور Equatable.

المشكلة الأساسية:
بشكل افتراضي، دارت بتقارن الكائنات بناءً على مكانها في الذاكرة، مش بناءً على القيم اللي جواها. يعني لو عندك حالتين بنفس القيم، دارت هتشوفهم مش متطابقين لأنهم كائنين مختلفين في الذاكرة.

ده ممكن يعمل مشاكل مع Bloc، لأنه بيعيد بناء الواجهة (UI) حتى لو البيانات مفيهاش تغيير فعلي.

الحل: استخدام Equatable
Equatable بيخلي Dart تقارن ال Objects بالقيم اللي جواها بدل ما تعتمد على مكانها في الذاكرة.
الخلاصة:

Equatable بيمنع إعادة بناء الواجهة بدون داعي.
بيخلي Bloc يعرف إن الحالة مفيهاش تغيير حقيقي، فميعملش إعادة بناء (Rebuild).
بيخلي الكود أنضف وأسهل في التعامل مع الـ States والـ Events.
لو بتشتغل بـ Bloc أو أي State Management، استخدم Equatable عشان الأداء يكون أسرع والكود أنضف.
❤‍🔥17🔥5
سألت نفسك ليه وإنت شغال بـ Bloc دايمًا بتعمل main event يكون abstract؟

وهل لو استغنيت عنه، ممكن يحصل مشكلة؟
زي ما نت شايف في اول صوره مع وبدون

في الطريقة الصحيحة (باستخدام abstract class)، هتلاقي إن Bloc مرتبط بنوع معين من الأحداث وهو AddressesEvents، وده معناه إنه يقبل فقط الأحداث الخاصة به، وبالتالي يمنع تمرير أي بيانات غير صحيحة.

أما في الطريقة الخطأ (بدون abstract class)، Bloc معتمد على Object، وده معناه إنه يقبل أي كائن كحدث، حتى لو مش تابع للـ Bloc ده!

وده مثال في عدم استخدام استخدام ال abstract class

context.read<AddressesBloc>().add("حدث غير صالح");
context.read<AddressesBloc>().add(12345)
❤‍🔥10
مع رابع سؤال في الانترفيو !
اي هي ال copyWith ولي انت مستخدمها عندك وهيحصل اي لو شيلتها من الكود
او بتحل مشكله اي ؟

تخيل معايا كده عندك Class عادي وجيت تعمل منه instance زي اول صوره كده

لو جيت بقا تعدل على قيم ال instance ده مش هتقدر
وهيكون الحل الوحد انك تعمل instance جديد وكده الموضوع هيكون متعب لان هتكرر الاكواد وتخيل بقا لو عندك ٢٠ متغير فده هيكون متعب فعلا وغير صحيح .


وهنا بقا تيجي اهميه ال copyWith
وممكن تسميها زي ما تحب بس المسمي ده عشان هي بتعمل copy فعلا

💡هي بتعمل اي بقا الميثود دي ؟
بتساعدك انك تعمل instance جديد من ال Class بتاعك مع امكانيه تعديل بعض المتغيرات وممكن تسيب متغيرات متعدلش عليها بمعني اصح تحافظ علي قيم المتغيرات الللى معدلتش عليها زي ما هي .

طريقه عمل ال copyWith زي الصوره التانيه مع مثال .


قناه اليوتيوب بنزل عليها شروحات لمواضيع ممكن تفيدك
https://www.youtube.com/@azabcodes
❤‍🔥7🔥4
السلام عليكم ورحمة الله وبركاته
في موضوع معين عايزين له شرح ؟
السلام عليكم ورحمة الله وبركاته.
بجهز لكورس عن
Clean Architecture
وكنت محتاج تطبيق متوفر له
UI & API

اللى يعرف او يقدر يوفر ليا حاجه زي كده
اكون شاكر ليه جدا. و جزاكم الله خيرا
❤‍🔥11🔥4
من الحاجات اللي بستخدمها أساسي في كل مشروع مع الـ
Bloc
هي BuildScreenWhen
وده طبعا بيتم من خلال ال
RequestState

من خلالها بتحكم في اللي يظهر على الشاشة حسب حالة البيانات بكل سهولة، سواء:
loading– لما البيانات لسه بتيجي
loaded – البيانات وصلت وزي الفل
error – حصلت مشكلة
empty – مفيش بيانات أصلًا
noNetwork – الإنترنت فاصل
❤‍🔥12🔥3
السلام عليكم ورحمة الله وبركاته،
إن شاء الله هبدأ في أول سلسلة على القناة وهتكون عن Flavors في Flutter، واللي هتساعدك تتحكم في إصدارات التطبيق بسهولة.
في السلسلة دي، هشرح لك:
تخصيص الأيقونة لكل بيئة (Development | Staging | Production)
إعداد شاشة Splash Screen مخصصة لكل نسخة
ربط كل إصدار بـ Firebase الخاصة بيه

نزلت اول فيديو مقدمه بسيطه عن الموضوع :
https://youtu.be/CpcBDUzRhrY?si=zTol6qiVpykfP9bw
❤‍🔥12🔥81
ممكن برضو تبعت الفيديو ده للمصمم اللي بيعمل الايقونات ليكم لو مش عايزين تعملوهم بنفسكم

السلام عليكم ورحمة الله وبركاته

تاني فيديو من سلسلة Flutter Flavors
في الفيديو ده، هنتعلم إزاي نصمم الأيقونة بنفسنا بحيث تكون Adaptive Icon وتشتغل بشكل مثالي على Android و iOS، وكمان هنحل مشكلة Clipped by OS اللي بتواجه ناس كتير أثناء تصميم الأيقونات.

إيه اللي هنتعلمه في الفيديو؟
إزاي تعمل (Adaptive Icon)؟
إيه الفرق بين Foreground و Background في الأيقونات؟
إزاي تضمن إن الأيقونة متبقاش مقصوصة أو مشوهة على الأجهزة المختلفة؟


https://youtu.be/QI-N3P1RFqk
❤‍🔥9
السلام عليكم ورحمه الله وبركاته .

مع الجزء التالت من سلسلة تعلم الـ Flavors، هنتعلم إزاي نعمل
Splash Screen
مخصصة لكل Environment في مشروع Flutter.
في الفيديو ده، هتعرف:
إزاي تجهز Splash Screen لكل بيئة
(Prod, Dev, Stg)
لو متابعتش السلسله تقدر تشوف الفيديو الجديد من هنا

https://youtu.be/KZMQatgYW4Q
❤‍🔥9
عايز تبعت تحديثات لتطبيقك من غير ما تعيد نشره على المتجر؟!

لو بتشتغل على Flutter، أكيد عارف إن أي تعديل في الكود معناه لازم تبني التطبيق من الأول وترفعه على المتجر وتستنى المراجعة، وده ممكن يكون متعب جدا

لكن مع Shorebird Code Push، تقدر تبعت تحديثات فورية للمستخدمين من غير ما تحتاج ترفع التطبيق من جديد

شوف الفيديو هنا وتعلم إزاي تستخدم Shorebird في تطبيقك
https://youtu.be/LX65WcrwtQc
❤‍🔥17🔥1
السلام عليكم ورحمة الله وبركاته.
تقبل الله منا ومنكم وكل عام وانتم بخير جميعا
عيد فطر مبارك 🌹
❤‍🔥17