ينقسم تصميم وتطوير المواقع الإلكترونية الي قسمين أساسيين وهما
الواجهة الأمامية FrontEnd , والبنية التحتية أو الواجهة الخلفية BackEnd
وهذا الإنقسام ينبني عليه كذلك انقسام في وظيفة المبرمجين
هناك مبرمجين متخصصين في التعامل مع الواجهة الأمامية ويسمى هذا المبرمج
بمطور الواجهات الأمامية (Front-End Developer)
وهناك متخصصين في التعامل مع قواعد البيانات والبنية التحتية ويسمى المبرمج بـ
مطور الواجهة الخلفية أو بمطور قواعد البيانات لكن هو معروف أكثر بالتسمية الإنجليزية (Back-End Developer)
لأنه لا يوجد لفظ واضح عربي مناسب له تماماً
هل لاحظت شيئاً ؟ كليهما يسمى بمطور وليس بمصمم
لأن مصمم المواقع تعتبر وظيفة مستقله لكن غالباً ما يقوم بها مطور الواجهات الأمامية في التصميمات البسيطة لكن هي وظيفة مستقلة والمفترض أن لها شخص متخصص لكن كثير من الشركات يريد توفير المال فيكلف مصمم الواجهات الأمامية بها لكن في بلوجر بشكل عام يكون المصمم والمطور شخص واحد
لكن ما هو مصمم المواقع ؟
مصمم الموقع كوظيفه هو مصمم وليس مطور أو مبرمج وتسمى وظيفته UI/UX
هو شخص يمكنه تصميم الموقع وتصميم الصفحات ببرامج التصميم كالفوتوشوب وليس بالبرمجة وهو المسؤول عن كل شئ في الناحية الشكلية للموقع وحينها يتم اعطاء مطور الواجهات الأمامية هذا التصميم ليحوله الى كود يمكن للمتصفح قراءته كموقع
هناك الكثير من الناس من يسمى مطور الواجهات الأمامية مصمم مواقع أيضاً لكن أنا اتكلم في أجزاء تفصيلية تسمية كل شخص بالمسمى المناسب
Front-End الواجهات الأمامية
هي كل ما تتعامل معه كزائر للموقع الصور الروابط الظاهره لديك شكل القوائم حركتها كل ما تراه أمام عينك هذا هو عمل مطور الواجهات الأمامية والمصمم , المصمم يصمم الشكل والمطور يجعله كود فعلي
يعني مثلاً كل قوالب بلوجر بلا استثناء هي ناتج عمل مطور واجهات أمامية ومصمم لا علاقة لها بالواجهات الخلفية
يعني أنت عندما تعدل على قالبك هكذا أنت تعمل في اطار الواجهة الأمامية
اللغات المستخدمة في الواجهة الأمامية
تعتمد الواجهات الأمامية على ثلاث لغات أساسية
HTML
CSS
JavScript
Back-End قواعد اليانات أو الواجهة الخلفية
هي كل ما يحدث بعيد عن عين المستخدم
نعود مرة أخرى لبلوجر المنصة نفسها تقوم على الواجهة الخلفية ,يعني انشاء حسابك فيها , تسجيل وانشاء المدونة الأمر الذي يحدث في الخلفية والذي لا تراه أنت من تسجيل بيانات للمدونات وما يترتب عليها من برمجيات تعمل بها المدونات كل هذا يقوم على الواجهات الخلفية
اللغات المستخدمة في الـ Back-End
أشهر تلك اللغات
JavaScript
Java
Python
PHP
SQL
C#
Ruby
أيهم أسهل في التعلم ؟
طبعاً الواجهات الأمامية لأن أصعب اللغات الأمامية هي JavaScript وطبيعي ستتعلمها في الواجهة الخلفية أيضاً
لكن هذا لا يعني أن مطور الواجهات الخلفية يمكنه أن يعمل في الواجهات الأمامية , فأنت تحتاج التوغل كمطور واجهات أمامية في الكثير من الأوامر الخاصة مثلاً بـ CSS لكي تقوم بعمل قوي فيها عليك تخصيص وقت كبير لدراستها وتنمية قدراتك فيها
فليس معنى أننا نقول ان تعلم الـ Back-End أصعب يعني أنه يمكن لمطور الـ Back-End أن يكون بديل لمطور الواجهة الأمامية يجب ان يكون كل شخص في مكانه ليكون العمل مضبوط
لكن نقول ان تعلم الـ Back-End سيحتاج وقت أطول ودراسة أكبر ولهذا مرتب وأرباح الـ Back-End أعلى
المرتبات والأرباح
قد يحصل مطور الواجهات الامامية على 10 أعمال في الشهر مثلاً
وقد يحصل مطور Back-End على عمل واحد
لكن قيمة العمل الواحد أكبر من الـ 10 أعمال مجتمعين
لذلك الطلب أكثر على مطورين الواجهات الأمامية لكن تكون المنافسة بها أكبر وعدد المطورين أكثر بسبب أنها أسهل في التعلم وان الناس دائما تحرص على تطوير وتغيير الواجهة
مطورين الواجهات الخلفية الطلب عليهم مقارنة بطلبات مطورين الواجهات الأمامية ليس بكبير لكن لأنه ما يزال عدد المشتغلين بهذا المجال والمتفوقين فيه قليل فيعتبر فرص العمل متاحة بهذا المجال أكثر وكذلك المرتبات والارباح التي تعود منه أكبر
يعني بالرغم ان وظائف الواجهات الأمامية أكثر لكن لتحصل على واحده أصعب لأن المتقدمين لها أكثر
في حين أن وظائف الـ Back-End أقل لكن لانه لا يوجد الكثير من المتخصصين فيها فيكون القبول في الوظيفة أسهل لأن المنافسة أقل
لكن ان كنت متميز كمصمم واجهات أمامية امام شخص غير متميز في الواجهة الخلفية ستكون أرباحك أضعافه التميز في النهاية الفيصل
المنصات
منصات مثل بلوجر تكون للمستخدم بمثابة موفر لقيمة مرتب مبرمج Back-End
مثلاً انت لو موقع كبير وبه أنظمة تسجيل وأنظمة بيع وشراء وغيره كل هذا يجعلك تحتاج لتوظيف مطور Back-End
بالإضافة لمطور Front-End ايضاً لكن في منصة مثل بلوجر أنت قد توظف فقط مطور واجهات أمامية لتعديل قالبك أو لإنشاء قالب
لا تحتاج أن توظف شخص للواجهة الخلفية فهذا قامت به بلوجر بدلا منك
لكن كل المواقع المستقلة الكبيرة يكون فيها استقلالية في كل وظيفة
فستجد لديهم مصمم مستقل , ومطور واجهات أمامية مستقل , ومطور واجهات خلفية وربما فريق كامل منهم بحسب طبعا حجم الموقع وبرمجياته وما يحتاجونه
ما ذكرته هنا هو المعلومات العامة التي تحتاج معرفتها لتفهم تلك المصطلحات لكن بالتأكيد يمكنك البحث والإستغراق اكثر في التعرف عليهم ان كنت مهتماً بتعلم أحد تلك الأمور
بارك الله فيك وجزاك الله خيرا على الطرح المفيد
ردحذفوخاصة في عالم البرمجة وهذه الدروس التي كنت أتمنى نشرها بكثرة على كُن مدون الرائعة
شكرا أستاذ
وفيك بارك الله أخي الحبيب
حذفوان شاء الله ساحاول التعمق أكثر في شرح تلك الدروس في المستقبل
ويسرني أن الامر ضمن اهتماماتك
البرمجة هي المستقبل، موضوع شيق كما عودتنا استاذنا الكريم وفي الحقيقة دي اجابة لواحد من اكثر الاسئلة التي يتم تداولها بين المبتدئين في اختيار مسار البرمجة والتفرقة بين كافة الاقسام بها.
ردحذفبالتأكيد ننتظر باقي المقالات عن باقي التخصصات والفوراق بينها وماهو ترشيحكم للمسار الافضل في كل قسم كمثال لتطبيقات الهاتف الافضل كذا ومثله تطبيقات الويب التفاعلية ......الخ.
حبيبي أستاذ علي , ان شاء الله سأحاول تناول مسارات أكثر حول أمور البرمجة مستقبلاً لمن أراد ان يدخل في احد فروعها
حذفوشاكر لك يا غالي مرورك الكريم