الفرق بين Front end وBack end


التعليقات

أيضا لقد ظهرت في الآونة الأخيرة مئات من المكتبات وإطارات العمل التي تساعد في تبسيط العمل وسرعة الإنتاج مثل

Front end

AngularJS, backonejs, breezejs, jQuery, meteor, React, vuejs, bootstrap

back-end

Codeingniter, wordpress, laravel, jQuery, vuejs, AngularJS

ما هو الـ Front-end development ؟

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

لغات الـ Front-end

هناك ثلاث لغات أساسية:

HTML : هي لغة بناء هيكل الموقع الذي سيتم عرضه في المتصفح.

CSS : تأتي مع لغة HTML ومنها تقوم بتحديد تنسيق الموقع من ألوان و تصميم وخطوط.

Javascript : هي لغة برمجة تستخدم أكثر في العناصر التفاعلية في الصفحة كالقوائم المنسدلة واستمارت الاتصال.

بالإضافة لهذه اللغات الأساسية توجد بعض الإضافات اللازمة لبناء أي موقع، على سبيل المثال بعض المكتبات الخاصة بـ CSS كمكتبة Bootstrap أو Materialize، بعض أطر العمل الخاصة بلغة Javascript كإطار Angular أو Vue أو React (مع ملاحظة أن React تعتبر مكتبة)، وبعض الإضافات الخاصة بـ CSS أيضا كـ SASS أو LESS.

ما وراء الكواليس

بعد عدة أشهر من بناء الموقع الخاص بالمطعم وبعدما نجح الموقع بشكل جيد، الآن يريد العملاء أن يأكلوا من الأطباق المقدمة في المطعم، ويتساءلون لو كان طلب الطعام أونلاين متاحا وربما يريد البعض أن يحجز طاولة ليتناول طعام العشاء مع أصدقائه، لذا تقرر أنك ستضيف تلك المميزات لموقعك، وهذا يعني أن الموقع سيتعامل مع بيانات المنتج، الشراء و حسابات العملاء. كيف ستدير تلك البيانات وتنظمها في موقعك؟ هنا يأتي دور تطوير الـ Back-end.

ما هو الـ Back-end development ؟

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

الـ Back-end هو الجزء الذي لا تراه في الموقع، فهو مسئول عن تخزين وتنظيم البينات والتأكد من أن كل شئ في واجهة الموقع يعمل بشكل جيد. يقوم الـ Back-end بالتواصل مع واجهة الموقع فيقوم بإرسال واستقبال المعلومات ثم يعرضها في الموقع. كلما ملأت استمارة إتصال،كتبت عنوان موقع أو قمت بالشراء، يقوم المتصفح بإرسال طلب إلى الخادم Server، الذي يقوم بإرجاع المعلومات المكتوبة في الاستمارة ليتمكن من التعامل معها.

يحتاج موقعك لقاعدة بيانات لإدارة كل المعلومات الخاصة بالمنتجات والعملاء. تقوم قاعدة البيانات بتخزين المحتوى في هيكل يجعل من السهل استرجاعها وتنظيمها وتعديلها وحفظ البيانات. يتم تشغيلها في حاسوب خارجي يسمى بالخادم Server. هناك العديد من قواعد البيانات المستخدمة على نطاق واسع مثل MySQL, SQL Server, PostgresSQL, MongoDB and Oracle.

الآن يجب بناء موقعك بلغة برمجة تستطيع قاعدة البيانات أن تتعرف عليها. بعض لغات الـ Back-end المعروفة هي Ruby, Java, PHP, Python, ASP.Net and Node.js. هذه اللغات غالبا يتم تشغيلها في أطر عمل تسهل التعامل معاها وتعلمها مثل Rails فهذا إطار عمل للغة Ruby. هنا يأتي "Ruby On Rails" فهذه تكنولوجيا مشهورة لبناء مواقع ديناميكية تقوم بالعمليات بشكل أسرع.

بالتعاون مع كل هذه الأجزاء بشكل صحيح، يستطيع العميل أن يزور الموقع ويبحث عن نوع معين من الأطباق لكي يطلبه للشراء. عندما يكتبون في حقل البحث (في الـ Front-end) يقوم الموقع بالبحث في كل المنتجات المخزونة في قاعدة البيانات (في الـ Back-end) وييسترجع المعلومات الملائمة في شكل كود Front-end فيظهر في المتصفح الطلب الخاص بالعميل ويقوم بعملية الشراء أو الحجز.

محتوى المقالة رائع يا أخي لكن للأسف تنقصها الكثير من التفاصيل بحيث أنك لم تعطي ولا تعريف واحد عن إطار العمل Django ولما لا أيضا لم تذكر FLASK أما بخصوص جزء Java ذكرت فقط الجافا ولم تتكلم أبدا عن إطارات العمل الخاصة بها للويب ك JSP/SERVLET API و أيضا spring و الموديلز الخاصة به وغيرها (فما دام محتوى المقالة يميل 100% لبرمجة تطبيقات الويب) فالأفضل أن تتكلم أكثر عن إطارات العمل للويب وليس فقط الإكتفاء على تقديم تعريفات للغات البرمجة, لأنه وكما تعلم أخي أنه يمكنني برمجة الويب ب C و C++ و أيضا لغة الأسمبلي لكن الشيئ الصعب هو التعرف على إطارات العمل الموفرة والمساعدة لإنشاء تطبيقات الويب.

بالتوفيق أخي الغالي.

شكراً لك ان شاء الله راح اطور المقالة

هل يمكن للمطور ان يتمكن من الجزئين؟ ولا كل مطور متخصص بجزء معين؟

اجل بالطبع و هنا يسمي المطور full stack


تطوير الويب

مجتمع خاص بمناقشة وطرح المواضيع والقضايا العامة المتعلقة بتطوير الويب ولغاتها المختلفة

88.7 ألف متابع