Flutter | Mahmoud Azab
رفتن به کانال در Telegram
اسألني في اي مشكله ان شاء الله أقدر اساعدك 🎃 @mahmoud_azab99 🎃
نمایش بیشتر9 761
مشترکین
-224 ساعت
-117 روز
-6330 روز
آرشیو پست ها
سألت نفسك ليه وإنت شغال بـ Bloc دايمًا بتعمل main event يكون abstract؟
وهل لو استغنيت عنه، ممكن يحصل مشكلة؟
زي ما نت شايف في اول صوره مع وبدون
في الطريقة الصحيحة (باستخدام abstract class)، هتلاقي إن Bloc مرتبط بنوع معين من الأحداث وهو AddressesEvents، وده معناه إنه يقبل فقط الأحداث الخاصة به، وبالتالي يمنع تمرير أي بيانات غير صحيحة.
❌ أما في الطريقة الخطأ (بدون abstract class)، Bloc معتمد على Object، وده معناه إنه يقبل أي كائن كحدث، حتى لو مش تابع للـ Bloc ده!
وده مثال في عدم استخدام استخدام ال abstract class
context.read<AddressesBloc>().add("حدث غير صالح");
context.read<AddressesBloc>().add(12345)
ليه بنستخدم Equatable مع ال flutter_bloc ؟
لما بتشتغل بـ Bloc بتحتاج تقارن بين ال Objects، وخصوصًا الـ States والـ Events. هنا بييجي دور Equatable.
المشكلة الأساسية:
بشكل افتراضي، دارت بتقارن الكائنات بناءً على مكانها في الذاكرة، مش بناءً على القيم اللي جواها. يعني لو عندك حالتين بنفس القيم، دارت هتشوفهم مش متطابقين لأنهم كائنين مختلفين في الذاكرة.
ده ممكن يعمل مشاكل مع Bloc، لأنه بيعيد بناء الواجهة (UI) حتى لو البيانات مفيهاش تغيير فعلي.
الحل: استخدام Equatable
Equatable بيخلي Dart تقارن ال Objects بالقيم اللي جواها بدل ما تعتمد على مكانها في الذاكرة.
الخلاصة:
Equatable بيمنع إعادة بناء الواجهة بدون داعي.
بيخلي Bloc يعرف إن الحالة مفيهاش تغيير حقيقي، فميعملش إعادة بناء (Rebuild).
بيخلي الكود أنضف وأسهل في التعامل مع الـ States والـ Events.
لو بتشتغل بـ Bloc أو أي State Management، استخدم Equatable عشان الأداء يكون أسرع والكود أنضف.
سؤال من آخر إنترفيو دخلتها!
في الإنترفيو، سألوني عن الفرق بين الطريقتين دول لما بستخدم الـ Use Case كمُتغير أو لما بإنشئه جوه الـ Bloc مباشرة.
السؤال كان: ليه استخدمت الـ Use Case كمُتغير
final AddressesUseCase addressesUseCase
وما عملتش = AddressesUseCase(...) جوه الكلاس؟
فكر في الإجابة قبل ما تكمل.
الإجابة:
✅ الطريقة الأولى (تمرير الـ Use Case من بره) بتسهل جدًا الاختبار (Testing)، وكمان بتخلي الـ Use Case مرن بحيث تقدر تباصي ليه قيم مختلفة بسهولة.
❌ الطريقة التانية (إنشاء الـ Use Case جوه الـ Bloc) مش عملية، لأنك مش هتقدر تعمل Mock أثناء الـ Testing، وكمان الـ Use Case هيكون ثابت ومش قابل للتغيير مع البلوك.
بالمناسبة، الـ Mock يعني انك تعمل داتا وهميه عشان عمليه ال Testing
✨️خلى النية فى قلبك انها صدقه للعلم اللى عندك
. الحمد لله حاليا ١٠ آلاف
اللى يقدر ينضم للجروب ويقدر يفيد غيره ينضم وجزاه الله كل خير .
كل سنه وانتم طيبين
السلام عليكم ورحمه الله وبركاته
فيديو جديد عن تخصيص صوت الاشعارات على ال IOS
https://youtu.be/S0ZlI-Tr8m0
السلام عليكم ورحمة الله وبركاته
نزل فيديو جديد على القناه عن
Splash screen
على أندرويد ١٢
https://youtu.be/h9rfbCgUrtQ
السلام عليكم ورحمة الله وبركاته
الحمد لله خلصنا تطبيق مع الشباب اللي متابع معاهم
اللى حابب ينضم يرد على الرساله وهكلمه ابعت له لينك الديسكورد خاص .
شروط الانضمام
تلتزم بتسليم التاسك .
بلاش اي كلام خارج عن موضوع التاسك او المجال عامه
االي بيتاخر او مش بيسلم التاسك مرتين بطلعه من الجروب اتمنى تكونوا متفهمين لكده .
وده التطبيق اللى تم تسليمه من احد الشباب
بالتوفيق ليكم جميعا يارب ✨️
حد باعت ليا الكلام ده . جزاه الله خير
السلام عليكم
كنت حبيت اضيف لحضرتك حاجه لو هتعرضها على القناه حاليا في تكست اديتور جديد مدعوم من جوجل اسمه idx
و ميزته ان هو كلاود مش بياخد من الريسورس بتاع الجهاز هو بس محتاج نت وكمان تقدر تشغل عليه فلاتر اكن علي vscode
مشكلته ان انت ما تقدرش تعمل كاستم تيمبليت لازم تكون تمبلت موجوده هو بيدعمها بس يعني انا حاليا بجرب بس فلاتر وهو شغال كويس جدا وكمان بيدعم ان هو بيفتح لك جنبه ايميليتور اندرويد وويب وبالنسبه لي بصراحه شايف ان ده حتى للناس الاجهزتها ضعيفه جدا ده هيكون كويس جدا ليها علشان هو تيكس اديتور وكمان ايميلاتور في نفس الوقت بحيث ان انت تشوف انت بتكتب في ايه
السلام عليكم ورحمة الله وبركاته
لو سمحتوا في حد عمل
Custom Notification Sound
على ال
IOS
واشتغل معاه ؟
انا مستخدم صوت من نوع
m4a
وضيفت الصوت في XCode
ومضبط كل حاجه بس مبيشتغلش.
لو حد عنده معلومه يعرفني وجزاه الله كل خير.
الحمد لله. عملت
Directions, NearBy Search
لو حد محتاج مساعده فيما يخص ال
Google Maps.
ممكن يكلمني
السلام عليكم ورحمة الله وبركاته،
عندي مشكلة في موضوع الصوت اللي بيجي مع الإشعارات.
أنا بستقبل الإشعارات من Firebase، ولكن من خلال ال Backend، والريسبونس بيجي زي الصورة دي.
هل ينفع أستقبل الصوت مع الإشعار مباشرة من الريسبونس ده على Android و iOS؟ أو لو في طريقة لده، ياريت تفيدوني بالطريقة الصح.
للعلم بعمل تحميل للصوت اللى جاي عشان اشغله كده
sound: UriAndroidNotificationSound('$soundPath')
+1
السلام عليكم ورحمة الله وبركاته
بوست مهم عن ال
Responsive
وحل مشكله ارتفاع عناصر ال
GridView
وبرضو عدد العناصر سواء فى ال
GridView || ListView
حاليا هتقدر تحدد عدد العناصر على كل شاشه
سواء موبايل او ويب او تابلت وغيرهم
لينك البوست
https://www.linkedin.com/posts/azabcodes_%D8%A7%D9%84%D8%B3%D9%84%D8%A7%D9%85-%D8%B9%D9%84%D9%8A%D9%83%D9%85-%D9%88%D8%B1%D8%AD%D9%85%D9%87-%D8%A7%D9%84%D9%84%D9%87-%D9%88%D8%A8%D8%B1%D9%83%D8%A7%D8%AA%D9%87-%D9%84%D9%88-%D8%A8%D8%AA%D9%88%D8%A7%D8%AC%D9%87-activity-7276329999266123778-Cm1O?utm_source=share&utm_medium=member_desktop
يا شباب انا عارف ال Skeletonizer
بس برضو لازم تعمل
Fake data
عشان لما تكون لسه بتحمل تديها ال fake items
هل في حل تاني ؟
السلام عليكم ورحمة الله وبركاته
سؤال يا شباب لو حد بيعمل
Shimmer
هل حد عنده معلومه عن طريقه اضافتها للويدجت بحيث تاخد شكل الويدجت تلقائي من غير ما اعمله بنفسي
السلام عليكم ورحمة الله وبركاته
اللي عايز يرفع تطبيق على
App Store
مفيش افضل من الشرح ده
موجود في الشرح حتي ازاي تعمل اكونت على آبل
وكمان ترفع التطبيق بكل الخطوات
https://codewithandrea.com/articles/how-to-release-flutter-ios-app-store/
السلام عليكم ورحمه الله وبركاته
بدور فرصه جديده ك Flutter developer فى السعوديه .فلو حد قدامه فرصه ممكن يتواصل معايا وجزاكم الله خيرا
📩 mahmoud.azab.codes@gmail.com
السلام عليكم ورحمة الله وبركاته
نزلت اكتر من بوست مهم علي
LinkedIn
ان شاء الله تستفيدوا منهم
https://www.linkedin.com/in/azabcodes
السلام عليكم ورحمة الله وبركاته
مهم جدا لو بتتعامل مع
Flutter Sentry
https://tinyurl.com/2x72xfmr
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
