ماهي مجالات البرمجة

0 2٬059

في البرمجة مجالات كثيرة وتختلف عن بعضها و في هذا المقال سوف نتعرف على مجالات البرمجة وماهي مجالات البرمجة المطلوبة في سوق العمل وماهي افضل مجالات البرمجة ….

ماهي مجالات البرمجة

الشخص الذي يريد تعلم البرمجة يجب عليه ان تكون لدية فكرة عامة عن جميع مجالات البرمجة ولكن يجب عليه التخصص في مجال واحد يعطيه كل وقته ليحترف هذا المجال والعمل به وفي هذه المقال سوف نشرح لكم مجالات البرمجة والتي يمكن تقسمها الى 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- تطوير تطبيقات الهواتف الذكية

كما يشير الاسم، فان المتخصصين بهذا المسار يعملون على تطوير التطبيقات للهواتف الذكية كالأندرويد والآيفون. اذا اخترت هذا المسار، فانه سيصبح بامكانك تطوير تطبيقات متنوعة المجالات، كتطبيقات ويب (مرتبطة بمواقع او سيرفر بشكل عام، كتطبيق الفيسبوك)، او تطبيقات عملية، كتطبيقات لتعلم لغة معينة، او تطبيق منبه ذكي. الربح من خلال هذا المسار قد يكون مرتفعا جدا، حتى لو كان التطبيق بسيطًا من الناحية البرمجية. المهم ان يكون التطبيق فريدًا من نوعه، ويوجد طلب عليه. تطبيق Alarmy مثلا، وهو تطبيق منبه يطلب منك انجاز عمل ما قبل ان تستطيع اطفاء المنبه (كحل مسائل رياضية او تحريك الهاتف بسرعة لمدة دقيقة مثلا)، حصد عشرات ملايين التحميلات. مشكلة هذا المسار هو سوق التنافس الصعب جدا. فبحسب موقع Statista للاحصاءات، اكثر من 6000 تطبيق يتم نشره يوميا على متجر جوجل للأندرويد. هذا يعني ان تطبيقك هو نقطة في بحر من التطبيقات، كلها تحاول المنافسة للنجاح. لذا اذا قررت الدخول في هذا المجال، وفشل اول تطبيق لك، لا تيأس، وتعلم من التجربة. من اجل الدخول في هذا المسار، عليك تعلم اللغات التالية: للأندرويد، اللغة الأشهر هي جافا، من خلال العمل على Android Studio. يمكنك ايضا استخدام ال#C من خلال استخدام بيئة عمل Xamarin. كل من الـPython، الـ++C، والـC يعطوك الامكانية ايضا لتطوير تطبيقات اندرويد، لكنهم غير موصى بهم. الجافا هي الخيار الأفضل.

اما اذا اردت برمجة تطبيقات للآيفون والآيباد، فالـSwift لا بديل حقيقي لها. لغة قوية جدا ستمكنك من تطوير التطبيق الذي تريد. المشكلة في تطوير تطبيقات لمنتجات آبل هي انك بحاجة الى جهاز ماك لبرمجتها. يوجد طرق لاستخدام Swift على ويندوز، لكنها مجرد حلول معقدة لا تعطي نتائج ممتازة، لذا ان لم تكن تملك جهاز ماك، او لا احد مقرب منك يملكه، اعد النظر في موضوع تطبيقات الآيفون.

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 تمكنك من تحقيق ما تريد. هذه هي المسارات الأكثر شهرة خصوصًا في العالم العربي، لكن يوجد العديد من الاختصاصات الأخرى كالذكاء الاصطناعي وتعلم الآلة، ومسؤولي قواعد البيانات والشبكات.

افضل مجالات البرمجة

هذه هي كانت اكثر مجالات البرمجة ولكن يبقى السؤال الاهم ماهو افضل مجال لتعلمة في البرمجة .

جميع هذه المجالات له سوق عمل قوي في جميع انحاء العالم ولا يمكننا القول ان هذا المجال هو الافضل او ذاك هو الافضل الشخص الذي يريد تعلم البرمجة هو من يحدد اختيار المجال المناسب له .

ولكن يمكنني القول ليس هناك مجال افضل من اخر ولكن هناك مجال اسهل من الاخر . ولكن المجال السهل تكون منافسة العمل به قوية لان الجميع يريد تعلم اسهل شي …

اترك رد

لن يتم نشر عنوان بريدك الإلكتروني.