الفرق بين Frontend و Backend بشرح بسيط

الواجهة الأمامية Frontend هي ما تراه في المتصفح، والخلفية Backend هي الخادم والمنطق وقاعدة البيانات. تعرّف على الفرق واللغات وأي مسار يناسبك.

نُشر في 5 دقائق قراءة

نافذة متصفح في جهة ومجموعة خوادم في الجهة الأخرى وبيانات تنتقل بينهما
محتويات المقال
  1. مثال من الحياة اليومية: متجر إلكتروني
  2. ماذا يفعل مطوّر الواجهة الأمامية؟
  3. ماذا يفعل مطوّر الواجهة الخلفية؟
  4. كيف تتواصل الواجهة الأمامية مع الخلفية؟
  5. مقارنة سريعة بين Frontend و Backend
  6. مهارات مشتركة بين الجانبين
  7. ماذا عن Full Stack؟
  8. بأيهما تبدأ؟

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

باختصار: الـ Frontend هو الواجهة (HTML وCSS وJavaScript)، والـ Backend هو الخادم وقاعدة البيانات (Node.js وPython وPHP وJava وC# وغيرها)، ويتواصلان عبر واجهة برمجية API.

مثال من الحياة اليومية: متجر إلكتروني

تخيّل أنك تبحث عن منتج في متجر إلكتروني:

  1. تكتب "سماعات" في مربع البحث وتضغط Enter. مربع البحث والزر وتصميم الصفحة كلها Frontend.
  2. يرسل المتصفح طلباً إلى خادم المتجر.
  3. يبحث الخادم في قاعدة البيانات عن المنتجات المطابقة، ويطبّق قواعد الأسعار والمخزون، ثم يرسل قائمة بالنتائج. هذا هو Backend.
  4. يستقبل المتصفح القائمة ويرسم بطاقات المنتجات على الشاشة، وهنا نعود إلى الـ Frontend.

والمطعم تشبيه مفيد: صالة الطعام وقائمة الطلبات وترتيب الطاولات هي الواجهة الأمامية، والمطبخ الذي تُحضَّر فيه الطلبات فعلاً هو الواجهة الخلفية.

ماذا يفعل مطوّر الواجهة الأمامية؟

يبني مطوّر الـ Frontend كل ما يراه المستخدم ويلمسه. وأساس عمله ثلاث تقنيات:

  • HTML للهيكل: العناوين والفقرات والصور والنماذج.
  • CSS للتنسيق: الألوان والخطوط والمسافات، وتصميم يتكيّف مع الجوال والحاسوب.
  • JavaScript للسلوك: الاستجابة للنقرات، والتحقق من النماذج، وتحميل البيانات دون إعادة تحميل الصفحة.

وفي المشاريع الكبيرة يضيف المطورون عادةً مكتبة أو إطار عمل مثل React أو Vue أو Angular لتنظيم الواجهة في مكوّنات قابلة لإعادة الاستخدام.

ومن اهتمامات الـ Frontend المعتادة: التصميم المتجاوب، وإتاحة الموقع للجميع (Accessibility) مثل استخدامه بلوحة المفاتيح أو قارئ الشاشة، وسرعة الصفحة، وعمل الموقع بشكل صحيح على المتصفحات المختلفة.

ماذا يفعل مطوّر الواجهة الخلفية؟

يبني مطوّر الـ Backend طبقة المنطق والبيانات. ومن مهامه المعتادة:

  • إنشاء واجهات API يستدعيها الموقع أو تطبيق الجوال لجلب البيانات أو إرسالها.
  • إدارة حسابات المستخدمين: التسجيل وتسجيل الدخول وكلمات المرور والصلاحيات.
  • التعامل مع قواعد البيانات مثل PostgreSQL أو MySQL أو MongoDB.
  • معالجة المدفوعات والرسائل البريدية ورفع الملفات والمهام المجدولة.
  • الحفاظ على أمان النظام وقدرته على خدمة عدد كبير من المستخدمين في الوقت نفسه.

لغات الـ Backend كثيرة، ولكل منها أطر عمل مشهورة: JavaScript مع Node.js (مثل Express)، وPython مع Django أو Flask، وPHP مع Laravel، وJava مع Spring، وC# مع ASP.NET Core. ولغة Go أيضاً خيار شائع للخدمات السريعة.

كيف تتواصل الواجهة الأمامية مع الخلفية؟

يتواصل الطرفان عبر بروتوكول HTTP، وغالباً من خلال API. ترسل الواجهة الأمامية طلباً مثل GET /api/products، فيبحث الخادم في قاعدة البيانات ويرد بالبيانات، وغالباً بصيغة JSON. ثم تحوّل الواجهة الأمامية هذه البيانات إلى شيء تراه على الشاشة.

رسم يوضح متصفحاً يرسل طلب GET إلى خادم، والخادم يستعلم من قاعدة البيانات، ثم يعود رد بصيغة JSON إلى المتصفح

إذا كان مفهوم الـ API جديداً عليك، اقرأ شرحنا المبسّط ما هو الـ API، فهو حلقة الوصل بين العالمين.

مقارنة سريعة بين Frontend و Backend

Frontend Backend
أين يعمل؟ في متصفح المستخدم أو جهازه على خادم
اللغات الأساسية HTML وCSS وJavaScript (وTypeScript) JavaScript (Node.js) وPython وPHP وJava وC# وGo وغيرها
أدوات مشهورة React وVue وAngular Express وDjango وLaravel وSpring وASP.NET Core
يهتم بـ التصميم وتجربة المستخدم والتفاعل البيانات والمنطق والأمان والأداء
كيف ترى النتيجة؟ مباشرة على الشاشة من خلال ردود الـ API والسجلات والاختبارات
تحدياته المعتادة اختلاف المتصفحات وأحجام الشاشات حماية البيانات والتوسع واستمرار عمل الخدمة

مهارات مشتركة بين الجانبين

أياً كان الجانب الذي تختاره، هناك مهارات يحتاجها كل مطوّر ويب:

  • Git وGitHub لتتبّع التعديلات والعمل مع فريق.
  • أدوات المطوّر في المتصفح (اضغط F12 في أغلب المتصفحات) لفحص عناصر الصفحة، وقراءة الأخطاء في الـ Console، ومراقبة الطلبات وهي تنتقل بين الواجهة الأمامية والخلفية.
  • فهم HTTP وواجهات API: مطوّر الـ Frontend يستدعي الـ API، ومطوّر الـ Backend يبنيه، لذلك يحتاج الاثنان إلى فهم الطلبات والردود ورموز الحالة.
  • سطر الأوامر لتشغيل المشاريع وتثبيت الحزم واستخدام الأدوات المختلفة.
  • عادات الأمان الأساسية، مثل عدم الوثوق بمدخلات المستخدم أبداً، وعدم كشف كلمات المرور أو مفاتيح API في الكود.

ماذا عن Full Stack؟

مطوّر Full Stack يعمل على الجانبين. هذا شائع في الفرق الصغيرة والشركات الناشئة، وهو هدف طبيعي إذا أردت بناء مشاريع كاملة بنفسك. وتنتشر JavaScript في هذا المسار لأن اللغة نفسها تعمل في المتصفح، ومع Node.js تعمل على الخادم أيضاً.

ومع ذلك، يبدأ أغلب الناس بإتقان جانب واحد أولاً. محاولة تعلم كل شيء دفعة واحدة سبب شائع لشعور المبتدئين بالتشتت والإحباط.

بأيهما تبدأ؟

اسأل نفسك: ما نوع المشكلات التي تستمتع بحلها؟

  • اختر Frontend إذا كنت تحب العمل البصري وتفاصيل التصميم ورؤية نتيجة تعديلك فوراً.
  • اختر Backend إذا كنت تفضّل المنطق والبيانات والألغاز والأنظمة التي تعمل خلف الكواليس.
  • لست متأكداً؟ ابدأ بـ HTML وCSS وأساسيات JavaScript. كل مطوّر ويب يحتاجها، وستكتشف بسرعة إن كنت تستمتع بالواجهة أو تريد التعمق في الخادم.

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

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

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

أسئلة شائعة

أيهما أسهل للمبتدئ: Frontend أم Backend؟

الـ Frontend يبدو أسهل في البداية لأنك ترى نتيجة كل تعديل في المتصفح مباشرة. الـ Backend أقل بصرية لكنه ليس أصعب بالضرورة. اختر المجال الذي تستمتع بحل مشكلاته.

هل يمكن استخدام JavaScript في الواجهة والخلفية معاً؟

نعم. تعمل JavaScript في كل المتصفحات، ومع Node.js تعمل أيضاً على الخوادم. لهذا يبدأ كثير من المبتدئين بها، فلغة واحدة تغطي الجانبين.

من هو مطوّر Full Stack؟

هو المطوّر الذي يعمل على الواجهة الأمامية والخلفية معاً. في الواقع يكون أغلبهم أقوى في جانب واحد، لكنهم يفهمون الجانب الآخر بما يكفي لبناء ميزة كاملة.

هل يحتاج الموقع البسيط إلى Backend؟

ليس دائماً. معرض الأعمال أو المدونة أو صفحة الهبوط يمكن أن تكون موقعاً ثابتاً من ملفات HTML وCSS وJavaScript. تحتاج إلى Backend عندما يسجّل المستخدمون الدخول، أو يرسلون بيانات يجب حفظها، أو يرى كل مستخدم محتوى مختلفاً.

رسم لسجل تعديلات فيه فرع يندمج مع الخط الرئيسي وأيقونة رفع إلى السحابة

البرمجة

شرح Git و GitHub للمبتدئين خطوة بخطوة

تعلّم Git وGitHub من الصفر: تثبيت Git، أول commit، رفع مشروعك إلى GitHub، واستخدام الفروع بأمان، مع شرح كل أمر بلغة بسيطة.

· 5 دقائق قراءة