# تبني واجهة برمجة التطبيقات (API) ## نظرة عامة تفتح واجهات برمجة التطبيقات (APIs) آفاقًا لا حدود لها لتطوير الويب الإبداعي! في هذه المهمة، ستختار واجهة برمجة تطبيقات خارجية وتقوم ببناء إضافة للمتصفح تحل مشكلة حقيقية أو تقدم وظيفة قيمة للمستخدمين. ## التعليمات ### الخطوة 1: اختر واجهة برمجة التطبيقات الخاصة بك اختر واجهة برمجة تطبيقات من هذه [القائمة المنسقة لواجهات برمجة التطبيقات العامة المجانية](https://github.com/public-apis/public-apis). ضع في اعتبارك هذه الفئات: **خيارات شائعة للمبتدئين:** - **الترفيه**: [Dog CEO API](https://dog.ceo/dog-api/) للحصول على صور عشوائية للكلاب - **الطقس**: [OpenWeatherMap](https://openweathermap.org/api) للحصول على بيانات الطقس الحالية - **الاقتباسات**: [Quotable API](https://quotable.io/) للحصول على اقتباسات ملهمة - **الأخبار**: [NewsAPI](https://newsapi.org/) للحصول على العناوين الحالية - **حقائق ممتعة**: [Numbers API](http://numbersapi.com/) للحصول على حقائق مثيرة عن الأرقام ### الخطوة 2: خطط لإضافتك قبل البدء في البرمجة، أجب عن هذه الأسئلة التخطيطية: - ما المشكلة التي تحلها الإضافة؟ - من هو المستخدم المستهدف؟ - ما البيانات التي ستخزنها في التخزين المحلي؟ - كيف ستتعامل مع فشل واجهة برمجة التطبيقات أو حدود الاستخدام؟ ### الخطوة 3: قم ببناء الإضافة الخاصة بك يجب أن تتضمن الإضافة الخاصة بك: **الميزات المطلوبة:** - إدخالات النموذج لأي معلمات مطلوبة لواجهة برمجة التطبيقات - تكامل واجهة برمجة التطبيقات مع معالجة الأخطاء بشكل صحيح - تخزين محلي لتفضيلات المستخدم أو مفاتيح واجهة برمجة التطبيقات - واجهة مستخدم نظيفة ومتجاوبة - حالات تحميل وملاحظات للمستخدم **متطلبات الكود:** - استخدام ميزات JavaScript الحديثة (ES6+) - تنفيذ async/await لاستدعاءات واجهة برمجة التطبيقات - تضمين معالجة الأخطاء بشكل صحيح باستخدام كتل try/catch - إضافة تعليقات ذات معنى تشرح الكود الخاص بك - اتباع تنسيق كود متسق ### الخطوة 4: اختبر وصقل - اختبر الإضافة الخاصة بك مع مدخلات متنوعة - تعامل مع الحالات الاستثنائية (عدم وجود اتصال بالإنترنت، استجابات غير صالحة من واجهة برمجة التطبيقات) - تأكد من أن الإضافة تعمل بعد إعادة تشغيل المتصفح - أضف رسائل خطأ سهلة الاستخدام ## تحديات إضافية خذ الإضافة الخاصة بك إلى المستوى التالي: - أضف نقاط نهاية متعددة لواجهة برمجة التطبيقات للحصول على وظائف أكثر ثراءً - قم بتنفيذ تخزين مؤقت للبيانات لتقليل استدعاءات واجهة برمجة التطبيقات - أنشئ اختصارات لوحة المفاتيح للإجراءات الشائعة - أضف ميزات تصدير/استيراد البيانات - قم بتنفيذ خيارات تخصيص المستخدم ## متطلبات التقديم 1. **إضافة متصفح تعمل** تتكامل بنجاح مع واجهة برمجة التطبيقات التي اخترتها 2. **ملف README** يشرح: - واجهة برمجة التطبيقات التي اخترتها ولماذا - كيفية تثبيت واستخدام الإضافة - أي مفاتيح واجهة برمجة التطبيقات أو إعدادات مطلوبة - لقطات شاشة للإضافة أثناء العمل 3. **كود نظيف ومعلق عليه** يتبع ممارسات JavaScript الحديثة ## معايير التقييم | المعايير | ممتاز (90-100%) | جيد (80-89%) | متوسط (70-79%) | مبتدئ (60-69%) | |----------|-----------------|--------------|----------------|----------------| | **تكامل واجهة برمجة التطبيقات** | تكامل واجهة برمجة التطبيقات بشكل مثالي مع معالجة شاملة للأخطاء وإدارة الحالات الاستثنائية | تكامل ناجح مع معالجة أساسية للأخطاء | تعمل واجهة برمجة التطبيقات ولكن مع معالجة محدودة للأخطاء | مشاكل كبيرة في تكامل واجهة برمجة التطبيقات | | **جودة الكود** | كود نظيف ومعلق عليه بشكل جيد يتبع أفضل الممارسات | هيكل كود جيد مع تعليقات كافية | الكود يعمل ولكنه يحتاج إلى تنظيم أفضل | جودة الكود ضعيفة مع تعليقات قليلة | | **تجربة المستخدم** | واجهة مصقولة مع حالات تحميل ممتازة وملاحظات للمستخدم | واجهة جيدة مع ملاحظات أساسية للمستخدم | واجهة أساسية تعمل بشكل كافٍ | تجربة مستخدم ضعيفة مع واجهة مربكة | | **التخزين المحلي** | استخدام متقدم للتخزين المحلي مع التحقق من البيانات وإدارتها | تنفيذ صحيح للتخزين المحلي للميزات الرئيسية | تنفيذ أساسي للتخزين المحلي | استخدام محدود أو غير صحيح للتخزين المحلي | | **التوثيق** | ملف README شامل مع تعليمات الإعداد ولقطات الشاشة | توثيق جيد يغطي معظم المتطلبات | توثيق أساسي يفتقد بعض التفاصيل | توثيق ضعيف أو مفقود | ## نصائح للبدء 1. **ابدأ ببساطة**: اختر واجهة برمجة تطبيقات لا تتطلب مصادقة معقدة 2. **اقرأ الوثائق**: افهم جيدًا نقاط النهاية والاستجابات الخاصة بواجهة برمجة التطبيقات التي اخترتها 3. **خطط لواجهة المستخدم**: قم برسم واجهة الإضافة الخاصة بك قبل البرمجة 4. **اختبر بشكل متكرر**: قم بالبناء تدريجيًا واختبر كل ميزة أثناء إضافتها 5. **تعامل مع الأخطاء**: افترض دائمًا أن استدعاءات واجهة برمجة التطبيقات قد تفشل وخطط لذلك ## الموارد - [توثيق إضافات المتصفح](https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions) - [دليل Fetch API](https://developer.mozilla.org/docs/Web/API/Fetch_API/Using_Fetch) - [دليل التخزين المحلي](https://developer.mozilla.org/docs/Web/API/Window/localStorage) - [معالجة وتحليل JSON](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/JSON) استمتع ببناء شيء مفيد وإبداعي! 🚀 --- **إخلاء المسؤولية**: تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالترجمة البشرية الاحترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.