مرات تتساءل بنفسك: كيف التطبيق اللي أستخدمه مثل لينكدإن شغال لمختلف أنواع الناس والثقافات؟ وكيف عندهم تطبيقات لمختلف الأجهزة، وكذلك موقع على الويب، ومع ذلك كل شيء سويته على حسابك موجود وما يضيع؟ كل هذا يدخل في مفهوم مهم جدًا في البرمجة اسمه **API**. لكن خلونا نبسطها. تخيل أن عندك مطعم. أنت كعميل ما تدخل المطبخ بنفسك وتقول للطباخ: حط لي كذا وكذا. أنت تطلب من النادل، والنادل يوصل طلبك للمطبخ، وبعدها يرجع لك بالنتيجة. الـ **API** يعمل بشكل قريب جدًا من هذا. التطبيق الموجود على جوالك لا يحتاج يعرف كيف قاعدة البيانات تعمل، ولا أين يتم تخزين الصور، ولا كيف يتم حساب عدد المتابعين. هو فقط يرسل طلبًا إلى الـAPI. مثلًا: "أعطني بيانات هذا الحساب." الخادم يستقبل الطلب، يتأكد من صلاحياتك، يبحث في قاعدة البيانات، ثم يرجع البيانات للتطبيق. نفس الشيء يحدث عندما: تسجل دخولك. تغير صورتك الشخصية. تنشر منشورًا. تضيف شخصًا. ترسل رسالة. تفتح حسابك من جهاز آخر. التطبيق يرسل الطلبات، والخادم يعالجها ويرجع النتائج. وهنا تظهر قوة الفكرة. لينكدإن مثلًا لا يحتاج أن يبني نظامًا مختلفًا بالكامل لكل جهاز. يمكن أن يكون عنده نظام مركزي يحتوي على البيانات والمنطق الأساسي، ثم: تطبيق iPhone يتواصل معه. تطبيق Android يتواصل معه. الموقع يتواصل معه. وحتى خدمات أخرى يمكن أن تتواصل معه عبر واجهات مخصصة. لذلك عندما تغير صورتك الشخصية من الجوال، ثم تفتح لينكدإن من الكمبيوتر، تجد الصورة نفسها. لأن الصورة لم تكن محفوظة "داخل تطبيق الجوال" أصلًا. التطبيق مجرد وسيلة للوصول إلى بياناتك الموجودة في أنظمة لينكدإن. لكن هل معنى هذا أن كل شيء يحدث بدون تأخير؟ لا. وهذه نقطة مهمة. أي عملية عبر الإنترنت تمر بمراحل: التطبيق يرسل الطلب → الإنترنت ينقل الطلب → الخادم يستقبله → الخادم يعالج الطلب → قاعدة البيانات أو خدمة أخرى يتم الوصول إليها → الخادم يجهز النتيجة → النتيجة تعود إلى جهازك. كل هذا يحدث خلال أجزاء من الثانية في كثير من الحالات. لكن عندما يكون عندك ملايين المستخدمين في نفس الوقت، الموضوع يصبح أصعب بكثير. هنا تبدأ الهندسة الحقيقية. ما يكفي أن يكون عندك API فقط. تحتاج قواعد بيانات قوية، وتخزين للصور والملفات، وأنظمة تخزين مؤقت، وخوادم متعددة، وموازنة للضغط، وأنظمة مراقبة، وحماية، وقوائم انتظار، وأحيانًا آلاف الخدمات التي تتواصل مع بعضها. ولهذا عندما تضغط زر "إعجاب" في تطبيق كبير، أنت لا تتخيل حجم العمليات التي قد تحدث خلف هذا الزر. قد يتم تحديث قاعدة البيانات، وإرسال إشعار، وتحديث عدد الإعجابات، وتسجيل العملية، وتحديث أنظمة أخرى في الخلفية. وكل هذا يحدث وأنت ترى فقط أن زر الإعجاب تغير. لهذا التطبيقات الكبيرة التي نستخدمها يوميًا ليست مجرد "تطبيق على الجوال". هي منظومة ضخمة من الأنظمة والخدمات، والـAPI هو أحد أهم الطرق التي تجعل هذه الأنظمة تتحدث مع بعضها. ببساطة: **التطبيق هو الواجهة التي تراها.** **الخادم هو الذي ينفذ المنطق خلف الكواليس.** **قاعدة البيانات تحفظ المعلومات.** **والـAPI هو أحد أهم الطرق التي تجعل هذه الأجزاء تتواصل مع بعضها.** وهنا تبدأ قصة الـBackend.