مفهوم – السؤال: ما هي مسارات البرمجة؟ وأشهر لغات برمجة في كل مسار؟
الجواب: مسارات البرمجة تنقسم في الأساس إلى 4 مسارات متوازية هي: تطوير المواقع الإلكترونية، تطوير برامج سطح المكتب، تطوير تطبيقات الموبايل، تطوير الألعاب.
لكل مسار سوقه، ولكل منهم مميزاته كما أن لكل منهم عيوبه، وسنتعرف بشكل تفصيلي على كل مسار ولغات البرمجة التي يمكن تعلمها للعنل في أي مسار من الأربعة.
تجدر الاشارة الى ان المبرمج الجيد يجب ان تكون لديه فكرة عامة عن كل المسارات، ولكن تخصصه يجب ان يكون في مسار واحد، يعطيه كل وقته ليحترفه.
مسارات البرمجة
1- تطوير المواقع
2- تطوير تطبيقات الهواتف الذكية
3- تطوير الألعاب
4- تطوير برامج سطح المكتب
لنشرح بالتفصيل كل واحد من هذه المسارات.
1- مسار تطوير المواقع
هو الأكثر إنتشاراً و الأكثر تنافسية و الأكثر طلباً و الأسهل تعلماً، فهو الأكثر إنتشاراً و الأفضل فى العرض وربما الأقل في الإمكانيات، ينقسم هذا المسار الى مسارين فرعيين، هما Front-End و Back-End.
الـFront-End يقصد بها الجزء من الموقع الذي يتفاعل معه المستخدمين، أي شيء من مكونات الموقع التي يمكنك مشاهدتها والتفاعل معها، مثل النصوص والأزرار والخطوط والألوان والصور وحركات الأنيميشن وغيرها من الأمور التي يراها المستخدم ويتفاعل معها.
ببساطة، كل شيء يظهر أمامك على الشاشة عند الدخول الى اي موقع هو جزء من الفرونت اند.
اللغات المستخدمة في الفرونت اند هي الـHTML، الـCSS، والـJavascript.
لكن اتقان هذه اللغات لا يكفي، حيث ان مطور الفرونت اند يجب ان تكون لديه نظرة فنية وخبرة بالـUX والUI (اي تجربة الاستخدام وتصميم الواجهات على التوالي) من أجل ان يكون الموقع جميلا، وبنفس الوقت سهل الاستخدام من قبل الزوار والمستخدمين.
اما الBack-End، وقد تسمى ايضًا Server-Side، فيقصد فيه الجزء الذي يتم بنائه ليعمل على الربط بين الصفحات الظاهرة للمستخدم والبيانات والتطبيقات المختلفة.
بمعنى آخر هو الجزء الذي يتم تنفيذه وقرائته من خلال السيرفر ويهتم بالتحقق من استقبال البيانات وارسالها بشكل صحيح من والى المتصفح. وبكل تأكيد هذا الجزء من الشيفرة البرمجية لا يكون ظاهرا على المتصفح، وإنما تظهر نتائجه.
فمثلا، اذا دخلت لصفحة تسجيل الدخول في اي موقع، فان خانتي اسم المستخدم وكلمة السر هما عبر الفرونت اند، لكن عملية التحقق التي تحدث، والتي تتحقق مما اذا كانت كلمة السر صحيحة، فهي تحدث عبر الباك-اند.
اقرأ ايضًا: مراحل تعلم البرمجة
اللغات المستخدمة في الباك اند كثيرة، اشهرها الـPHP، الـPython، الـRuby، الـJava والـMYSQL من اجل قواعد البيانات.
تجدر الاشارة هنا انه لتحقيق نتائج اسرع وأفضل، يتم استخدام بيئات عمل تابعة للغات المذكورة آنفا، من شئنها تسهيل عملية التطوير على المبرمج. اشهر هذه البيئات بيئة لارافيل التابعة لـPHP.
هناك ايضا ما يعرف بمطور الFull-Stack. هذا هو المبرمج الذي لديه خبرة كبيرة بكلا الفرعين السابقين، اي انه بامكانه تطوير موقع كامل لوحده، بالتأكيد اذا كانت لديك الخبرة الكافية لاتقان الفرعين، فهذا امر ممتاز.
لكن في البداية، قم بصب كل تركيزك على مسار واحد فقط. ان كل مسار منهما عميق جدا، وسيأخد منك وقتًا طويلا (سنوات ربما) لاتقانه بشكل احترافي.
لذلك لا تشتت تفكيرك، وركز على واحد فقط، مع تعلم أساسيات المسار الثاني. اي انه لو اخترت العمل كمطور باك-اند، ان معرفة أساسيات الHTML امر لا بد منه، والعكس صحيح بالنسبة لمطور الفرونت اند، ولو بنسبة اقل.
2- مسار تطوير تطبيقات الهواتف الذكية
كما يشير الاسم، فان المتخصصين بهذا المسار يعملون على تطوير تطبيقات للهواتف الذكية كالأندرويد والآيفون. اذا اخترت هذا المسار، فانه سيصبح بامكانك تطوير تطبيقات متنوعة المجالات، كتطبيقات ويب (مرتبطة بمواقع او سيرفر بشكل عام، كتطبيق الفيسبوك)، او تطبيقات عملية، كتطبيقات لتعلم لغة معينة، او تطبيق منبه ذكي.
الربح من خلال هذا المسار قد يكون مرتفعا جدا، حتى لو كان التطبيق بسيطًا من الناحية البرمجية، المهم ان يكون التطبيق فريدًا من نوعه، ويوجد طلب عليه.
مشكلة هذا المسار هو سوق التنافس الصعب جدا، فبحسب موقع Statista للاحصاءات، اكثر من 6000 تطبيق يتم نشره يوميا على متجر جوجل للأندرويد.
هذا يعني ان تطبيقك هو نقطة في بحر من التطبيقات، كلها تحاول المنافسة للنجا،. لذا اذا قررت الدخول في هذا المجال، وفشل اول تطبيق لك، لا تيأس، وتعلم من التجربة.
من اجل الدخول في هذا المسار، عليك تعلم اللغات التالية: للأندرويد، اللغة الأشهر هي جافا، من خلال العمل على Android Studio. يمكنك ايضا استخدام ال#C من خلال استخدام بيئة عمل Xamarin. كذلك ++C، والـC يعطوك الامكانية ايضا لتطوير تطبيقات اندرويد، لكنهم غير موصى بهم، الجافا هي الخيار الأفضل.
اما اذا اردت برمجة تطبيقات للآيفون والآيباد، فالـSwift لا بديل حقيقي لها، لغة قوية جدا ستمكنك من تطوير التطبيق الذي تريد.
المشكلة في تطوير تطبيقات لمنتجات آبل هي انك بحاجة الى جهاز ماك لبرمجتها، يوجد طرق لاستخدام Swift على ويندوز، لكنها مجرد حلول معقدة لا تعطي نتائج ممتازة، لذا ان لم تكن تملك جهاز ماك، او لا احد مقرب منك يملكه، اعد النظر في موضوع تطبيقات الآيفون.
اقرأ ايضًا:
- الفرق بين HTTP و HTTPS
- طرق تقليل حجم الفيديو مع الحفاظ على الجودة
- أفضل برامج استعادة الملفات المحذوفة data recovery
- أفكار مشاريع الدخل السلبي
3- مسار تطوير الألعاب
المسار المفضّل لي شخصيًا. مهما تكلمت عن هذا المسار، لن اوفيه حقه بنظري، اذ انني سأحتاج لكتابة مقال كامل عنه (قد أقوم بهذا مستقبلا). بعكس المسارات الأخرى، فان هذا المسار يعطيك حرية تامة لصب كل مخيلتك في مشروعك. العائق الوحيد امامك هو قدرتك على البرمجة.
والمميز فيه ايضا ان النتائج فورية، هذا يعني انه عندما تكتب اي كود، او تتعلم شيئًا جديدًا، فبامكانك رؤية حصاد تعبك مباشرة في اللعبة التي تقوم بتطويرها.
مساوىء هذا المسار هو ضعفه الشديد في العالم العربي، فان استديوهات تطوير الألعاب العربية شبه الناجحة تعد على أصابع اليد الواحدة. وان تطوير لعبة عالية المستوى (او ما يعرف بالـAAA) يحتاج سنوات من العمل والكثير من المطورين المحترفين.
لذا ان فرصك بالنجاح في هذا المسار، وربح ما يكفي منه للعيش، قد يكون مستحيلا (ولن اقول مستحيلًا). سنتكلم أكثر عن كيفية الربح من هذا المجال لاحقًا في هذا المقال.
ان اردت الدخول بعالم تطوير الألعاب، فعليك تعلم احد محركات الألعاب المشهورة. الشركات الكبيرة تطور محركًا خاصًا بها من الصفر، لكن هذا الأمر يحتاج لسنوات وخبرات كبيرة بالبرمجة، لذا تعلم استخدام محرك جاهز امر افضل بالتأكيد.
يمكنك تطوير لعبة من دون استخدام محرك، لكنك ستجبر على برمجة كل شيء من الصفر، كالفيزياء وغيرها.
لذا لا تقم باعادة اختراع العجلة، بل استخدم محركًا جاهزًا لتكسب نفسك وقتًا، وتريح نفسك من جهد لا فائدة منه. المحركات الأكثر شهرة هي Unity، Unreal Engine، و Godot. شخصيا انصح بجودوت لعدة أسباب ذكرتها في هذا المقال.
ان محرك يونتي يستخدم لغة الـ#C، ومحرك Unreal يستخدم ++C، اما محرك Godot فيمكنك من البرمجة باستخدام اما #C، او GDScript الشبيهة جدا بالبايثون، او الـ++C، رغم انه لا ينصح بتلك الأخيرة لغير بعض الأمور المحددة.
تجدر الاشارة في هذا الموضوع ان تطوير العاب معقدة ثلاثية الأبعاد يتطلب منك معرفة ببعض حقول الرياضيات، كالفضاء والأشعة (Space and Vectors) والجبر الخطي (Linear Algebra)، بالاضافة الى الجبر الأساسي بالطبع، كما هو الحال مع كل مجالات البرمجة.
4- مسار تطوير برامج سطح المكتب
لعل هذا هو اكثر المسارات تعقيدًا وتشابكًا، نظرًا للاختلاف الشاسع في معنى “برامج سطح المكتب”.
فالـPhotoshop وبرنامج مكافحة الفيروسات وبرنامج محاسبة بسيط لمحل تجاري كلها تعد برامج سطح مكتب. لكن اذا اردنا النظر للنصف الممتلئ من الكوب، فنرى انه مع النتائج الكثيرة، لديك كمبرمج ايضًا خيارات كثيرة لبرمجة هذا النوع من البرامج.
اي لغة تقريبًا تسمح لك بالتطوير لسطح المكتب، الجافا، البايثون، السي، السي بلاس بلاس، السي شارب، وحتى لغات الويب كالـHTML والـCSS والـJavascript عبر استخدام بيئة عمل Electron.js تمكنك من تحقيق ما تريد.