ما هو الـ Back End؟
الـ Back End هو الجزء الخفي من تطوير المواقع والتطبيقات، وهو المسؤول عن إدارة البيانات وتشغيل العمليات الأساسية خلف الكواليس. بينما يشاهد المستخدمون واجهة الموقع أو التطبيق (الـ Front End)، يعمل الـ Back End على تنظيم تلك البيانات وتخزينها في قواعد البيانات، ومعالجة الطلبات التي يتلقاها من الواجهة، وإرسال المعلومات المطلوبة بشكل آمن وسريع. ببساطة، هو العقل المدبر الذي يحرك كل شيء دون أن تراه العين.![]() |
| back end - تطوير مواقع الويب |
الفرق بين front end و backend
يمكنك قراءة المقال السابق الذي فصلنا فيه عن مجال الـ front end، ولكن دعنا نوضح بعض الفروقات التي ستوضح ما يقوم به كل مجال بالضبط، وما التقنيات والأدوات المستخدمة، هيا بنا:
1. مجال الـ front end
الـ Front End هو كما قلنا الجانب المرئي للمستخدم، وهو كل ما يراه ويتفاعل معه عند زيارة موقع ويب أو استخدام تطبيق. بتفصيل أكثر يتضمن الـ Front End تصميم الواجهة، التخطيط (Layout)، الألوان، الخطوط، الصور، القوائم، والأزرار. يتم تطوير الـ Front End باستخدام ثلاث تقنيات أساسية:
1.1. HTML (Hypertext Markup Language)
- وظيفة HTML: إنشاء الهيكل الأساسي لصفحات الويب. يعمل HTML كإطار عمل لكل صفحة ويب، حيث يحدد العناصر مثل العناوين (Headings)، الفقرات (Paragraphs)، الروابط (Links)، والصور (Images).
- التقنيات المرتبطة: HTML5 هو الإصدار الأحدث، ويوفر ميزات إضافية مثل دعم الفيديو والصوت بدون الحاجة إلى إضافات خارجية (Plugins).
- وظيفة CSS: تحديد تصميم الصفحة وشكلها الخارجي، بما في ذلك الألوان، الخطوط، تخطيط الصفحة (Layout)، وحجم العناصر. يمكن استخدام CSS لجعل المواقع متجاوبة (Responsive) لتعمل على مختلف الأجهزة بأحجام شاشات مختلفة.
- أطر العمل (Frameworks) المرتبطة: Bootstrap و Foundation هما من أطر العمل الشائعة التي تسهل تطوير تصاميم متجاوبة.
- وظيفة JavaScript: إضافة ديناميكية وتفاعل إلى صفحات الويب. JavaScript يسمح بتحديث المحتوى دون إعادة تحميل الصفحة، التحقق من صحة النماذج (Form Validation)، والتفاعل مع المستخدم من خلال الأحداث (Events) مثل النقرات والتمرير؛ فتظهر رسوم متحركة كنوع من الاستجابة للنقرة مثلاً، وبإختصار تضيف للموقع حيوية وحركة.
- مكتبات وأطر العمل: مثل jQuery لتبسيط كتابة الأكواد و React و Vue.js و Angular لتطوير واجهات مستخدم تفاعلية ومتقدمة.
2.1. الخوادم (Servers)
- وظيفة الخادم: استقبال ومعالجة الطلبات من الـ Front End وإرجاع البيانات المطلوبة. يمكن أن يكون الخادم مخصصًا (Dedicated) أو افتراضيًا (Virtualized) أو سحابيًا (Cloud-based).
- الخدمات المرتبطة: خوادم Apache و Nginx هما من أشهر الخوادم التي تُستخدم لاستضافة التطبيقات.
2.2. قواعد البيانات (Databases)
- وظيفة قواعد البيانات: تخزين واسترجاع البيانات بكفاءة. يمكن أن تكون قواعد البيانات علائقية أي تعتمد على العلاقات بين الجداول (Relational) مثل MySQL و PostgreSQL أو غير علائقية لا تعتمد على الجداول والعلاقات التقليدية بين البيانات (NoSQL) مثل MongoDB.
- أدوات إدارة البيانات: مثل SQL لتقديم استعلامات معقدة، وORMs (Object-Relational Mappers) مثل Hibernate و SQLAlchemy لتسهيل التعامل مع قواعد البيانات.
2.3. منطق التطبيق (Application Logic)
- وظيفة منطق التطبيق: إدارة وتنفيذ العمليات الرئيسية التي تتطلب معالجة البيانات، مثل تسجيل الدخول، معالجة الطلبات، وإنشاء الاستجابات الملائمة للـ Front End. يشمل ذلك تطبيق القواعد والشروط التي تتحكم في تدفق التطبيق.
- لغات البرمجة والأطر المستخدمة: (Python (Django, Flask) ،Java (Spring) ،PHP (Laravel) ،C# (Asp.net و Node.js
- أدوات التأمين: مثل JWT (JSON Web Tokens) لإدارة التحقق من الهوية والتصاريح بشكل آمن.
2.4. واجهات برمجة التطبيقات (APIs)
- وظيفة API: تسهيل وتوحيد التواصل بين الـ Front End و الـ Back End. الـ RESTful APIs هي الأكثر شيوعًا وتستخدم بروتوكول HTTP لنقل البيانات بتنسيقات مثل JSON أو XML، وهناك أيضًا أنواع أخرى مثل GraphQL و SOAP.
- الطبقات (Layers): الـ API تعمل كطبقة وسيطة بين منطق التطبيق (أي كما قلنا الأكواد التي يكتبها المبرمج في الـ Back End) وبين الـ Front End، مما يسمح بتجزئة الكود، وتقليل التعقيدات، وتحسين الأداء.
في نهاية هذه الجزئية التفصيلية نوعاً ما يظهر أن الـ Front End يتفاعل مع الـ Back End من خلال إرسال واستقبال البيانات عبر الـ API. يتم إرسال طلبات (Requests) من المستخدم عبر الواجهة، والتي تمر عبر الخادم إلى منطق التطبيق، ثم تعود الاستجابة (Response) من الـ Back End إلى الـ Front End ليتم عرضها بشكل مناسب للمستخدم. كل هذا يظهر التكامل بين المجالين ليخرج لنا أكبر موقع أو أكبر تطبيق ويب.
هل مجال front end أسهل أم back end
هل مجال front end فرصه أكثر أم مجال back end
شخص واحد يجمع بين المجالين
كيف أصبح back-end web developer
2- Codezilla Academy - PHP Laravel Course يوتيوب
6- Pro Code - Java Full Course يوتيوب
7- (FreeCodeCamp - Building web applications in Java with Spring Boot (3 يوتيوب8- Pro Code - MySQL Full Course يوتيوب
- كل رأي طرحته في هذا المقال أنصحك بالبحث عنه بنفسك فربما خالفني الصواب فيه أو في بعضه؛ مثل بخصوص صعوبة المجال نسيباً أو في أن فرصه أكثر...إلخ.
- ابحث عن التحديثات الجديدة أثناء تعلمك من كورس معين وأقصد بالتحديد الكورسات القديمة التي مر عليها سنوات، ربما يكون تم إضافة أشياء جديدة لم يتطرق لها هذا الكورس؛ فابحث عنها وتعلمها من مصادر أخرى، وإن كنت لا تريد ذلك تعلم من كورس لم يمر عليه وقت كبير.
كان معكم علي وحيد.
"اللهم إن كان من توفيق فمنك وحدك وإن كان من خطأ أو نسيان فمني ومن الشيطان."
