




السمعة:
- إنضم22 ديسمبر 2023
- المشاركات 192
- الحلول 1
- مستوى التفاعل 288
- النقاط 63
السلام عليكم جميعًا
بعد التوكل على الله قررت البدء بسلسلة بعنوان " ما الفرق؟ "
في هذه السلسلة سأقوم بشرح الفروق بين بعض الخيارات المتاحة في مختلف المجالات، وذلك لتوسيع مداركنا وزيادة فهمنا للعالم التقني من حولنا .
اليوم سأبدأ بأول فرق وسيكون بين البرمجة الأمامية (Frontend) والبرمجة الخلفية (Backend).
بداية لفهم معنى كل منهما بشكل بسيط اريد منك صديقي أن تتخيل معي أنك في متجر:
كل ما تراه في المتجر من واجهة المتجر أو رفوف عرض السلع ،أسعار المنتجات أو سلة التسوق كل هذا يتم العمل علية ليكون جذابًا لك كمشتري وسهل الاستخدام وهذا تمامًا ما يفعلة مطور Frontend
أما ما يحدث خلف الكواليس من مخزن المنتجات، نظام إدارة المخزون، عملية الدفع، كل هذا يعمل بشكل غير مرئي لك كمستخدم ولكنه ضروري لعمل المتجر بسلاسة وهذا تمامًا ما يفعلة مطور Backend
اعتقد بأنه الآن أصبح لدينا تصور مبدئي عن مفهوم كل من النوعين .
بعد التوكل على الله قررت البدء بسلسلة بعنوان " ما الفرق؟ "
في هذه السلسلة سأقوم بشرح الفروق بين بعض الخيارات المتاحة في مختلف المجالات، وذلك لتوسيع مداركنا وزيادة فهمنا للعالم التقني من حولنا .
اليوم سأبدأ بأول فرق وسيكون بين البرمجة الأمامية (Frontend) والبرمجة الخلفية (Backend).
بداية لفهم معنى كل منهما بشكل بسيط اريد منك صديقي أن تتخيل معي أنك في متجر:
كل ما تراه في المتجر من واجهة المتجر أو رفوف عرض السلع ،أسعار المنتجات أو سلة التسوق كل هذا يتم العمل علية ليكون جذابًا لك كمشتري وسهل الاستخدام وهذا تمامًا ما يفعلة مطور Frontend
أما ما يحدث خلف الكواليس من مخزن المنتجات، نظام إدارة المخزون، عملية الدفع، كل هذا يعمل بشكل غير مرئي لك كمستخدم ولكنه ضروري لعمل المتجر بسلاسة وهذا تمامًا ما يفعلة مطور Backend
اعتقد بأنه الآن أصبح لدينا تصور مبدئي عن مفهوم كل من النوعين .
لذا سنقوم بتعريف كل منهما تعريف علمي بسيط :
- البرمجة الأمامية (Frontend): هي الجزء المرئي من التطبيق أو الموقع الإلكتروني الذي يتفاعل معه المستخدم بشكل مباشر ويشمل كل ما يراه المستخدم من تصميم، ألوان، خطوط، صور، أزرار، قوائم، وغيرها من العناصر التي تجعل التطبيق جذابًا وسهل الاستخدام.
- البرمجة الخلفية (Backend): هي الجزء غير المرئي من التطبيق أو الموقع الإلكتروني الذي يعمل خلف الكواليس. يتعامل مع منطق العمل، إدارة البيانات، والتفاعل مع قواعد البيانات والخوادم.
الآن لنتعرف على استخدام كل منهما :

1. تصميم وتطوير واجهة المستخدم (UI) بحيث تكون جذابة وسهلة الاستخدام.
2. بناء التفاعلات بين المستخدم والواجهة، مثل النقر على الأزرار، ملء الحقول، وتصفح الصفحات.
3. التأكد من أن التطبيق يعمل بشكل صحيح على مختلف الأجهزة وأحجام الشاشات.
4. تحسين أداء التطبيق لضمان تحميل الصفحات بسرعة وتجربة مستخدم سلسة.

1. تخزين البيانات في قواعد البيانات.
2. معالجة الطلبات التي تأتي من الواجهة الأمامية.
3. تنفيذ العمليات الحسابية والمنطقية.
4. إدارة المستخدمين والتحقق من صلاحياتهم.
5. تأمين البيانات وحماية التطبيق من الاختراقات.
اذا كنت تريد أن تصبح مطور في أي من النوعين وتريد العمل على موقع لمتجر معين سيكون لديك مهام محدده لنتعرف على بعضها:

1. تصميم صفحة تسجيل الدخول.
2. إنشاء قائمة منسدلة لعرض الخيارات.
3. إضافة تأثيرات متحركة على العناصر.

1. تسجيل الدخول للمستخدم والتحقق من صحة البيانات.
2. حفظ بيانات المستخدم في قاعدة البيانات.
3. معالجة طلب شراء منتج وإرسال فاتورة.
4. إدارة عمليات الدفع.
لنرى الآن ما هي لغات البرمجة التي تحتاجها كمطور في النوعين :


أطر الواجهة الأمامية :هي أداة تستخدم في تطوير الويب لتبسيط عملية إنشاء مواقع الويب حيث توفر مكونات وأنماط وأساليب قابلة لإعادة الاستخدام تساعدك على إنشاء مواقع ويب أكثر كفاءة وسهولة في الاستخدام
الآن لنفرض أنك تشتت قليلاً ولا تعلم في أي من النوعين تريد أن تعمل ؟
لا تقلق يا صديقي سأساعدك في ذلك :


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

1. واجهات برمجة التطبيقات (APIs) : هي الوسيلة التي تتواصل بها الواجهة الأمامية مع الخلفية. ترسل الواجهة الأمامية طلبات إلى الخلفية عبر هذه الواجهات، وتتلقى الخلفية هذه الطلبات وتعيد النتائج.
JSON (JavaScript Object Notation) .2 : هي صيغة شائعة لتبادل البيانات بين الواجهة الأمامية والخلفية. يتم تمثيل البيانات في شكل أزواج من المفتاح والقيمة، مما يسهل قراءتها ومعالجتها.
واخيراً لنأخذ مثال لأحد العمليات في موقع معين لنتعرف على دور كل من البرمجتين فيها ولتكن العملية عملية الدخول login :
- البرمجة الأمامية (Frontend): تصميم صفحة تسجيل الدخول مع حقول لإدخال اسم المستخدم وكلمة المرور، إضافة زر لتسجيل الدخول، وتوفير رسائل خطأ في حالة إدخال بيانات غير صحيحة.
- البرمجة الخلفية (Backend): التحقق من صحة البيانات المدخلة، مقارنة كلمة المرور المخزنة في قاعدة البيانات، إنشاء جلسة للمستخدم المسجل، وتوجيه المستخدم إلى الصفحة الرئيسية.
وفي النهاية سأضع لكم جدول يلخص أهم الفروقات بين البرمجتين :
الميزة | البرمجة الأمامية (Frontend) | البرمجة الخلفية (Backend) |
الهدف | توفير تجربة مستخدم ممتعة وجذابة | إدارة البيانات والمنطق وراء التطبيق |
التكنولوجيا المستخدمة | HTML, CSS, JavaScript | لغات برمجة مثل Python, Java, Ruby, PHP، وقواعد بيانات مثل MySQL, PostgreSQL |
مكان العمل | متصفح المستخدم | الخادم (Server) |
الأدوات | محررات نصوص، أدوات تصميم واجهات المستخدم، أدوات فحص الأكواد | بيئات التطوير المتكاملة (IDE)، أدوات إدارة قواعد البيانات، أدوات التحكم في الإصدار |
المسؤوليات | تصميم وتطوير واجهة المستخدم، التأكد من أن الموقع يعمل بشكل صحيح على مختلف الأجهزة والأحجام، إضافة تأثيرات تفاعلية | إدارة البيانات، تنفيذ منطق الأعمال، تأمين البيانات، التعامل مع طلبات المستخدمين، إدارة الخادم |
المهارات المطلوبة | فهم جيد لـ HTML, CSS, JavaScript، مهارات تصميم، معرفة بأطر عمل الجافاسكريبت، فهم أسس UX/UI | فهم لغات البرمجة، قواعد البيانات، خوارزميات، هياكل البيانات، مهارات حل المشكلات، معرفة بأسس الشبكات |
من كان لديه أي اضافة على هذا الموضوع ارجو منكم وضعها في التعليقات لإفادة الغير ونيل الأجر والثواب إن شاء الله
وهكذا نكون قد أنهينا درسنا لهذا اليوم
أن أصبت ففضل من الله ومِنه, وإن أخطأت فمن نفسي والشيطان .
والسلام عليكم ورحمة الله وبركاته
أن أصبت ففضل من الله ومِنه, وإن أخطأت فمن نفسي والشيطان .
والسلام عليكم ورحمة الله وبركاته
التعديل الأخير: