خارطة الطريق لمسار برمجة المواقع-Backend

PHP

NodeJs

Python

C#

Jan 29, 2024

تعلم برمجة المواقع المرحلة الثانية - Backend

المرحلة الثانية تخص برمجة منطق الموقع على السيرفر والتعامل مع قاعدة البيانات، وتُعرف أيضاً بـ "Backend development". هذه المرحلة تتضمن الكثير من الخيارات وتكون أكثر تعقيدًا من مرحلة تطوير الـ Frontend.

أولًا: اللغات المستخدمة لبرمجة السيرفر

تتضمن هذه المرحلة عدة لغات وتقنيات، من أبرزها:

✅Node.js: تقنية تتيح لك كتابة الجافاسكريبت للعمل على السيرفر.

✅PHP

✅Python

✅C#

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

ثانيا: أطر عمل الباك اند

الخيار الآخر هو استخدام أحد أطر العمل (Frameworks) الخاصة بكل لغة، حيث أن ميزاتها كثيرة جدا، منها:
1 - تختصر الكثير من الوقت والجهد
2 - تسهل بشكل كبير العمل مع فريق العمل
3 - توفر بعض الاحتياطات الخاصة ببعض جوانب حماية الموقع من الاختراق أو الاطلاع على البيانات وغيرها.

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

أولا: Node js
أشهر إطار عمل فيها و أكثرها انتشارا هو express و يمتاز ببساطته و سهولته.

ثانيا: PHP
أشهر إطار عمل فيها هو laravel و الذي يمتاز بتوفر العديد من الأوامر التي تقوم بعمل ملفات جاهزة دون الحاجة لقضاء الوقت في بنائها، و كذلك يوجد خيارات أخرى مثل:
Symfony, code igniter, Yii, cake php

ثالثا: Python
و أشهر إطاري عمل فيها: django, flask

رابعا: C#
و أشهر إطار عمل فيها: ASP .Net

ثالثا: برمجة قواعد البيانات

بعد تعلم برمجة السيرفر يجب التعرف على قواعد البيانات و طريقة التعامل معها و كغيرها من أجزاء تطوير المواقع فإنها تحتوي على عدد من الخيارات التي يمكن استخدامها. في البداية يجب التنويه على أن قواعد البيانات تنقسم لقسمين: ‏relational (sql) - non-relational (NoSql)

أشهر قواعد البيانات من النوع الأول - SQL -:
MySql بالإضافة لوجود خيارات أخرى مثل Oracle, PostgreSql.

أما النوع الثاني - NoSQL - فأشهرها: mongoDb

وعلى مبرمج المواقع أن يتعلم أحد قواعد البيانات ويتقنها، ولعله من المناسب أن يكون البدء بـ MySql ثم التوسع لغيرها إن دعت الحاجة.

بعد تعلم لغة برمجة السيرفر مع إطار عمل مناسب لها بالإضافة لتعلم قواعد البيانات و طريقة التعامل معها يكون المبرمج قد وصل مرحلة يطلق عليه فيها: backend developer ‏و إذا جمع المطور بين تقنيات الfrontend و الbackend يطلق عليه: full stack developer

و مع ذلك فإن هناك مجموعات - Stacks - من التقنيات يشيع استخدامها سويا.. من الأمثلة المشهورة:
MEAN Stack و هو اختصار ل:
M: Mongo DB
E: Express JS
A: Angular
N: Node JS

MERN Stack و هو اختصار ل:
M: Mongo DB
E: Express JS
R: React JS
N: Node JS
و كذلك من الشائع استخدام Vue مع Laravel