الواجهة الأمامية و الواجهة الخلفية- ما الفرق بينهما

المقدمة


إذا كنت جديدًا في عالم الترميز وهندسة البرمجيات ، فقد تشعر بالارتباك بسبب بعض المصطلحات مثل الواجهة الأمامية (Front End) والواجهة الخلفية (Back End) والتطوير الشامل (Full Stack).

في هذا المقال سوف نتحدث عن الفرق بين كل من هم و أيضا سوف نجيب على الأسئلة التالية:

  • ما هو تطوير الواجهة الأمامية؟
  • ما هو تطوير الواجهة الخلفية؟
  • كيف يختلف تطوير الواجهة الأمامية والخلفية؟
  • ما هو التطوير الشامل او Full Stack ؟
  • أيهما أفضل ، الواجهة الأمامية أو الواجهة الخلفية؟

قبل كل شيء, تطوير مواقع الويب هو عملية إنشاء المواقع وتطبيقات الويب و يركز أيضا  بشكل أكبر على الترميز والتأكد من عمل موقع الويب بشكل جيد.

قبل أن نبدأ في الحديث عن الفرق بينهما يجب أن تعرف أن تطوير الواجهة الأمامية وتطوير الواجهة الخلفية هما نوعان مختلفان من تطوير الويب.


ما هو تطوير الواجهة الأمامية؟



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

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

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


يبني مطورو الواجهة الأمامية عناصر مثل:

  1. أزرار (Buttons)
  2. التخطيطات (Layouts)
  3. الصور (Images)
  4. الرسوم المتحركة (Animation)
  5. تنظيم المحتوى (Content  organization)


ما هو تطوير الواجهة الخلفية (Back End)



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

 إليه لتخزين المنتجات. يُطلق على مركز التخزين هذا قاعدة بيانات.  (مثل:  Oracle و SQL Server و MySQL). يتم تشغيل قواعد البيانات من خادم ، وهو في الأساس كمبيوتر بعيد. سيساعد مطور الواجهة الخلفية في إدارة قاعدة البيانات هذه ، بالإضافة إلى محتويات الموقع

 المخزنة عليها.

يعمل مطورو الويب الخلفي على مهام مثل:

  1. استكشاف الأخطاء وإصلاحها وتصحيح تطبيقات الويب
  2. إدارة قاعدة البيانات


الواجهة الأمامية - الواجهة الخلفية: ما الفرق؟



هناك 4 فروق رئيسية تفرق بين تطوير الواجهة الأمامية والخلفية:



يعمل مطورو الواجهة الأمامية والخلفية على جوانب مختلفة من موقع الويب



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

 لإنشاء موقع ويب ديناميكي للسماح للمستخدمين بإجراء عمليات شراء واستخدام نماذج الاتصال وأي أنشطة تفاعلية أخرى قد تشارك فيها أثناء تصفح أحد المواقع. بعض الأمثلة على مواقع الويب الديناميكية هي و PayPal و Facebook وموقع Programming Ocean الذي تتصفحه حاليًا.


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



أي الجانبين (الواجهة الأمامية - أو الواجهة الخلفية) أكثر ربحا؟



مع وجود اختلافات في نقاط القوة ، هناك أيضًا اختلافات في الأجور. يحصل مطورو الواجهة الأمامية في منتصف حياتهم المهنية على متوسط راتب سنوي قدره 76،929 دولارًا في الولايات المتحدة. وفي الوقت نفسه ، يحصل مطورو الواجهات الخلفية في

 منتصف حياتهم المهنية في الولايات المتحدة ما متوسطه 101،619 دولارًا سنويًا.


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

 أيضًا في أيهما يجلب لك المزيد من الرضا والرضا كمطور بدلاً من التركيز فقط على توقعات الرواتب.


يعمل مطورو الواجهة الأمامية والخلفية بلغات مختلفة



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

 مطورو الواجهة الأمامية بلغات مثل HTML و CSS و JavaScript.

  • (HTML أو Hyper Text Markup Language) 
    إنها لغة الترميز القياسية لإنشاء صفحات الويب.

  • Css أو Cascading Style Sheet. 
    بينما يتم استخدام HTML لإنشاء بنية على موقع ما ، يتم استخدام CSS لجلب التنسيق و التصميم و الزخارف و الترتيب. 
    فهي تحدد ألوان الموقع وخطوطه ونمط محتوى الموقع الآخر.

  • JavaScript هي لغة يمكن استخدامها لجعل الموقع تفاعليًا وممتعًا.



تعمل الواجهة الأمامية أيضًا في مجموعة الأطر والمكتبات الخاصة بها. في ما يلي بعض من الأطر والمكتبات التي سيعمل معها مطور الواجهة الأمامية:


  • Angular Js
  • jQuery
  • React.js
  • Sass

يعمل مطورو الواجهة الخلفية بلغات مثل PHP و ++C و Java و Ruby و Python و JavaScript و Node.js. إليك المزيد عن بعض هذه اللغات:

  • PHP هي لغة برمجة نصية من جانب الخادم.

  • Java هي منصة ولغة برمجة شائعة للغاية.

  • Python لغة برمجة متعددة الأغراض
تعمل الواجهة الخلفية أيضًا في مجموعة الأطر والمكتبات الخاصة بها. في ما يلي بعض من الأطر والمكتبات التي سيعمل معها مطور الواجهة الخلفية:


  • Express
  • Django
  • Laravel
  • Spring


يعمل مطورو الواجهة الأمامية والخلفية معًا لإنشاء تطبيقات رائعة



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

 تختار ، فيمكنك التفكير في أن تصبح مطورًا كاملًا (Full Stack Developer). يتكون عملهم من عناصر الواجهة الأمامية والخلفية معا.


المدونات المتعلقة

Card Image

مكتبة-بلوتلي-بايثون-Plotly-Python

مكتبة-بلوتلي-بايثون-Plotly-Python

Card Image

باي تورش بايثون-Pytorch-Python

باي تورش بايثون-Pytorch-Python