تخطَّ إلى المحتوى
Uttra

ما هي الواجهة الخلفية؟

الواجهة الخلفية (Backend) هي الجزء من التطبيق الذي يعمل على الخادم بعيدًا عن متصفح الزائر: تستقبل الطلبات من الواجهة الأمامية، تطبق القواعد، تحفظ البيانات وتقرؤها من قاعدة البيانات، وتتصل بالخدمات الخارجية مثل بوابات الدفع والرسائل. هي ما يجعل الموقع يتذكر ويقرر، لا يعرض فقط.

آخر تحديث:

التعريف المختصر

الواجهة الخلفية هي منطق التطبيق وخدماته التي تعمل على الخادم، وتقدم للواجهة الأمامية ما تحتاجه عبر مسارات API. لا يراها الزائر، لكنه يعتمد عليها في كل حجز أو طلب أو تسجيل دخول.

شرح مبسط

في الواجهة الأمامية يضغط العميل «احجز». هذه الضغطة ترسل رسالة إلى الخلفية تقول: «هذا الاسم وهذا الجوال يريد هذا الموعد». الخلفية تتحقق: هل الموعد متاح؟ هل رقم الجوال صحيح؟ ثم تحفظ الحجز في قاعدة البيانات وترد: «تم» أو «الموعد محجوز». الواجهة الأمامية تعرض الرد فقط.

مسار حجز بسيط في Node.js و Express
app.post('/api/bookings', async (req, res) => {
  const { name, phone, slot } = req.body;
  if (!/^05\d{8}$/.test(phone)) return res.status(400).json({ error: 'رقم جوال غير صحيح' });
  const taken = await db.get('SELECT 1 FROM bookings WHERE slot = ?', slot);
  if (taken) return res.status(409).json({ error: 'الموعد محجوز' });
  await db.run('INSERT INTO bookings (name, phone, slot) VALUES (?, ?, ?)', name, phone, slot);
  res.json({ ok: true });
});

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

  • حين يحفظ بيانات: حجوزات، طلبات، تسجيلات، رسائل.
  • حين يحتاج تسجيل دخول وصلاحيات.
  • حين يتصل بخدمة بمفتاح سري، مثل بوابة دفع.
  • أما صفحة تعريفية ثابتة بلا نماذج تُحفظ، فلا تحتاج خلفية.

مثال من السوق السعودي

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

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

كيف يظهر في أوترا

في أوترا تستطيع بناء واجهة خلفية كاملة بمسارات API وقاعدة بيانات، والبيئة تشغّل الخادم وقاعدة البيانات معًا دون إعداد منك، مثلًا خوادم Node.js و Express. وتربط الخدمات الخارجية بإضافة مفتاحها في «البيانات السرية» ثم طلب الربط، فيبقى المفتاح محميًا خارج المحادثة والكود. وحين تنشر، تعمل التطبيقات التي لها خادم وقاعدة بيانات على موارد استضافة باقتك. ولمن يريد التحكم، الترمينال متاح لتعديل الملفات وتثبيت الحزم.

مصطلحات ذات صلة

أسئلة شائعة

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

صفحات ذات صلة