ما المقصود بواجهة برمجة التطبيقات API وكيف يستخدمها المطورون؟

من المحتمل أنك رأيت مصطلح API في مكان ما. غالباً ما يعلن نظام التشغيل ومتصفح الويب وتحديثات التطبيقات عن واجهات برمجة تطبيقات جديدة للمطورين.

ولكن ما هي واجهة برمجة التطبيقات وكيف يستخدمها المطورون؟

ما هي واجهة برمجة التطبيقات؟

مصطلح API هو اختصار، يشير إلى واجهة برمجة التطبيقات Application Programming Interface.

فكر في واجهة برمجة تطبيقات مثل قائمة طعام في مطعم. توفر القائمة مجموعة من الأطباق التي يمكنك طلبها، إلى جانب وصف كل طبق.

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

وبالمثل، تسرد واجهة برمجة التطبيقات مجموعة من العمليات التي يمكن للمطورين استخدامها، إلى جانب وصف لما يفعلونه.

على سبيل المثال، لا يحتاج المطور بالضرورة إلى معرفة كيف ينشئ نظام التشغيل ويعرض مربع حوار حفظ باسم. يحتاجون فقط إلى معرفة أنه متاح للاستخدام في تطبيقاتهم.

هذا ليس استعارة مثالية، حيث قد يضطر المطورون إلى تقديم بياناتهم الخاصة إلى واجهة برمجة التطبيقات للحصول على النتائج، لذلك ربما يكون الأمر أشبه بمطعم فاخر حيث يمكنك توفير بعض المكونات الخاصة التي سيعمل بها المطبخ.

لكنها دقيقة بشكل عام. تسمح واجهات برمجة التطبيقات للمطورين بتوفير الوقت من خلال الاستفادة من تطبيق النظام الأساسي للقيام بالأعمال الجوهرية.

يساعد هذا في تقليل مقدار التعليمات البرمجية التي يحتاجها مطورو البرامج، كما يساعد في إنشاء المزيد من تناسق التطبيقات لنفس النظام الأساسي. يمكن لواجهات برمجة التطبيقات التحكم في الوصول إلى موارد الأجهزة والبرامج.

واجهات برمجة التطبيقات تجعل حياة المطورين أسهل:

لنفترض أنك تريد تطوير تطبيق لجهاز آيفون iPhone. يوفر نظام التشغيل iOS من آبل Apple عدداً كبيراً من واجهات برمجة التطبيقات (كما يفعل أي نظام تشغيل آخر) لتسهيل ذلك عليك.

إذا كنت ترغب في تضمين متصفح ويب لإظهار صفحة ويب واحدة أو أكثر على سبيل المثال، فلن تضطر إلى برمجة متصفح الويب من البداية لتطبيقك فقط. يمكنك استخدام WKWebView API لتضمين كائن متصفح WebKit (Safari) في تطبيقك.

إذا كنت ترغب في التقاط صور أو مقاطع فيديو من كاميرا آيفون iPhone، فلن تضطر إلى كتابة واجهة الكاميرا. يمكنك استخدام واجهة برمجة تطبيقات الكاميرا لتضمين الكاميرا المدمجة بجهاز آيفون iPhone في تطبيقك.

إذا لم تكن واجهات برمجة التطبيقات (API) موجودة لتسهيل ذلك، فسيتعين على مطوري التطبيقات إنشاء برامج الكاميرا وتفسير مدخلات أجهزة الكاميرا.

لكن مطوري أنظمة تشغيل آبل Apple قاموا بكل هذا العمل الشاق حتى يتمكن المطورون فقط من استخدام واجهة برمجة تطبيقات الكاميرا لتضمين كاميرا، ثم متابعة بناء تطبيقاتهم.

وعندما تقوم آبل Apple بتحسين واجهة برمجة تطبيقات الكاميرا، ستستفيد جميع التطبيقات التي تعتمد عليها من هذا التحسين تلقائياً.

هذا ينطبق على كل منصة. على سبيل المثال، هل تريد إنشاء مربع حوار على ويندوز Windows؟ هناك API لذلك. هل تريد دعم مصادقة بصمات الأصابع على أندرويد Android؟ هناك واجهة برمجة تطبيقات لذلك أيضاً.

لذا لن تضطر إلى اختبار مستشعر بصمات الأصابع الخاص في كل مرة في نظام أندرويد Android. لا يتعين على المطورين إعادة اختراع العجلة مراراً وتكراراً.

تتحكم واجهات برمجة التطبيقات في الوصول إلى الموارد:

تُستخدم واجهات برمجة التطبيقات أيضاً للتحكم في الوصول إلى الأجهزة ووظائف البرامج التي قد لا يكون لدى التطبيق بالضرورة إذن لاستخدامها. لهذا السبب غالباً ما تلعب واجهات برمجة التطبيقات دوراً كبيراً في الأمان.

على سبيل المثال، إذا سبق لك زيارة موقع ويب ورأيت رسالة في متصفحك تفيد بأن موقع الويب يطلب معرفة موقعك بدقة، فإن موقع الويب هذا يحاول استخدام واجهة برمجة تطبيقات تحديد الموقع الجغرافي في متصفح الويب.

تعرض مستعرضات الويب واجهات برمجة تطبيقات مثل هذه لتسهيل وصول مطوري الويب إلى موقعك (يمكنهم فقط أن يسألوا “أين أنت؟”) ويقوم المتصفح بالعمل الشاق للوصول إلى GPS أو شبكات واي فاي Wi-Fi القريبة للعثور على موقعك الفعلي.

ومع ذلك، تعرض المتصفحات أيضاً هذه المعلومات عبر واجهة برمجة التطبيقات لأنه من الممكن التحكم في الوصول إليها.

عندما يريد أحد مواقع الويب الوصول إلى موقعك الفعلي بالضبط، فإن الطريقة الوحيدة للحصول عليه هي عبر واجهة برمجة تطبيقات الموقع.

وعندما يحاول أحد مواقع الويب استخدامه، يمكن للمستخدم اختيار السماح أو رفض هذا الطلب. الطريقة الوحيدة للوصول إلى موارد الأجهزة مثل مستشعر GPS هي من خلال واجهة برمجة التطبيقات، بحيث يمكن للمتصفح التحكم في الوصول إلى الأجهزة وتحديد ما يمكن للتطبيقات القيام به.

يتم استخدام هذا المبدأ نفسه في أنظمة تشغيل الأجهزة المحمولة الحديثة مثل iOS وأندرويد Android، حيث تتمتع تطبيقات الأجهزة المحمولة بأذونات يمكن فرضها من خلال التحكم في الوصول إلى واجهات برمجة التطبيقات.

على سبيل المثال، إذا حاول أحد المطورين الوصول إلى الكاميرا عبر واجهة برمجة تطبيقات الكاميرا، فيمكنك رفض طلب الإذن ولن يكون لدى التطبيق أي طريقة للوصول إلى كاميرا جهازك.

أنظمة الملفات التي تستخدم الأذونات، كما هو الحال في أنظمة التشغيل ويندوز Windows وماك Mac ولينكس Linux، يتم فرض هذه الأذونات من خلال واجهة برمجة تطبيقات نظام الملفات.

لا يمتلك التطبيق النموذجي وصولاً مباشراً إلى القرص الثابت المادي الخام. بدلاً من ذلك، يجب أن يصل التطبيق إلى الملفات من خلال واجهة برمجة التطبيقات.

يتم استخدام واجهات برمجة التطبيقات للاتصال بين الخدمات:

يتم استخدام واجهات برمجة التطبيقات لجميع أنواع الأسباب الأخرى أيضاً. على سبيل المثال، إذا سبق لك أن رأيت كائن خرائط جوجل Google مضمناً على موقع ويب، فإن هذا الموقع يستخدم واجهة برمجة تطبيقات خرائط جوجل Google لتضمين تلك الخريطة.

تعرض جوجل Google واجهات برمجة التطبيقات لمطوري الويب، الذين يمكنهم بعد ذلك استخدام واجهات برمجة التطبيقات لوضع الكائنات المعقدة مباشرة على موقع الويب.

إذا لم تكن واجهات برمجة التطبيقات موجودة، فقد يتعين على المطورين إنشاء خرائطهم الخاصة وتقديم بيانات الخرائط الخاصة بهم فقط لوضع خريطة تفاعلية صغيرة على موقع ويب.

ونظراً لكونها واجهة برمجة تطبيقات، يمكن لـ جوجل Google التحكم في الوصول إلى خرائط جوجل Google على مواقع الويب التابعة لجهات خارجية، مما يضمن استخدامها بطريقة متسقة بدلاً من محاولة تضمين إطار يعرض موقع خرائط جوجل Google على الويب، على سبيل المثال.

هذا ينطبق على العديد من الخدمات المختلفة عبر الإنترنت. توجد واجهات برمجة تطبيقات لطلب ترجمة نصية من موقع ترجمة جوجل Google، أو تضمين تعليقات فيسبوك Facebook أو تغريدات من تويتر Twitter على موقع ويب.

يحدد معيار OAuth أيضاً عدداً من واجهات برمجة التطبيقات التي تسمح لك بتسجيل الدخول إلى موقع ويب باستخدام خدمة أخرى.

على سبيل المثال، لاستخدام حسابات فيسبوك Facebook أو جوجل Google أو تويتر Twitter لتسجيل الدخول إلى موقع ويب جديد دون إنشاء حساب مستخدم جديد لهذا الموقع فقط.

واجهات برمجة التطبيقات (API) هي عقود قياسية تحدد كيفية تواصل المطورين مع الخدمة، ونوع المخرجات التي يتوقع هؤلاء المطورون تلقيها مرة أخرى.

إلى هنا تكون لديك فكرة أفضل عن ماهية واجهة برمجة التطبيقات. في النهاية، لا تحتاج حقاً إلى معرفة ماهية واجهة برمجة التطبيقات إلا إذا كنت مطوراً.

ولكن، إذا رأيت أن نظاماً أساسياً أو خدمة برمجية قد أضافت واجهات برمجة تطبيقات جديدة للعديد من الأجهزة أو الخدمات، فيجب أن يكون من الأسهل على المطورين الاستفادة من هذه الميزات.

مقالات قد تعجبك:

ما هي لغة الترميز Markup Language؟
ما هو NAS التخزين المتصل (الملحق) بالشبكة؟
ما هي شاشة سوبر أموليد Super AMOLED؟
كيفية استخدام تطبيقين جنباً إلى جنب على أندرويد
ما الميزات والتحديثات الجديدة في فيجوال ستوديو Visual Studio 2022؟

كيفية مراقبة استخدام معالج الرسوميات في ويندوز

يحتوي مدير المهام Task Manager في نظام Windows 10 على أدوات مراقبة GPU مفصّلة فيه. يمكّن من عرض استخدام وحدة معالجة الرسوميات لكل تطبيق على حدى في مستوى المنظومة العاملة.

تَعِدُ مايكروسوفت Microsoft بأن أرقام إدارة المهام ستكون أكثر دقة من تلك الموجودة في الأدوات المساعدة التابعة لجهات خارجية (الممكن تحميلها من الشبكة مثلاً).

كيف يعمل؟

تمت إضافة ميزات معالج الرسوميات GPU هذه في تحديث نظام ويندوز 10 الخاص بالنسخة Fall Creators، المعروف أيضاً بإصدار Windows 10 ذو الرقم 1709.

إذا كنت تستخدم Windows 7 أو 8 أو إصداراً قديماً من Windows 10، فلن ترى هذه الأدوات في إدارة المهام. في هذه الحالة يلزمك التحقق من إصدار Windows 10 لديك.

يستخدم ويندوز Windows ميزات أحدث في Windows Display Driver Model لسحب هذه المعلومات مباشرة من جدولة GPU (VidSCH) ومدير ذاكرة الفيديو (VidMm) في نواة الرسوميات في WDDM، والتي تكون مسؤولة عن تخصيص الموارد فعلياً.

ويعرض بيانات دقيقة للغاية بغض النظر عن تطبيقات API التي تستخدم للوصول إلى GPU – Microsoft DirectX أو OpenGL أو Vulkan أو OpenCL أو NVIDIA CUDA أو AMD Mantle أو أي شيء آخر.

هذا هو السبب في أن الأنظمة تعرض هذه المعلومات فقط مع وحدات معالجة الرسوم المتوافقة مع WDDM 2.0 في إدارة المهام. إذا كنت لا ترى ذلك في نظامك، فربما يستخدم GPU في النظام نوعاً قديماً من برامج التشغيل.

يمكنك التحقق من إصدار WDDM الذي يستخدمه برنامج GPU عن طريق الضغط على Windows + R، وكتابة dxdiag في المربع، ثم الضغط على Enter لفتح أداة DirectX Diagnostic.

انقر فوق علامة التبويب عرض وانظر إلى يمين نموذج القرص تحت تبويبة الأقراص. إذا رأيت برنامج تشغيل “WDDM 2.x” هنا، فإن النظام متوافق. إذا كنت ترى برنامج تشغيل “WDDM 1.x”، فهذا يعني أن وحدة معالجة الرسومات الخاصة بنظامك غير متوافقة.

كيفية عرض استخدام معالج الرسوميات GPU لتطبيق محدد:

تتوفر هذه المعلومات في مدير المهام Task Manager، علماً أنها تكون مخفية افتراضياً. للوصول إليها، افتح مدير المهام بالنقر بزر الماوس الأيمن فوق أي مساحة فارغة على شريط المهام واختيار مدير المهام Task Manager أو بالضغط على Ctrl + Shift + Esc على لوحة المفاتيح.

انقر على خيار مزيد من التفاصيل في أسفل نافذة مدير المهام في حال رأيت العرض البسيط القياسي.

في العرض الكامل لمدير المهام Task Manager، في علامة التبويب العمليات، انقر بزر الماوس الأيمن فوق أي رأس عمود، ثم قم بتفعيل خيار GPU. يؤدي ذلك الإجراء إلى إضافة عمود معالج الرسوميات GPU يسمح لك بمشاهدة النسبة المئوية لموارد معالج الرسوميات GPU التي يستخدمها كل تطبيق.

يمكنك أيضاً تمكين خيار محرك GPU لرؤية محرك معالج الرسوميات GPU الذي يستخدمه التطبيق.

يتم عرض إجمالي استخدام معالج الرسوميات GPU لكافة التطبيقات على النظام في أعلى عمود GPU. انقر فوق عمود GPU لفرز القائمة تنازلياً واطلع على التطبيقات التي تستخدم النسبة الأعلى من معالج الرسوميات GPU في الوقت الحالي.

الرقم في عمود GPU هو أعلى استخدام لهذا التطبيق عبر جميع المحركات. لذا، وعلى سبيل المثال، إذا كان تطبيق ما يستخدم 50٪ من محرك GPU ثلاثي الأبعاد و 2٪ من محرك إنشاء Render الفيديو الخاص بمعالج الرسوميات GPU، فإنك سترى فقط الرقم 50٪ الذي يظهر تحت عمود GPU لهذا التطبيق.

عمود محرك GPU يعرض كل تطبيق يستخدم الجرافيكس الآن. يُظهر لك هذا كلٍّ من معالج الجرافيكس الفعلي الذي يستخدمه التطبيق والمحرك الذي يستخدمه.

على سبيل المثال، يمكن أن يكون تطبيق مستخدماً لمحرك ثلاثي الأبعاد أو محرك إنشاء Render الفيديو. يمكنك تحديد وحدة معالجة الرسوميات التي تقابل رقماً محدداً من خلال التحقق من علامة تبويب الأداء، والتي سنتحدث عنها في القسم التالي.

كيفية عرض استخدام معالج الرسوميات GPU لتطبيق معين:

إذا كنت مهتماً بمعرفة حجم ذاكرة الفيديو التي يستخدمها تطبيق ما، فستحتاج إلى التبديل إلى علامة التبويب التفاصيل في إدارة المهام.

في علامة التبويب التفاصيل، انقر بزر الماوس الأيمن فوق أي رأس عمود، ثم انقر فوق الخيار تحديد أعمدة. قم بالتمرير لأسفل وتمكين خيار GPU ومحرك GPU وذاكرة GPU المخصصة وأعمدة ذاكرة GPU المشتركة.

أول خيارين متاحان أيضاً في علامة تبويب العمليات، لكن الخيارين الأخيرين للذاكرة لا يتوفران إلا في الجزء الخاص بالتفاصيل.

يعرض عمود ذاكرة GPU المخصصة مقدار الذاكرة التي يستخدمها التطبيق على GPU الخاص بجهازك.

إذا كان جهاز الكمبيوتر يحتوي على بطاقة رسوميات NVIDIA أو AMD منفصلة، فهذا هو مقدار VRAM – أي الذاكرة الفعلية على بطاقة الرسوميات – التي يستخدمها التطبيق.

إذا كانت بطاقة الرسوميات مدمجة، فسيتم حجز جزء من ذاكرة النظام العادية حصرياً لأجهزة الرسوميات. يوضح هذا مقدار الذاكرة المحجوزة التي يستخدمها التطبيق.

يسمح ويندوز Windows أيضاً للتطبيقات بتخزين بعض البيانات في ذاكرة DRAM العادية للنظام. يعرض عمود ذاكرة GPU المشتركة مقدار الذاكرة الحالي التي يستخدمها تطبيق معين لميزات الفيديو خارج ذاكرة النظام العشوائية للكمبيوتر.

يمكن النقر فوق أي من الأعمدة لترتيبها وعرض التطبيقات التي تستخدم معظم الموارد. على سبيل المثال، لعرض التطبيقات التي تستخدم معظم ذاكرة الفيديو على GPU، انقر فوق العمود ذاكرة GPU المخصصة.

كيفية رصد استخدام موارد معالج الرسوميات GPU الكلية:

لمراقبة إحصائيات استخدام موارد GPU الكلية، انقر فوق علامة التبويب الأداء وابحث عن خيار GPU في الشريط الجانبي – قد تضطر إلى التمرير لأسفل لرؤيته.

إذا كان جهاز الكمبيوتر لديك يحتوي على وحدات معالجة رسوميات متعددة، فسترى خيارات GPU متعددة هنا.

إذا كان لديك العديد من وحدات GPU المدمجة – باستخدام ميزة مثل NVIDIA SLI أو AMD Crossfire – فسوف تشاهدها محددة بواسطة “# Link” في اسمها.

على سبيل المثال، في لقطة الشاشة أدناه، يحتوي النظام على ثلاث وحدات معالجة رسومية. GPU 0 عبارة عن وحدة معالجة الرسوميات إنتل Intel المتكاملة.

“GPU 1” و “GPU 2” عبارة عن وحدات معالجة رسوميات NVIDIA GeForce مرتبطة معاً باستخدام NVIDIA SLI. يعني النص “Link 0” أو بالعربية “الرابط 0” أنهما جزآن من الرابط 0.

يعرض ويندوز Windows استخدام معالج الرسوميات GPU في الوقت الفعلي هنا. بشكل افتراضي، يحاول مدير المهام عرض أكثر أربعة محركات مثيرة للاهتمام وفقاً لما يحدث على النظام.

سترى رسوماً بيانية مختلفة هنا اعتماداً على ما إذا كنت تلعب بالألعاب ثلاثية الأبعاد أو تشفير مقاطع الفيديو، على سبيل المثال.

مع ذلك، يمكن النقر فوق أي من الأسماء الموجودة أعلى الرسومات البيانية وتحديد أي من المحركات المتاحة لاختيار ما تريد إظهاره يظهر.

يظهر اسم GPU أيضاً في الشريط الجانبي وفي الجزء العلوي من هذه النافذة، مما يسهل التحقق من أجهزة الرسوميات التي قام جهاز الكمبيوتر بتثبيتها.

سترى أيضاً رسوماً بيانية لاستخدام ذاكرة GPU مخصص ومشترك. يشير استخدام الذاكرة المخصصة لـ GPU إلى مقدار الذاكرة المستخدم من GPU.

بالنسبة لـ وحدة معالجة الرسوميات المنفصلة Discrete GPU، يشير ذلك إلى ذاكرة الوصول العشوائي على بطاقة الرسومات نفسها.

أما بالنسبة لـ بطاقات الرسوميات المدمجة Integrated GPUs، يشير ذلك إلى مقدار ذاكرة النظام المحجوزة للرسوميات قيد الاستخدام بالفعل.

يشير استخدام ذاكرة GPU المشتركة إلى مقدار الذاكرة الكلية للنظام المستخدمة لمهام GPU. حيث يمكن استخدام هذه الذاكرة لمهام النظام العادية أو مهام الفيديو.

في الجزء السفلي من النافذة، سترى معلومات مثل رقم إصدار برنامج تشغيل الفيديو الذي قمت بتثبيته، والبيانات التي تم إنشاء برنامج تشغيل الفيديو بها، والموقع الفعلي لوحدة معالجة الرسوميات في النظام لديك.

إذا كنت تريد عرض هذه المعلومات في نافذة أصغر يسهل الحفاظ عليها على الشاشة، يمكن النقر نقراً مزدوجاً في مكان ما داخل عرض وحدة معالجة الرسومات أو انقر بزر الماوس الأيمن على أي مكان بداخلها وتحديد خيار عرض ملخص الرسم البياني.

يمكن توسيع النافذة عن طريق نفس طريقة النقر المزدوج أعلاه أو بالنقر بزر الماوس الأيمن فوقها وإلغاء تحديد خيار عرض ملخص الرسم البياني الذي تم تفعيله مسبقاً.

يمكن أيضاً النقر بزر الماوس الأيمن فوق رسم بياني وتحديد تغيير الرسم البياني إلى > محرك أحادي لعرض رسم واحد فقط لمخطط محرك GPU فوق الرسومات البيانية لاستخدام الذاكرة.

لإبقاء الإطار مرئياً على الشاشة في جميع الأوقات، انقر على خيارات > دوماً في المقدمة كما هو ظاهر في لقطة الشاشة أدناه عندما أردنا الإظهار الدائم لإطار وحدة المعالجة المركزية.

انقر نقراً مزدوجاً داخل جزء GPU مرة أخرى وستحصل على نافذة طفو صغيرة يمكنك وضعها في أي مكان تريده على الشاشة.

للحصول على معلومات أكثر تفصيلاً حول كيفية عمل هذه الميزة بالضبط وما تمثله المعلومات هنا، راجع مدونة Microsoft.

مقالات قد تعجبك:

كيفية الدخول إلى الوضع الآمن في ويندوز
كيفيّة إعادة تنصيب ويندوز 10 مع إمكانية الإبقاء على الملفات
ما هي عملية مضيف الخدمات svchost.exe في إدارة مهام ويندوز ؟ ولم يوجد العديد منها قيد العمل
كيفية اختيار كرت رسوميات للكمبيوتر المكتبي أو المحمول
كيفية ترقية أو استبدال بطاقة الرسوميات في الكمبيوتر
طريقة تحديد سرعة الإنترنت أو قطعه عن المتصلين بالشبكة، لأجهزة ويندوز