Flutter | Mahmoud Azab
الذهاب إلى القناة على Telegram
اسألني في اي مشكله ان شاء الله أقدر اساعدك 🎃 @mahmoud_azab99 🎃
إظهار المزيد9 759
المشتركون
-224 ساعات
-117 أيام
-6330 أيام
أرشيف المشاركات
ايه هو الـــــ 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
ايه هو الـــــ 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
اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا صَلَّيْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، إِنَّكَ حَمِيدٌ مَجِيدٌ، وَبَارِكْ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا بَارَكْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، فِي الْعَالَمِينَ إِنَّكَ حَمِيدٌ مَجِيدٌ🤍
How to get base_href in dart ? Flutter Web
Example:
--base-href "/foo/"
URL: http://localhost:8080/foo/some-route
I want: /foo/
Uri.base.path: /foo/some-route
لما بتيجي ترفع على test flight .. وتستنا لحد ما الxCode يخلص تحميل ..
بتفضل مستني شوية لحد ما apple تعمل processing
وبعدها بتطعلك الMissing Compliance لحوار الencryption وكدا
حط الكود دا في الinfo.plist
ITSAppUsesNonExemptEncryption
وبعدها إن شاء الله مش هيطلعلك الmissing compliance تاني
Var and Dynamic Difference in Dart Programming
المقال كان بالعنوان ده✅
ايه الفرق بين Var و Dynamic🤔
طبعا احنا عارفين ان الاتنين dynamically typed data types
بس الفرق هنا 👈
(var is dynamically typed until it has not assigned any value)
بمعنى 🤔
اني خزنت مثلا متغير من نوع int مينفعش اني اغير ال type بتاعه من int. لنوع تاني زي String
ممكن اغير قيمته من int ل int بس
على عكس Dynamic فهي تسمح بكده عادي انك تغير اي نوع لنوع
اول سطرين ف ال Dynamic مش هيكون في اي error ✅
على عكس اخر سطرين مش هيسمح ب التعديل
السلام عليكم ورحمة الله وبركاته
شرح ازاي تعمل Search في API باستخدام ال DropDown .
لينك الفيديو ✅️
https://youtu.be/M3sQSpC44tw
اللي عايز شرح لحاجه معينه يكتبها . وجزاكم الله خيرا
اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا صَلَّيْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، إِنَّكَ حَمِيدٌ مَجِيدٌ، وَبَارِكْ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا بَارَكْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، فِي الْعَالَمِينَ إِنَّكَ حَمِيدٌ مَجِيدٌ🤍
ممكن حد يفهمني اي هو ال
Profile mode in flutter ؟
الاجابه ⬅️
Profile mode
هو mode الخاص بتتبع وتحليل الأداء بتاع الابلكيشن زي مساحته و استهلاكه لل network او battery او storage وغيرهم ، مش بيشتغل علي emulator او simulator ،
لازم جهاز حقيقي زي ال release mode كده عشان يقدر يديلك الأداء الحقيقي
flutter run --profile
#منقول
ما شاء الله احنا بقينا
💠 8700 💠 شخص في القناه
وفي جروب للقناه عشان لو حد بيسأل
ف اللي يقدر ينضم للجروب◀️ عشان لو حد محتاج مساعده او بيسأل عن حاجه يلاقي اللي يرد عليه
⚠️ عشان تنضم رد علي الرساله دي هتلاقي نفسك في الجروب
وجزاكم الله خيرا 🌹❤️
اغلب الاوقات و احنا شغالين علي postman🔥
مع كل مره بنعمل auth بنحتاج ناخد التوكن الجديد و نضيفه ك 1️⃣variable او نضيفه ف كل ريكوست
لأختصار الوقت ف حل لذيذ بأن ممكن نضيف كود ف الTest ف اي2️⃣ auth request
زي اول صوره و نكتب اسم3️⃣ token key
و الpath بتاعه حسب الريسبونس بتاعك زي ما موضح ف الصوره
بعدها هنروح علي ال collection و نختار Authorization4️⃣ و نضيف الkey بتاعنا زي ما هو مكتوب
pm.test("Save TOken TO GLobal", function () {
var jsonData = pm.response.json();
pm.globals.set("authorization", jsonData.data.access_token);
});
دايما لما يبقي فيه TabBarView و فيه جوا كل Tab فيهم ListView بنعمل فيها Scrolling و بعدين نغير من الTab الاولي للتانيه و نرجع تاني للTab الاولي الScrolling position بيرجع لاول الList تاني مش
عند اخر مكان كان واقف فيه.
و لو فيه Swipe to dismiss جوا الListView و عملنا remove لitem او ضيفنا واحد جديد برضو بنرجع لاول الListView و مش بنفضل ف المكان الي كنا فيه.
حل المشكله دي اننا نستخدم PageStorageKey جوا الListView.
PageStorageKey<String>(“Tab1”)
PageStorageKey<String>(“Tab2”)
وظيفته انه يعمل save للScrolling index بتاع كل ListView عندنا و نديله String كأنه الid بتاع بكل PageStorageKey عشان يفرق الindexes بتاعت الscrolling لكل ListView.
LinkedIn profile
https://www.linkedin.com/in/mazap64
أفضل بدائل لـ 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)
https://t.me/mog7azi
من المشاكل اللي شفتها مؤخرا في الجروب
ناس مش عارفة تفتح urls
باستخدام url launcher
انا عارف أن مؤخرا حصل فيها بعض التغيرات وكنت بطلب من الشباب انها تتأكد انها تاخد
<queries>
وتضيفها في AndroidMainfest.xml
للاسف انا برده جربتها في مشروع جديد ومش شغاله
وده بسبب canLaunchUrl()
ديما بترجع false
اكتشفت أن code snippet
ناقصة اللي موجوده في docs
الموجودة دي
<queries>
<!-- If your app checks for SMS support -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="sms" />
</intent>
<!-- If your app checks for call support -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="tel" />
</intent>
</queries>
،دي ناقص منها الجزء الخاص ب web pages https
فالمفروض أنك تضيف جواها
<intent>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
</intent>
داخل <queries>
عشان urls تشتغل معاك علي android 11 or later
#منقول
السلام عليكم ورحمة الله وبركاته
شرح تشغيل ملف صوتي من ال Assets
لينك الفيديو ✅️
https://youtu.be/Ajhf_KY82yA?si=Uf5gvoxciknHvOhd
اللي عايز شرح لحاجه معينه يكتبها . مش هقدر أشرح حاجه في الاساسيات. القناه بس هيتشرح فيها حاجات متقدمه شويه ✅️
We’re hiring!
ABG Egypt is looking for a Junior Flutter.
• Experience: 1 -2 years
•having an application on app store/play store is a must
• Location: Tanta or nearby places
• Full-Time - on-site
• If you are interested
Please write the name of the position you're interested in in the email object and send your CV to this email: hr@abgegypt.com
How to improve your Flutter app ?
Github ✅️
https://github.com
LinkedIn ✅️
/mazab99https://www.linkedin.com/in/mazap64
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
