Flutter | Mahmoud Azab
الذهاب إلى القناة على Telegram
اسألني في اي مشكله ان شاء الله أقدر اساعدك 🎃 @mahmoud_azab99 🎃
إظهار المزيد9 759
المشتركون
-224 ساعات
-117 أيام
-6330 أيام
أرشيف المشاركات
السلام عليكم ورحمة الله وبركاته
كنت مشغول عن القناه بسبب موضوع الجيش
والحمد لله اخدت إعفاء من الجيش
🌺من باب شكر النعمه
انا متطوع اذاكر لشخصين flutter من البدايه لعند لما يكونوا متمكنين فيها بإذن الله
✨️فلو حد لسه بيبدأ او حد يعرف حد لسه مبتدأ
انا موجود اني اساعده
المساعده هتكون هحدد ليهم يذاكروا اي
وادخل معاهم في الأسبوع
2 meetings
لو حد منهم محتاج مساعده في حاجه او حد واقف معاه مشكله .
✨️واعمل ليهم
Tasks
يعملوها واساعدهم في اللي يقفوا فيه
✨️ولو جت فرصه قدامي لشغل بعد ما يكونوا كويسين ان شاء الله اعمل ليهم
recommendation
السلام عليكم ورحمة الله وبركاته
كنت مشغول عن القناه بسبب موضوع الجيش
والحمد لله اخدت إعفاء من الجيش
🌺من باب شكر النعمه
انا متطوع اذاكر لشخصين flutter من البدايه لعند لما يكونوا متمكنين فيها بإذن الله
✨️فلو حد لسه بيبدأ او حد يعرف حد لسه مبتدأ
انا موجود اني اساعده
المساعده هتكون هحدد ليهم يذاكروا اي
وادخل معاهم في الأسبوع
2 meetings
لو حد منهم محتاج مساعده في حاجه او حد واقف معاه مشكله .
✨️واعمل ليهم
Tasks
يعملوها واساعدهم في اللي يقفوا فيه
✨️ولو جت فرصه قدامي لشغل بعد ما يكونوا كويسين ان شاء الله اعمل ليهم
recommendation
السلام عليكم
حد قابلته المشكله دي بعد اخر تحديث ل flutter
وتحديث اندرويد ستوديو
للعلم عندي
ext.kotlin_version = '1.8.21'
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zipالسلام عليكم ورحمة الله وبركاته
ده شرح
FireStore 🔥
Firebase Storage 🔥
بالعربي
https://www.linkedin.com/posts/mazap64_activity-7169296795036999680-mkpZ?utm_source=share&utm_medium=member_android
#منقول
كان في شيت علي لينكدان بتاع Developers Salaries in 2024 طلعت منه كام row بتوع flutter developers لو حد حابب يبص عليهم
https://docs.google.com/spreadsheets/d/1v6VnzTbm3qdEKCDlkDV1HP2_9HUjeCUUvw2nm1d84MI/edit?usp=sharing
ودا الاصلي
https://docs.google.com/spreadsheets/d/1a1cRu54M0VP7CqGEXmRJyBpervcWZuHe_kp-9p9jzIM/edit?usp=sharing
السلام عليكم ورحمة الله وبركاته
للمصريين
ده Api من Fawry
بيرجع ليك كل المحافظات والمراكز الخاصه بكل محافظه
https://atfawry.fawrystaging.com/ECommerceWeb/api/lookups/govs
السلام عليكم ورحمة الله وبركاته
لو عندك سكرين زي كده ازاي احولها ل pdf واحملها
حد تعامل مع حاجه زي كده
اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا صَلَّيْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، إِنَّكَ حَمِيدٌ مَجِيدٌ، وَبَارِكْ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا بَارَكْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، فِي الْعَالَمِينَ إِنَّكَ حَمِيدٌ مَجِيدٌ🤍
ف بعض الاوقات بنبقي عايزين نعمل تعديل بسيط او نضيف شكل معين للتطبيقات اللي بنبنيها عشان العميل انت عارف انه مودي 🤷♂️
وطبعا لو انت زي حالاتي بيطلع عينك ف انك تختار شكل التعديل دا 😥
دا لينك علي تصميمات كتير كدا لاجزاء معينه من ال UI بحيث تقدر تبتدي وتستخدمها علي طول لو قابلتك مشكله زي دي لينك
https://calltoinspiration.com
بالتوفيق ❤
يعني ايه Mounted ؟
Mounted widget
معناه ان widget created و أصبح ليه state
Unmounted widget
معناه ان widget has disposed or closed ومش موجودة وبالتالي انفصلت عن context
طيب ولما اعمل check if the widget is mounted
معناه اني بقول هل state موجودة ولا معدتش موجودة وحصلها disposed ؟
وبالتالي معناه هل state ممكن نعملها update ولا لأ أو نستخدم context بتاعها ولا لأ ؟
مثال لإستخدامها :
مثلا لو عايز اغير رقم بعد ثانية واحدة
Future.delayed(const Duration(seconds: 30), () { setState(() { _currentPage = 5; }); });
وحطيت دا في initState
تخيل لو الصفحة حصلها disposed واتقفلت قبل الثانية ما تخلص هيحصل ايرور
setState() called after dispose()
وبالتالي الحل اننا نستخدم mounted هنا
Future.delayed(const Duration(seconds: 30), () { if (mounted) setState(() => count = 5); });
كدا شرحنا يعني ايه mounted in flutter ومعلومة مهمة mounted متاحة اننا نستخدمها فقط جوا stateful widget مش stateless widget
الجديد بأه ايه ان من أول Flutter 3.7
أصبح ممكن نستخدمهاجو الاتنين stateful widget & stateless widget
#منقول
ايه الفرق بين Overriding و Overloading ؟
Overloading ✅️
هو أن يكون عندك اكتر من function بنفس الاسم بس ال parameters اللي بتبعتها لل function دي مختلفه سواء عددها او انواعها
Overriding ✅️
هو أن يكون عندك
🔥2 classes ( Parent, Child )
ال child بيرث من ال parent.
و في function في parent اسمها printData
مثلا جواها سطرين كود، فانت جوا ال child
شايفها عادي و تقدر تستخدمها، طيب لو عاوز
تزود عليها سطر زياده يكون جوا ال child بس
، تكون كاتب نفس ال function بنفس الاسم بنفس كل حاجه و ال params و كله
و تخليها override
و جواها تكتب super.printData لاستدعاء السطرين اللي جوا ال function في ال parent،
و تزود انت السطر الزياده اللي هيكون في child بس، كده الزياده تستخدم مع ال child فقط،
لو تم استدعاء ال function دي من ال parent هتيجي بسطرين بس، و لو تم استدعائها من child هتيجي ب 3 أسطر
يعني اي async و await
و بيعملوا ايه ومعناهم ايه اصلا ؟! تعالي اجاوبك
عندنا dart بتشتغل ب single thread وده معناه انها شغاله علي thread واحد بال memory بتاعته الخاصه وبتنفذ كل حاجه عليه.
طيب ولو عايز انفذ حاجتين مع بعض في نفس الوقت اعمل ايه؟
هنا يجيي عندنا مفهومين لازم نفهم كويس وهم parallelism و concurrency.
ال parallelism هو القدره انك توزع ال tasks بتاعتك علي كذا thread وعندنا في dart ال thread بيتمثل في حاجه اسمها isolate وبيتم التواصل بين ال isolates وبعض عن طريق ال messaging، المميز في dart هنا ان كل isolate ليه ال memory بتعته يعني مش هيحصل اي conflict بين ال isolates زي مثلا ان ال isolates يغييروا قيمة variable واحد مع بعض.
ال concurrency هي القدره انك تنفذ كذا task علي نفس ال thread في نفس الوقت ان امكن، يعني مثلا انا عندي 2 tasks فاشتغل علي اول task شويه بعديين اروح اشتغل علي التانيه شويه بعيين علي الاولي شويه وهكذا.
هنلاقي ان await و async بيقعوا تحت مفهوم ال concurrency بكل بساطة async بتديني القدره ان اوقف تنفيذ ال function اللي انا فيها حاليا عشان انتظر اللي هو ا await نتيجة معينه بس بقيه ال app شغال عادي مش واقف، انا هنا بوقف ال async function بس، انما بقية ال app شغال عادي.
ال async هنا بتقول لل event loop كمل انت في شغلك عادي خالص بس اعمل حسابك هيجيلك response كذا وقتها كمل ال function دي.
#منقول
أفضل بدائل لـ ChatGPT لإنهاء ساعات من العمل في ثوانٍ:
للكتابة:
1. ChatABC - (https://chatabc.ai)
2. JasperAI - (https://www.jasper.ai)
3. Quillbot - (https://quillbot.com)
https://t.me/mog7azi
للبرمجة:
1. Tabnine - (https://www.tabnine.com)
2. MutableAI - (https://mutable.ai)
3. Safurai - (https://www.safurai.com)
4. 10Web - (https://lnkd.in/d22pd829)
https://t.me/mog7azi
للبحث:
1. Paperpal -(https://paperpal.com)
2. Perplexity - (https://www.perplexity.ai)
3. YouChat - (https://lnkd.in/d5urTnEu)
4. Elicit - (https://elicit.org)
https://t.me/mog7azi
لتويتر:
1. Tweetmonk - (https://tweetmonk.com)
2. Tribescaler - (https://tribescaler.com)
3. Postwise - (https://postwise.ai)
4. TweetLify - (https://www.tweetlify.co)
https://t.me/mog7azi
للإنتاجية الشخصية:
1. Synthesia - (https://www.synthesia.io)
2. Otter - (https://otter.ai)
3. Bardeen - (https://www.bardeen.ai)
4. CopyAI - (https://lnkd.in/dBNHJg2U)
https://t.me/mog7azi
لإنشاء المحتوى:
1. Tome - (https://beta.tome.app)
2. CopySmith - (https://app.copysmith.ai)
3. TextBlaze - (https://blaze.today)
https://t.me/mog7azi
لإنشاء السيرة الذاتية:
1. Kickresume - (https://www.kickresume.com)
2. ReziAI - (https://www.rezi.ai)
3. ResumeAI - (https://www.resumai.com)
4. EnhanceCV - (https://enhancv.com)
https://t.me/mog7azi
لعروض العمل:
1. BeautifulAI - (https://www.beautiful.ai)
2. Simplified - (https://simplified.com)
3. Slidesgo - (https://slidesgo.com)
4. Sendsteps - (https://lnkd.in/d2bJi-h3)
https://t.me/mog7azi
للصوت :
1.MurfAI - (https://murf.ai)
Speechify - (https://speechify.com)
LovoAI - (https://lovo.ai)
MediaAI - (https://www.ai-media.tv)
السلام عليكم ٫٫ حد واجهته قبل كده المشكله دي في اندرويد ستوديو
لما اعمل run مرتين او save
زر ال run بيكون disabled ومبقدرش اعمل run
افيدونا جزاكم الله خيرا
الفرق بين إني استخدم ال [index] أو استخدم elementAt(index) في الوصول لعنصر معين جوة List بدلالة ال Index بتاعه.
الطريقتين بيوصلوا لنفس النتيجة، ولو بدلت بينهم في الكود مش هتحس بفرق، لكن من جوة فيه فرق رهيب في الأداء بين الاتنين.
ال elementAt(index) دي Function تبع Class في فلاتر اسمه Iterable .. ال Class دة خاص بأي حاجة ممكن أعمل عليها Iteration جوة فلاتر زي ال List وال Set .. ولإنه داخل في تركيب أشكال كتير، ف بالتالي ال Functions بتاعته بتكون عامة أوي مش متخصصة لنوع معين من الداتا ستركشر، عشان كدة ال Function بتاعة elementAt(index) عامة على كل الأنواع، فبتعتمد إن هي بتقعد ت Iterate "تعد" من صفر لحد ال Index اللي انت عايزه لحد ما تجيبهولك.
يعني لو عندك List فيها عشر آلاف رقم، وانت طالب الرقم الأخير فيها، هتحتاج تمشي على ال عشر آلاف رقم كلهم عشان بس تجيبلك الرقم اللي انت عايزه! زي في المثال رقم 2.
في حين [index] دة Operator خاص بال List نفسها، ف بيستخدم خصائصها في إنه يعمل Constant Accessing لأي Index انت بتطلبه.
ف لو في نفس المثال اللي فات وعندنا 10 آلاف رقم واستخدمت ال [] عشان أوصل للرقم الأخير هتروح تجيبه مباشرةً في عملية واحدة بس بدل 10 آلاف عملية، زي في المثال رقم 1.
سلام عليكم عزيزي .. دي تجميعه لمواقع هتساعدك في إنك تنمي مهاراتك في إنك تكتب كود نظيف و حلو و بسمسم و لو حتي عندك كود قديم في جزء خاص هيعلمك ازاي تعمل refactor و إية احسن الطرق و ال ستراتيجيات ال ممكن تتبعها .. مهم جدا
1. Patterns Dev https://patterns.dev/posts
2. Airbnb https://github.com/airbnb/javascript
3. Clean Code https://github.com/ryanmcdermott/clean-code-javascript
4. System Design Primer https://github.com/donnemartin/system-design-primer
5. Refactoring Guru https://refactoring.guru
ايه المواضيع ال advanced اللي أذاكرها ؟
•من الحجات المهمة تعلمها هي OOP والمفترض إنك تكون عارفها بس إنت محتاج تعرفها بتفاصيل أكتر وبعمق وهنا برشح ليك :
•تقرأ 13, 12 ,11,ch9 ,10 من Introduction to java
•تقرأ مراجع :
- Head first Object Oriented Design and analysis
- The Object-Oriented Thought Process
• تتعلم data structure && algorithms بشكل كويس وهنا برشح تبدأ ب
- A Common Sense Guide to Data Structures and Algorithms
- Grokking Algorithms
• تتعلم design pattern وهنا برشح
head first design patterns
• تتعلم clean architecture وهنا برشح تقرأ كتاب clean architecture
• تتعلم unit testing وهنا برشح تقرأ كتاب
•Unit Testing principles , practices and patterns
وتسمع سلسلة reso coder
https://www.youtube.com/playlist?list=PLB6lc7nQ1n4jN2u4rMmb-3tdJ_cQBs-YS
https://www.youtube.com/playlist?list=PLB6lc7nQ1n4iYGE_khpXRdJkJEp9WOech
لو مقرأتش كتاب clean code ضروري لازم تقرأه
حاول تقرأ كتاب كامل عن flutter وبرشح كتاب flutter complete reference
تتعلم CI CD
زهقت من كتر ما Apple بتطلب تعديلات علي الابليكشن بتاعك؟
اي حد جرب يرفع ابليكشن علي Google Play او App Store عارف كمية الخطوات الطويلة و اللي ممكن تكون رخمة لمعظمنا. و للاسف ممكن نكتشف مشكلة بسيطة تتحل بسطر كود بس محتاجين نرفع من جديد و نستني يومين ثلاثة او حتي اسبوع عقبال ما التحديث يتوافق عليه. و بعد ده كله احنا مش ضامنين ان الuser عمل ابديت اصلا.
طلع حل جديد ممكن يوفر علينا مجهود الupdate كله و هو shorebird.
شوربيرد هو حل معمول من اريك سيديل من مؤسسين Flutter و معاه تيم من كبار الDevelopers في عالم Flutter زي فيليكس انجيلوف اللي عمل bloc و غيره كتير. الموضوع انه ببساطه بcommand واحد تقدر تعدل في كل النسخ من الابليكيشن اللي موجوده علي اجهزة الuser و تعمل update في وقتها.
مش هتحتاج update من الPlay Store او App Store عشان تشوف الابديت ده. الuser هيحتاج يقفل الابليكيشن و يفتحه تاني و بس كده كل التعديلات هتظهر.
اكتشف اكتر ايه هو shorebird من الموقع بتاعهم
https://shorebird.dev/#home
How to fetch several docs from Firebase using their IDs 30x faster than looping through all.
100 Docs tested
Individually: 31.0 seconds
With helper function: 0.62 seconds
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
