ايه هو الـــــ Isolates ؟
في البوست الي فات اتكلمت عن مشكلة بتتحل عن طريق الasynchrnouns بس لو حصل بقى و اتكتب في الكود حاجه synchronous ساعتها هيحصل ايه ؟
ببساطة البرنامج برده هيقف و الui مش هيعرف يعمل refresh بسبب الجزء ده من الكود , طيب ايه الحل للمشكلة ديه ؟
الحل هو الـــparallelism , وده الي لغة زي dart بتعمله انها بتخليك تقدر تشغل الكود parallel عن طريق الــــisolates , و الي هي ببساطة كده انك فصلت باقي الكود بحيث يشتغل على thread لوحده و processor لوحده في نفس توقيت تنفيذ الكود الي هو synchronous و كده بقى البرنامج يكمل شغله عادي و يظهر للــuser بدون مشاكل او توقف و ليه عشان خلاص انت فصلت الجزء ده بحيث انه يكمل شغله و باقي الكود ميتأثر او ميقفش بسببه . وده يبقى حل مشكلة ممكن حدوثها حتى و احنا بنستخدم asynchronous code .
طيب الasync بيعمل ايه : بيقدريخلي الكود كله يشتغله حتى لو في حاجه هتاخد وقت مبيخليش البرنامج يقف بحيث انه يخلي كذا حاجه شغالة مع بعض , لكن الasync مش بتعمل او بتنشأ thread جديد هي بس بتقدر متوقف الكود و يفضل كله شغال . لكن في حالة زي الي ذكرت فوق ديه بتوقف عمل باقي الكود,
لكن الisolate بيعمل ايه : بيقدر يشغل الكود الي في البرنامج على اساس الparallelism او في شكل متوازي مع بعضه , يعني لو في تعطل او توقف حصل عند isolate التانية مش هتقف و هتفضل مكملة باقي الكود و بدون تأثير في سرعة تشغيله .
الفكره ان الـــisolate في صعوبة في تطبيقها لكن هي تعتبر الحل في حالة زي الي قولنها ( ان يكون في حالة sync دخل asynchronous ) .
هبقى ان شاء الله اعمل لطريقة عمل الــIsolate في بوست تاني
ده مثال بتوضح فيه المشكلة
void _refresh() async {
var url = _assembleUrl(option);
var content = await http.get(url);
var articles = _parse(content); // synchronous code
_update(articles);
}
اللهم علمنا ما ينفعنا و انفعنا بما علمتنا
المصادر :
https://www.youtube.com/watch?v=5AxWC49ZMzs&t=79s
في البوست الي فات اتكلمت عن مشكلة بتتحل عن طريق الasynchrnouns بس لو حصل بقى و اتكتب في الكود حاجه synchronous ساعتها هيحصل ايه ؟
ببساطة البرنامج برده هيقف و الui مش هيعرف يعمل refresh بسبب الجزء ده من الكود , طيب ايه الحل للمشكلة ديه ؟
الحل هو الـــparallelism , وده الي لغة زي dart بتعمله انها بتخليك تقدر تشغل الكود parallel عن طريق الــــisolates , و الي هي ببساطة كده انك فصلت باقي الكود بحيث يشتغل على thread لوحده و processor لوحده في نفس توقيت تنفيذ الكود الي هو synchronous و كده بقى البرنامج يكمل شغله عادي و يظهر للــuser بدون مشاكل او توقف و ليه عشان خلاص انت فصلت الجزء ده بحيث انه يكمل شغله و باقي الكود ميتأثر او ميقفش بسببه . وده يبقى حل مشكلة ممكن حدوثها حتى و احنا بنستخدم asynchronous code .
طيب الasync بيعمل ايه : بيقدريخلي الكود كله يشتغله حتى لو في حاجه هتاخد وقت مبيخليش البرنامج يقف بحيث انه يخلي كذا حاجه شغالة مع بعض , لكن الasync مش بتعمل او بتنشأ thread جديد هي بس بتقدر متوقف الكود و يفضل كله شغال . لكن في حالة زي الي ذكرت فوق ديه بتوقف عمل باقي الكود,
لكن الisolate بيعمل ايه : بيقدر يشغل الكود الي في البرنامج على اساس الparallelism او في شكل متوازي مع بعضه , يعني لو في تعطل او توقف حصل عند isolate التانية مش هتقف و هتفضل مكملة باقي الكود و بدون تأثير في سرعة تشغيله .
الفكره ان الـــisolate في صعوبة في تطبيقها لكن هي تعتبر الحل في حالة زي الي قولنها ( ان يكون في حالة sync دخل asynchronous ) .
هبقى ان شاء الله اعمل لطريقة عمل الــIsolate في بوست تاني
ده مثال بتوضح فيه المشكلة
void _refresh() async {
var url = _assembleUrl(option);
var content = await http.get(url);
var articles = _parse(content); // synchronous code
_update(articles);
}
اللهم علمنا ما ينفعنا و انفعنا بما علمتنا
المصادر :
https://www.youtube.com/watch?v=5AxWC49ZMzs&t=79s
YouTube
Async vs Isolates | Decoding Flutter
How come a function janks the UI thread even though it's async? What are the differences between async and isolates? Learn what the distinctions are between these two processing methods, how they work, and when one may be preferable to the other.
Leave us…
Leave us…
❤🔥7🏆2
زهقت من كتر ما 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
اي حد جرب يرفع ابليكشن علي 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
shorebird.dev
Over the air updates for Flutter. Confidently update Flutter apps instantly.
❤🔥21🔥8
ايه المواضيع ال 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
•من الحجات المهمة تعلمها هي 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
❤🔥12🔥4
الفرق بين إني استخدم ال [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.
الطريقتين بيوصلوا لنفس النتيجة، ولو بدلت بينهم في الكود مش هتحس بفرق، لكن من جوة فيه فرق رهيب في الأداء بين الاتنين.
ال 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.
❤🔥20⚡2🤯2
أفضل بدائل لـ ChatGPT لإنهاء ساعات من العمل في ثوانٍ:
للكتابة:
1. ChatABC - (https://chatabc.ai)
2. JasperAI - (https://www.jasper.ai)
3. Quillbot - (https://quillbot.com)
https://news.1rj.ru/str/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://news.1rj.ru/str/mog7azi
للبحث:
1. Paperpal -(https://paperpal.com)
2. Perplexity - (https://www.perplexity.ai)
3. YouChat - (https://lnkd.in/d5urTnEu)
4. Elicit - (https://elicit.org)
https://news.1rj.ru/str/mog7azi
لتويتر:
1. Tweetmonk - (https://tweetmonk.com)
2. Tribescaler - (https://tribescaler.com)
3. Postwise - (https://postwise.ai)
4. TweetLify - (https://www.tweetlify.co)
https://news.1rj.ru/str/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://news.1rj.ru/str/mog7azi
لإنشاء المحتوى:
1. Tome - (https://beta.tome.app)
2. CopySmith - (https://app.copysmith.ai)
3. TextBlaze - (https://blaze.today)
https://news.1rj.ru/str/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://news.1rj.ru/str/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://news.1rj.ru/str/mog7azi
للصوت :
1.MurfAI - (https://murf.ai)
Speechify - (https://speechify.com)
LovoAI - (https://lovo.ai)
MediaAI - (https://www.ai-media.tv)
للكتابة:
1. ChatABC - (https://chatabc.ai)
2. JasperAI - (https://www.jasper.ai)
3. Quillbot - (https://quillbot.com)
https://news.1rj.ru/str/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://news.1rj.ru/str/mog7azi
للبحث:
1. Paperpal -(https://paperpal.com)
2. Perplexity - (https://www.perplexity.ai)
3. YouChat - (https://lnkd.in/d5urTnEu)
4. Elicit - (https://elicit.org)
https://news.1rj.ru/str/mog7azi
لتويتر:
1. Tweetmonk - (https://tweetmonk.com)
2. Tribescaler - (https://tribescaler.com)
3. Postwise - (https://postwise.ai)
4. TweetLify - (https://www.tweetlify.co)
https://news.1rj.ru/str/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://news.1rj.ru/str/mog7azi
لإنشاء المحتوى:
1. Tome - (https://beta.tome.app)
2. CopySmith - (https://app.copysmith.ai)
3. TextBlaze - (https://blaze.today)
https://news.1rj.ru/str/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://news.1rj.ru/str/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://news.1rj.ru/str/mog7azi
للصوت :
1.MurfAI - (https://murf.ai)
Speechify - (https://speechify.com)
LovoAI - (https://lovo.ai)
MediaAI - (https://www.ai-media.tv)
www.jasper.ai
AI content automation built for marketers | Jasper
Jasper is the AI marketing platform that unifies your brand experience, accelerates content velocity, and automates marketing processes—at scale.
❤🔥9🔥6
يعني اي 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 دي.
#منقول
و بيعملوا ايه ومعناهم ايه اصلا ؟! تعالي اجاوبك
عندنا 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 دي.
#منقول
🔥28❤🔥5⚡1
ايه الفرق بين 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 أسطر
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 أسطر
🔥16❤🔥7
يعني ايه 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
#منقول
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
#منقول
❤🔥22🔥5
ف بعض الاوقات بنبقي عايزين نعمل تعديل بسيط او نضيف شكل معين للتطبيقات اللي بنبنيها عشان العميل انت عارف انه مودي 🤷♂️
وطبعا لو انت زي حالاتي بيطلع عينك ف انك تختار شكل التعديل دا 😥
دا لينك علي تصميمات كتير كدا لاجزاء معينه من ال UI بحيث تقدر تبتدي وتستخدمها علي طول لو قابلتك مشكله زي دي لينك
https://calltoinspiration.com
بالتوفيق ❤
وطبعا لو انت زي حالاتي بيطلع عينك ف انك تختار شكل التعديل دا 😥
دا لينك علي تصميمات كتير كدا لاجزاء معينه من ال UI بحيث تقدر تبتدي وتستخدمها علي طول لو قابلتك مشكله زي دي لينك
https://calltoinspiration.com
بالتوفيق ❤
CallToInspiration – Small details for very exacting ideas!
Call for inspiration using the purple hat for when you have inspiration blocks or need fresh new ideas. A great tool created by a deisnger for web professionals.
🔥15❤🔥10🆒4
اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا صَلَّيْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، إِنَّكَ حَمِيدٌ مَجِيدٌ، وَبَارِكْ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا بَارَكْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، فِي الْعَالَمِينَ إِنَّكَ حَمِيدٌ مَجِيدٌ🤍
❤🔥39🔥5
السلام عليكم ورحمة الله وبركاته
للمصريين
ده Api من Fawry
بيرجع ليك كل المحافظات والمراكز الخاصه بكل محافظه
https://atfawry.fawrystaging.com/ECommerceWeb/api/lookups/govs
للمصريين
ده Api من Fawry
بيرجع ليك كل المحافظات والمراكز الخاصه بكل محافظه
https://atfawry.fawrystaging.com/ECommerceWeb/api/lookups/govs
🔥23❤🔥6
#منقول
كان في شيت علي لينكدان بتاع 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
كان في شيت علي لينكدان بتاع 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
Google Docs
Flutter Developers Salaries in 2024
❤🔥11🤯3
السلام عليكم ورحمة الله وبركاته
ده شرح
FireStore 🔥
Firebase Storage 🔥
بالعربي 🧊🔥
https://www.linkedin.com/posts/mazap64_activity-7169296795036999680-mkpZ?utm_source=share&utm_medium=member_android
قناه اليوتيوب
https://youtube.com/@mazab99?si=u_Ufyr-1NmOj1Eyu
ده شرح
FireStore 🔥
Firebase Storage 🔥
بالعربي 🧊🔥
https://www.linkedin.com/posts/mazap64_activity-7169296795036999680-mkpZ?utm_source=share&utm_medium=member_android
قناه اليوتيوب
https://youtube.com/@mazab99?si=u_Ufyr-1NmOj1Eyu
Linkedin
Sign Up | LinkedIn
500 million+ members | Manage your professional identity. Build and engage with your professional network. Access knowledge, insights and opportunities.
❤🔥7🔥5
السلام عليكم ورحمة الله وبركاته
كنت مشغول عن القناه بسبب موضوع الجيش
والحمد لله اخدت إعفاء من الجيش
🌺من باب شكر النعمه
انا متطوع اذاكر لشخصين flutter من البدايه لعند لما يكونوا متمكنين فيها بإذن الله
✨️فلو حد لسه بيبدأ او حد يعرف حد لسه مبتدأ
انا موجود اني اساعده
المساعده هتكون هحدد ليهم يذاكروا اي
وادخل معاهم في الأسبوع
2 meetings
لو حد منهم محتاج مساعده في حاجه او حد واقف معاه مشكله .
✨️واعمل ليهم
Tasks
يعملوها واساعدهم في اللي يقفوا فيه
✨️ولو جت فرصه قدامي لشغل بعد ما يكونوا كويسين ان شاء الله اعمل ليهم
recommendation
كنت مشغول عن القناه بسبب موضوع الجيش
والحمد لله اخدت إعفاء من الجيش
🌺من باب شكر النعمه
انا متطوع اذاكر لشخصين flutter من البدايه لعند لما يكونوا متمكنين فيها بإذن الله
✨️فلو حد لسه بيبدأ او حد يعرف حد لسه مبتدأ
انا موجود اني اساعده
المساعده هتكون هحدد ليهم يذاكروا اي
وادخل معاهم في الأسبوع
2 meetings
لو حد منهم محتاج مساعده في حاجه او حد واقف معاه مشكله .
✨️واعمل ليهم
Tasks
يعملوها واساعدهم في اللي يقفوا فيه
✨️ولو جت فرصه قدامي لشغل بعد ما يكونوا كويسين ان شاء الله اعمل ليهم
recommendation
❤🔥70🔥11⚡4🆒4
السلام. عليكم ورحمه الله وبركاته
ده شرح ال CustomClippers للناس اللي بتفضل تسأل عنه
من خلال الشرح ده هتعرف ازاي تعمل كل الاشكال الممكنه
شرح كتابه مع صور ان شاء الله يفيدكم
https://www.linkedin.com/posts/mazap64_activity-7180161990768607232-gDIT?utm_source=share&utm_medium=member_desktop
ده شرح ال CustomClippers للناس اللي بتفضل تسأل عنه
من خلال الشرح ده هتعرف ازاي تعمل كل الاشكال الممكنه
شرح كتابه مع صور ان شاء الله يفيدكم
https://www.linkedin.com/posts/mazap64_activity-7180161990768607232-gDIT?utm_source=share&utm_medium=member_desktop
Linkedin
Level Up Your Flutter Skills: Exploring the Power of Custom Clippers for Unique and Dynamic UIs! | Mahmoud Azab
Level Up Your Flutter Skills: Exploring the Power of Custom Clippers for Unique and Dynamic UIs!
Telegram channel ✅️
https://lnkd.in/d2Dj76QY
Github ✅️
https://github.com/mazab99
Telegram channel ✅️
https://lnkd.in/d2Dj76QY
Github ✅️
https://github.com/mazab99
❤🔥19🔥2