كيف تربط موقع مع جميع منصات مثل ايفون او اندرويد
على سبيل مثال موقع فيسبوك النظام ايفون تقدر تتواصل مع
مع النظام اندرويد
إن الربط في حالة فيس بوك و باقي الخدمات التي تتوفر على أكثر من منصة (ويب - أندرويد - أيفون) يكون لأن لهم جميعا نفس قاعدة البيانات، أي أن التطبيقات والموقع تتصل على نفس مجموعة المخدمات severs ولهم نفس قاعدة البيانات و بهذا تتشارك البيانات.
إن برمجة ال back end أو البرمجة الخلفية منفصلة بالمنطق عن برمجة التطبيقات أو الواجهات الأمامية front end ، لذلك يمكن طلب البيانات من أي منصة، يمكنك التوسع بمفهوم API أي توفر روابط فريدة يمكن الاتصال عليها لجلب بيانات معينة وبصيغة موحدة مثل JSON (يمكن التعامل معها من مختلف لغات البرمجة)، بغض النظر عن الطرف الذي طلب البيانات، وبهذا يمكن إضافة و حذف و تعديل البيانات عن طريق HTTP methods.
توسع في هذه المفاهيم (ابحث عن الكلمات المفتاحية) لتعرف آلي عمل كل منهم.
يتعلق هذا بشكل وثيق بما يعرف بواجهات التطبيقات البرمجية API's .
و تعرف على أنها مجموع القواعد التي تحدد كيفية اتصال تطبيقات أو واجهات , أو أجهزة ببعضها البعض . و يتم ذلك عن طريق إخفاء تعقيد منطق عمل وظيفة أو دالة أو تابع و تصدير طريقة بسيطة للوصول إليه و التعامل معه , بحيث يعطي هذا مرونة أكبر و قابلية أكثر للتحكم في التطبيق بواجهتيه : الأمامية و الخلفية . فحجم التنوع الكبير للغات البرمجة المستخدمة في تطوير مواقع الويب وخدماته تجعل من الصعب التواصل والتكامل بين هذه التطبيقات . لكن توفير وسيلة سهلة تفهمها كل هاته الأدوات و اللغات وجدت كالحل لهاته المشكلة . هاته الوسيلة هي هذا الـ API .
و لنأخذ على سبيل المثال ما طرحته , فالتكامل بين تطبيق الأندرويد لفيسبوك و تطبيق الأيفون لا يتم مباشرة , و إنما بوساطة أجهزة و خوادم و واجهات , تتصل فيما بينها .
فلن يهمنا كون فيسبوك يستعمل PHP أو Erlang , Java أو C++ كونها كلها تتوسط إلى نفس الخادم بطريقة ما , هذا الخادم يخبر كل من تطبيقات ذات المنصة بالتصرف على نحو معين .
فلو قام المستخدم - أ - بإلإعجاب بصورة مثلا في تطبيق الأندرويد لديه , فسيتم إرسال طلبه إلى أحد خوادم فيسبوك . و سيقوم هذا الخادم بتنبيه صاحب الصورة أو المتابع لها في تطبيق الـ IOS لديه . و يتم هذا عن طريق الإستعانة ببروتوكلات إتصال معينة .. Http مثلا .
تعرف أكثر على فوائد و إستعمالات و شروحات أكثر تفصيلا لواجهات التطبيق البرمجية هنا :
التعليقات