ANUPET ACADEMY رجوع للموقع

إيه هو الباك إند بالظبط؟ شرح عملي للمبتدئين

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

إيه هو الباك إند بالظبط؟ شرح عملي للمبتدئين

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

يلا نفكّك الثانية دي بالترتيب.

اللي بيحصل بين الزرار والصفحة

أول ما تدوس الزرار، المتصفح بيلمّ اللي كتبته ويبعته في طلب (request) على عنوان معيّن على السيرفر. الطلب ده بيوصل لبرنامج شغّال هناك أربع وعشرين ساعة، بيستنى طلبات. البرنامج ده هو الباك إند بتاعك، وهو اللي بيعمل الخطوات دي:

  1. يستقبل الطلب ويعرف هو رايح على أنهي وظيفة جواه (تسجيل دخول؟ عرض منتج؟ حفظ طلب شراء؟).
  2. يتأكد إن البيانات اللي جت معقولة أصلاً — الإيميل شكله إيميل، وكلمة السر مش فاضية.
  3. يروح لقاعدة البيانات يدوّر على المستخدم صاحب الإيميل ده.
  4. يقارن كلمة السر بالنسخة المشفّرة المتخزنة، من غير ما يكون خازن كلمة السر نفسها في أي مكان.
  5. لو كل حاجة تمام، يفتح جلسة (session) ويرجّع رد للمتصفح فيه «تمام، ده حسابك».
  6. لو حصل خطأ، يرجّع رد بالخطأ — ويكتب في اللوج إن في محاولة دخول فشلت.

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

أربع قطع مش قطعة واحدة

الناس بتقول «باك إند» وكإنها حاجة واحدة، وهي في الحقيقة أربع حاجات بتشتغل مع بعض:

  • الأبلكيشن: الكود اللي فيه قواعد الشغل نفسها — مين يقدر يعمل إيه، والسعر بيتحسب إزاي، والطلب بيعدّي بأنهي حالات. ده قلب الموضوع، وده اللي بتكتبه بلغة زي PHP أو Python أو JavaScript على Node.
  • قاعدة البيانات: المكان اللي البيانات بتفضل فيه بعد ما السيرفر يقفل ويفتح. غالباً MySQL أو PostgreSQL، وبتتكلم معاها بلغة اسمها SQL.
  • الـ API: الشكل المتفق عليه للطلبات والردود، عشان أي حد — موقعك، أبليكيشن الموبايل، شريك خارجي — يقدر يستخدم نفس النظام.
  • السيرفر والنشر: المكان اللي الكود بيشتغل عليه فعلاً، والنسخ الاحتياطي، والدومين، والشهادة اللي بتخلي الموقع يفتح بـ HTTPS.

مطور الباك إند الجونيور بيبدأ من أول اتنين، وبيقرّب من التالت بسرعة، والرابع بيتعلمه على الطريق.

شكل الكود في الحقيقة

عشان الكلام ميفضلش نظري، ده مثال بلارافيل (فريم ورك PHP اللي بندرّسه إحنا في أكاديمية أنوبت) لطلب واحد بيرجّع بيانات كورس:

Route::get('/api/courses/{slug}', function (string $slug) {
    $course = Course::query()
        ->where('slug', $slug)
        ->where('active', true)
        ->firstOrFail();

    return response()->json([
        'title'    => $course->title,
        'sessions' => $course->sessions_count,
        'price'    => $course->price_egp,
    ]);
});

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

يوم في حياة مطور باك إند

اليوم العادي مش كتابة كود من أول لآخر النهار. الأقرب للحقيقة:

  • شوية على قراءة كود موجود قبل ما تلمسه، عشان تفهم الفيتشر شغالة إزاي دلوقتي.
  • شوية على استعلامات: تظبط استعلام بطيء، أو تزوّد فهرس (index) على عمود بيتعمل عليه بحث كتير.
  • شوية على حالات غريبة: المستخدم لو دفع مرتين؟ لو الملف اللي رفعه 40 ميجا؟ لو الإنترنت قطع في نص العملية؟
  • شوية على اختبارات (tests) بتثبّت إن اللي صلّحته مش هيرجع يقع تاني.
  • وشوية — وديه اللي محدش بيقولهالك — على الكلام مع الناس: تفهم الطلب الحقيقي وراء الطلب المكتوب.

الجزء الممتع إن الشغل ده تراكمي. الاستعلام اللي تعلمت تظبطه النهاردة هتستخدمه في كل مشروع بعد كده.

إيه اللي مش شغل الباك إند

  • مش تصميم: شكل الزرار ولونه ومكانه مش قرارك.
  • مش بالضرورة سيرفرات: في فرق فيها ناس متخصصة (DevOps) بتتولى ده، وإنت بتسلّمهم كود شغّال.
  • مش «الجزء الصعب»: الفرونت إند الحديث فيه تعقيد حقيقي. الفرق مش في الصعوبة، الفرق في نوع المشكلة.

لو لسه محتار تبدأ بأنهي جنب، الموضوع ده مستاهل مقال لوحده: [الفرق بين الفرونت إند والباك إند وأنهي واحد تبدأ بيه](/blog/frontend-vs-backend).

طيب أبدأ منين؟

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

ولو عايز الترتيب ده متشرح ومتظبط مع حد بيراجع كودك، شوف [مسار الباك إند في أنوبت](/courses/back-end). وفي كل الأحوال: افتح محرر النهاردة واكتب أول عنوان (route) بيرجّع كلمة. الثانية اللي بين الزرار والصفحة بتبدأ من السطر ده.

الكلمات المفتاحية إيه هو الباك إند back end مطور باك اند تعلم برمجة من الصفر الفرق بين الفرونت اند والباك اند شغل باك اند

كل المقالات