ما هي Web API؟

Web API (أو Browser API) هي مجموعة من الواجهات المدمجة في متصفحات الويب الحديثة التي تسمح لـ JavaScript بالتفاعل مع ميزات المتصفح والأجهزة ونظام التشغيل. تتضمن الأمثلة Fetch API للطلبات الشبكية، وGeolocation API لإحداثيات GPS، وWebGL للرسومات ثلاثية الأبعاد، وClipboard API للنسخ واللصق، ومئات أخرى. يتم تعريف كل API من قبل هيئات معايير الويب مثل W3C و WHATWG، وينفذها بائعو المتصفحات بسرعتهم الخاصة.

نظراً لأن دعم المتصفح يختلف على نطاق واسع — بعض APIs مدعومة عالمياً، والبعض الآخر تجريبي أو خاص بالبائع — غالباً ما يحتاج المطورون إلى التحقق من API التي تتوفر فعلاً في متصفح معين قبل استخدامها. كشف الميزات (التحقق من وجود API على window قبل استدعاؤها) هو النهج القياسي.

وصف الأداة

تختبر هذه الأداة Web APIs التي تتوفر في متصفحك الحالي في الوقت الفعلي. تجمع بين كشف المتصفح المباشر وبيانات توافق المتصفح من MDN لتعطيك عرضاً شاملاً لـ APIs المدعومة، والإصدار الذي أصبحت متاحة فيه، وما إذا كانت أي منها لا تزال تجريبية.

الميزات

  • الكشف المباشر: يختبر كل API مقابل كائن window الفعلي لمتصفحك ويبلغ عن حالة مدعومة أو غير مدعومة أو غير معروفة على الفور
  • بيانات توافق MDN: يعرض الحد الأدنى من إصدار Chrome و Firefox و Safari و Edge التي تدعم كل API، مأخوذة من حزمة @mdn/browser-compat-data الرسمية
  • وضع علامة على APIs التجريبية: يحدد بوضوح APIs التي لا تزال تجريبية أو خلف أعلام الميزات
  • مختبر التعبيرات المخصصة: أدخل أي تعبير JavaScript لتقييمه مباشرة في متصفحك ورؤية النتيجة أو الخطأ
  • التصفية والبحث: صفّي حسب حالة الدعم (مدعوم/غير مدعوم/غير معروف) وابحث باسم API للعثور على ما تحتاجه بسرعة

كيفية العمل

تحمل الأداة قائمة بإدخالات Web API من حزمة MDN Browser Compat Data في وقت البناء. عند فتح الصفحة، يتم تقييم كل اسم API كخاصية للكائن العام window — إذا كانت الخاصية موجودة وليست فارغة، يتم وضع علامة على API كمدعومة. يتم تحميل بيانات إصدار MDN مسبقاً وعرضها جنباً إلى جنب مع نتيجة الكشف المباشر.

نصائح

  • استخدم مرشح الحالة لعرض APIs المدعومة فقط في متصفحك — مفيد لتدقيق ما هو متاح قبل كتابة الكود.
  • استخدم حقل التعبير المخصص لاختبار فحوصات ميزات أكثر تعقيداً، مثل typeof navigator.bluetooth !== 'undefined' أو 'serviceWorker' in navigator.
  • قد تكون APIs التجريبية متاحة في بعض إصدارات المتصفح وليس في الإصدارات المستقرة — تحقق دائماً من توثيق MDN قبل الاعتماد عليها في الإنتاج.