الفرونت إند والباك إند ليسا مسمّيين مختلفين لنفس الشغل. شرح واضح لما يفعله كل جزء منهما، ولماذا يحدد الاختيار بينهما شكل موقعك وتكلفة تطويره وصيانته لاحقاً.
برمجة المواقع تنقسم إلى نصفين: واجهة أمامية يراها الزائر، وواجهة خلفية لا يراها أحد لكنها تحفظ البيانات وتنفّذ المنطق. الفرق بينهما ليس تقسيماً أكاديمياً؛ هو السبب المباشر في أن موقعاً من عشر صفحات قد يكلّف جزءاً بسيطاً مما يكلّفه موقع من عشر صفحات فيه نظام حجز. هذا المقال يشرح ما يفعله كل نصف، وكيف ينعكس على سعر عرضك وعلى فاتورة صيانتك بعد سنة.
ما الذي تتكفل به الواجهة الأمامية بالضبط؟
الواجهة الأمامية مسؤولة عن كل ما يظهر ويستجيب في متصفح الزائر. HTML يبني هيكل الصفحة ومعناها للمتصفح ولمحركات البحث، وCSS يحدد الشكل والتخطيط والسلوك على مقاسات الشاشات المختلفة، وJavaScript يضيف التفاعل: قائمة تنفتح، وتبويب يتبدّل، ونموذج يتحقق من صحة البيانات قبل الإرسال. جودة هذا النصف تحسم شيئين يهمانك تجارياً: سرعة ظهور المحتوى، وسهولة الاستخدام على الهاتف. وكلاهما يؤثر مباشرة على نسبة من يكملون الطلب.
وما الذي تتكفل به الواجهة الخلفية؟
الواجهة الخلفية مسؤولة عن كل ما يجب أن يبقى بعد إغلاق المتصفح. هي التي تخزّن الطلب في قاعدة البيانات، وتتحقق من كلمة المرور، وتحسب السعر والضريبة، وترسل البريد، وتتكلم مع بوابة الدفع، وتمنع المستخدم من رؤية بيانات غيره. تُكتب بلغات مثل PHP أو Python أو Node.js، ونحن ننفّذ هذا الجزء على إطار Laravel. قواعد البيانات مثل MySQL تحفظ الجداول، والخادم مثل Nginx يستقبل الطلبات ويوجّهها. الزائر لا يرى شيئاً من ذلك، لكنه يشعر به فوراً حين يفشل الدفع أو تضيع بياناته.
لماذا يرفع الجزء الخلفي تكلفة الموقع؟
لأن الواجهة الأمامية تُنجز مرة، بينما المنطق الخلفي يجب أن يُختبر في كل حالاته المحتملة. صفحة "من نحن" لها حالة واحدة، أما زر "أضف إلى السلة" فله عشرات الحالات: المنتج نفد، الكمية أكبر من المخزون، الكوبون منتهٍ، الدفع فشل بعد الخصم، المستخدم ضغط مرتين. كل حالة من هذه تحتاج كتابة واختباراً ومعالجة خطأ. لهذا يختلف سعر موقع تعريفي عن سعر نظام يعمل، والفارق ليس في عدد الصفحات بل في عدد القرارات التي يتخذها الموقع نيابةً عنك. تفصيل العوامل التي تحرّك السعر موجود في برمجة موقع إلكتروني: الأدوات والخطوات والتكلفة.
ما الفرق بين موقع ثابت وموقع ديناميكي في التشغيل؟
الموقع الثابت يعرض صفحات محفوظة كما هي، والديناميكي يبنيها لحظة الطلب من قاعدة بيانات. النتيجة العملية للفرق:
- التعديل — الثابت يحتاج مبرمجاً لتغيير سطر، والديناميكي تعدّله بنفسك من لوحة التحكم.
- النمو — إضافة مئة منتج على موقع ثابت تعني مئة صفحة تُبنى يدوياً.
- التكلفة الأولى — الثابت أرخص في البداية.
- التكلفة المستمرة — الديناميكي يحتاج استضافة أقوى وتحديثات أمنية دورية.
القاعدة: لو المحتوى يتغير أسبوعياً أو أكثر، فالثابت سيكلفك أكثر على المدى الطويل رغم سعره المبدئي المنخفض.
هل أحتاج لوحة تحكم فعلاً؟
تحتاجها إذا كنت ستغيّر شيئاً في الموقع أكثر من مرة كل ثلاثة أشهر. لوحة التحكم في جوهرها واجهة أمامية مبنية فوق منطق خلفي، وهي تكلّف وقت تطوير إضافياً في المشروع، لكنها توفّر عليك رسوم تعديل متكررة طوال عمر الموقع وتجعلك غير معتمد على أحد في نشر خبر أو تغيير سعر. القرار الصحيح ليس "لوحة تحكم أم لا"، بل "لوحة تحكم لأي أجزاء": غالباً تكفي إدارة المحتوى والمنتجات والطلبات، دون تحكم كامل في التصميم.
ماذا يعني ذلك لفاتورة الصيانة؟
الجزء الخلفي هو ما يحتاج متابعة أمنية مستمرة، لا الشكل. الكود الذي يستقبل بيانات من الزوار هو نقطة الهجوم الطبيعية، ولذلك تصدر تحديثات دورية للأطر والمكتبات وقواعد البيانات يجب تطبيقها. أضف إلى ذلك النسخ الاحتياطي ومراقبة التوقف وتجديد الشهادات. الموقع التعريفي الثابت قد يعيش سنة دون لمسة، أما النظام الذي يستقبل مدفوعات فيحتاج جهة مسؤولة عنه بشكل منتظم. اتفق على ذلك في العقد من البداية، واعرف ساعات الدعم المتاحة لك؛ دعمنا من السبت إلى الخميس من 9 صباحاً حتى 6 مساءً.
الخلاصة
الواجهة الأمامية تحدد كيف يبدو موقعك ويستجيب، والخلفية تحدد ماذا يستطيع أن يفعل وكم سيكلف تشغيله. اسأل عن النصفين منفصلين في أي عرض سعر تستلمه، لأن أغلب الفروق بين العروض مخبأة في النصف غير المرئي. تقدر تشوف باقي المقالات التقنية في قسم برمجة المواقع والأنظمة.