CODE7 – Telegram
46 subscribers
1 photo
20 links
اهلاً بك في CODE7

قناة مختصة في مجال البرمجة
Download Telegram
Channel created
Channel photo updated
السلام عليكم ورحمه الله وبركاته ..

في هذا القناة سيكون فيها ان شاء الله كل ما تحتاجه في مجال حياتك البرمجية فقط👨‍💻😊
موقع رهيب لأي Front End 💻
يساعدك في اختيار الألوان
يجرب لك الألوان على موقع حقيقي 🤩
وتقدر تحفظها وتطبقها على موقعك 👌
رابط الموقع:
https://www.realtimecolors.com
موقع يوفر flutter components تقدر تنسخ الكود وتعيد استخدامه جربوه ضخخم😎 🎯

رابط الموقع:
https://fluttercomponentlibrary.com
❤‍🔥1
الموضوع عن ال Future و أكيد مافيش حد يستخدم فلاتر وما يعرف ال Future ،

طيب أنا بشرح لكم تجربتي مع ال Future وايش المشاكل اللي واجهتني وحليته:- وهي أنهُ كنت أطلب البيانات من ال Api وكل شي طبيعي وفجأة انتقلت من السكرينه الأولى إلى السكرينه الثانية وطبعاً كنت في السكرينه الأولى أطلب بيانات من Api وعندما إنتقلت إلى السكرينه الثانية لاحظت في الترمنل انه لسى وصلت البيانات اللي طلبته في السكرينه الأولى برغم أنه انا قد إنتقلت منها الى السكرينه الثانية ، حرفياً لما شفته دخّن راسي 🤯.

بتقولي أنت اوكِ طيب وأيش اللي المفروض كان يحصل.....
يا عزيزي اللي المفروض يحصل أنه لما أطلع من أي صفحة في التطبيق وكنت أطلب فيها بيانات من ال Api المفروض أنه يكنسل الطلب وما ينتظر لانه أنا طلعت من هذه الصفحة ومش منتظر البيانات تجيني لاني قد انتقلت للصفحة ثانية وطلبت بيانات أخرى في الصفحة الثانية ومش محتاج البيانات اللي لسى قاعد منتضره في السكرينه الأولى من غير لازمة لانه في هذه الحالة با ياثر على أشياء كثيره في التطبيق ومنها ال Performance لانه قاعد منتضر بيانات أنا مش محتاجة اصلاً و كمان ال Bloc منتظر البيانات عشان يغير ال state و أكيد كلنا عارفين أنه كل state هي حاجز قيمة في الذاكره .......

طب وشو الحل لهذهِ الكارثه اه مثلما سمعت "كارثه" لأنه نحنا نحاول نحسن من ال Performance في مكان وال Future قاعدة تخربه لنا في المكان الآخر 😁 .
يلا نشوف الحال !

طبعاً في أكثر من طريقة لحل هذه المشكلة ولكن قعدت اعمل search لين وصلت لحل مثالي وبنفس الوقت سهل وهو استخدام ال CancelableOperation

فهم عمل ال CancelableOperation :- 👇

ال CancelableOperation هي جزء من مكتبة async في Dart ، مصممة خصيصًا لتبسيط إدارة المهام الغير متزامنة.
وهي عبارة عن عبوة حول Future تضيف قدرات الإلغاء المهام اللي من نوع Future و إنهاء المهلة الزمنية ،
وهي مفيدة للمهام مثل طلبات الشبكة والمؤقتات أو أي عملية طويلة الأمد يمكن أن تحتاج إلى إيقافها أو توقيتها بمدة معينه .

مثل إنك تحدد مدة زمنية معينه إذا لم يتم جلب البيانات من ال api تعمل إلغاء لهذهِ ال
المهمة ، أو أنك تقوم بإلغاء الأنتظار لبيانات أنت لم تعد بالحاجة إليها ... وهذا الشي الذي حل لي المشكلة تبعي اللي كلمتكم عليها .

بعض فوائد إستخدام CancelableOperation :- 👇

1-إدارة الموارد بكفاءة: من خلال السماح لك باسترداد الموارد التي لم تعد مطلوبة، يمكنك تحرير الموارد ومنع تسرب الذاكرة المحتمل.

2-تحسين تجربة المستخدم: يمكن أن تساعدك العمليات القابلة للإلغاء على تجنب حالات يضطر فيها المستخدمون إلى الانتظار لانتهاء المهام ، حتى لو كانت لم تعد ذات صلة (مثل استعلام البحث الذي تم استبداله بواحد جديد).

3-معالجة المهلة الزمنية: تسمح لك CancelableOperation بتعيين مدة المهلة الزمنية ، مما يضمن عدم تشغيل المهام بشكل لا نهائي وتسبب مشاكل في الأداء.

كمان بقى شي أشتي أتكلم عنهُ ؟
طيب افترض أنك تكتب في حقل النص الخاص بالبحث عن فيلم معين مثلاً...
اوك أنت هنا كُلما تكتب حرف يتم أخذ هذا الحرف والذهاب بهِ إلى قاعدة البيانات الخاصة سواء كانت قاعدة البيانات على cloude server أو local للبحث عن الكلمات المشابهه لهذا النص اللي كتبته
وفي كل مرة تكتب حرف آخر يتم تنفيذ نفس هذهِ العملية ويتم الطلب من ال api الخاص بالأفلام تبعك ، وأكيد كل عملية بتاخذ وقت لين ترجع لك ببيانات
وهنا متخبية لنا المشكلة ؟ يلا قول لنا وشو المشكلة يا رجل المشاكل . 😂
المشكلة أنه في كل مرة المستخدم يكتب حرف يروح التطبيق واخذ هذا الحرف ومرسله للapi تبعك ومنتظر لرد على كل حرف (عملية) قام بإرسالها وهنا هيا المشكلة
وهي أنك مجبر أنه تنتظر لما ال api يرجع لك القيمة تبع الحرف الأول اللي كتبته برغم أنك قد كتبت بعد الحرف الأول خمسه أحرف ومش محتاج القيمة اللي راجعي لك تبع أول حرف أو ثاني أو ثالث حرف أنت فقط المفروض تنتضر آخر قيمة كتبتة في ال TextField .
طيب حل المشكلة هذهِ هي أنك تقوم بإلغاء كل العمليات التي قمت بالبحث عنها وتنفيد آخر عملية فقط ،
بمعنى أصح يعني في كل مرة تكتب حرف تقوم بالغاء الأنتظار للعمليه التي قبلها وتعتمد آخر كلمه أو حرف كبته المستخدم ، وهكذا ......
خلاص هذا ال Topic تبع اليوم ..

رابط المكتبة : https://pub.dev/packages/flutter_utils_project
👍1
رابط القناة فيها شروحات لاستخدام المكتبة :https://www.youtube.com/@NajeebAslan

قناه الاخ > نجيب عسلان 😊
جيت لكم بموقع رهييييييييييييييييب فعلاً 😍
الموقع يحول أي تصميم فيجما لكود flutter 🤯
مجااااااااااني بالكااااااااااااااامل
مش بس كذا وتقدر تعدل على الكود من داخل الموقع
وتعدل كمان بدون كود من خلال الواجهات
ايضاً تستطيع اختيار نوع state managemen
اذا كانت Bloc,Provider,GetX
موقع فيه مميزات وتفاصيل كثيرة استكشفوها بنفسكم ..
كل الشكر للاخ -> مكرم محمد


الرابط : https://www.dhiwise.com/
👍1
مواقع لتحويل الكود إلى صورة بشكل جميل ❤️
Carbon
https://carbon.now.sh

Ray.so
https://ray.so/

Codeimg
https://codeimg.io/

Snappify
https://snappify.io/editor
المواقع هذه مفيدة جداا للاشخاص الي يعرضو اكوادهم في الجامعة او لشخص
👍1