على كل مبرمج ان تكون له فكرة عامة عن كل المسارات والمجالات البرمجية ليكون له خلفية واسعة على المشاريع البرمجية , ولكن بالنسبة للتخصص فالمبرمج الحقيقي يجب ان يكون متخصص بمسار برمجي واحد ينفذ كل وقته وجهده عليه ليكون محترف بهذا المجال , وفي البرمجة هناك اربع مجالات رئيسية :
- مجال تطوير المواقع
- مجال تطوير تطبيقات الهواتف الذكية
- تطوير الألعاب الاكترونية
- تطوير برامج سطح المكتب
مجال تطوير المواقع
ويتخصص هذا المجال ببرمجة وتصميم صفحات الويب سواء كانت صفحة واحدة او صفحات متعددة . وينقسم هذا المجال حسب التخصص الفرعي الى ثلاث اقسام :-
1- Front-End : وهو الجزء الظاهر للمستخدم او الزائر والذي يتفاعل معه , كالصور والاشكال والالوان والازرار والتأثيرات , ويسمى المتخصص بهذا المجال front-end developer او Web designer , اللغات المستخدمة في هذا التخصص html – css – javascript .
2- Back-End : وهو الجزء المخفي الذي لا يراه المستخدمين والذي يعمل داخلياً كعملية جلب البيانات من قواعد البيانات , ويسمى المتخصص بهذا المجال Back-end developer , اشهر اللغات المستخدمة php – python- asp.net -mysql .
3- Full-Stack : وهو ما يجمع بين القسمين الاعلاه اي ان مطور الويب يسمى Full-Stack عندما يعرف كل من التخصصين Front-end وBack-end معاً بشكل متكامل بحيث يصمم ويبرمج موقع كامل من الصفر الى النهاية بداية من HTML-CSS وحتى Php-Mysql .
مجال تطوير تطبيقات الهواتف الذكية
ويتخصص هذا المجال ببرمجة تطبيقات الموبايل لكل الانظمة من الاندرويد وIOS (الايفون) و مايكروسوفت , ويعد سوق الاندرويد هو الاكثر انتشاراً ويليه سوق Apple ,ونظراً لكثرة استخدام اجهزة الموبايل وبشكل مستمر انتشر هذا المجال بشكل واسع واصبح ما يقارب الاف التطبيقات يتم نشرها يومياً الى متاجر اجهزة الاندرويد والايفون , ونظراً لكثرة التطبيقات فاصبح هناك تنافس كبير بينها , فقد يكون تطويرك لتطبيق ونشره على سوق بلي لاول مرة بمثابة قطرة في بحر من التطبيقات ولا تيأس من ذلك فأن هناك مجموعة من القواعد ( سنحاول شرحها في مقالة مختلفة ان شاء الله ) تجعل تطبيقك يشتهر وينافس باقي التطبيقات ويحصل على معدل عالي يومياً من التثبيتات .
اشهر منصات العمل لبرمجة تطبيقات الموبايل :
Android Studio : أندرويد إستوديو منصة لكتابة التطبيقات الأندرويد، كما تسمح للمطور بمعاينة هيئة تطبيقه على مختلف قياسات الشاشات بشكل فوري أثناء التطوير، وتسهّل تطوير التطبيقات متعددة اللغات , لغات البرمجة المستخدمة هي لغة الكوتلن Kotlin ولغة الجافا Java واللغة المستخدمة لتصميم واجهات التطبيق هي لغة XML . ولبرمجة تطبيق اندرويد ورفعه لسوق بلي تحتاج حساب مطورين بسعر 25$ تشتريه لمرة واحدة فقط ولا يتم تجديده ويمكنك رفع عشرات التطبيقات من خلاله .
X-Code : لكتابة تطبيقات ios ,واللغة البرمجية المستخدمة لبرمجة تطبيقات الios هي لغة الSwift وهي لغة مفتوحة المصدر وشبيه بلغة الكوتلن , وللتنبيه ان منصة X-Code لا تعمل إلا على اجهزة اللابتوب Mac . ولبرمجة تطبيق ios تحتاج جهاز ماك وحساب مطورين بسعر 100$ سنوياً .
Xamarin : منصة تستخدم لكتابة تطبيقات تعمل على أيّ نظام تشغيل سواء كان اندرويد او ios او windows , حيث تستخدم لغة برمجة موحدة واحدة هي لغة سي شارب c# , كما أنّها توفّر بيئة تطوير متقدّمة ووحيدة وهي Visual Studio 2015 لكتابة هذه التطبيقات (يمكن استخدام بيئة التطوير Xamarin Studio أيضًا بالنسبة لنظام Mac) .
Flutter : هو حزمة او sdk اصدرتها شركة كوكل مخصصة لبرمجة تطبيقات الهواتف الذكية التي تعمل على كل النظامين الاندرويد و ios , وتستخدم لغة البرمجة Dart , وما يميزها بامكان المطورين او الشركات بناء تطبيقات قوية تعمل على كل النظامين وباقل جهد وتكلفة ووقت .
تطوير الألعاب الاكترونية
تطوير الألعاب ويقصد به برمجة وتصميم لعبة فيديو كاملة من ناحية الشخصيات والمنطقة والمراحل ,
وبرمجة الألعاب هو جزء من تطوير الالعاب يهتم ببرمجة اللعبة من تحريك الشخصيات والتناقل بين المراحل وغيرها . وتكمن صعوبة برمجة وتطوير اللعبة حسب نوع اللعبة , قد تكون هناك العاب ثنائية الابعاد 2D بسيطة لا تاخد جهة كبير , واما بالنسبة للألعاب ثلاثية الابعاد 3D قد تتطلب خبرة و مهارة كبيرة اضافة الى جهة وتصميم متزايد .
محرك الالعاب : هو عبارة عن بيئة عمل لطوير لعبة متكاملة من تصميم وبرمجة واشهر محركات الالعاب :
Unity : وهو يعتبر أفضل المحركات حالياً للمبتدئين , له مزايا قوية وان اي لعبة تم تطويرها وانشائها فأنها تدعم جميع الاجهزة والانظمة بحيث يمكن تشغيلها على الحاسوب وعلى اجهزة الموبايل والايباد واجهزة الالعاب ps و xbox, ويدعم لغات البرمجة JavaScript و #C وهو على نسختين مجانية ومدفوعة , النسخة المجانية لها ميزات واسعة لكن ما يعيبها ظهور رسالة في بداية اللعبة تشير الى علامة المحرك unity, لكن النسخة المتخصصة Pro لها مزايا متقدمة ولا تعرض رسالة البرنامج عند بداية اللعبة لكنها بقيمة 1500$ .
Unreal : محرك العاب ضخم وقوي يستخدم لتطوير الالعاب المتقدمة والمتطورة من الصعب البدء به للمبتدئين , يستخدم لغة البرمجة ++C و يدعم عدد كبير من المنصات Play Station 4 -Xbox One -Nintendo Switch -Mac -Windows -Linux -HTML 5 -iOS -Android -Play Station VR . ومتوفر المحرك بالنسخة المجانية وهي نسخة كاملة و ليست مجرد نسخة تجريبية او ناقصة لبعض المزايا .
تطوير برامج سطح المكتب
وهو التخصص الاقل استخداماً في وطننا العربي خاصة , يهدف الى بناء برامج سطح مكتب كبرنامج ( الفوتوشوب , الانتي فايروس , وبرامج office , برامج إدارة وغيرها ) , وهناك لغات برمجة كثيرة لبناء مثل هكذا برامج مثل لغة java, c,c#,python,c++,vb.net .
اشهر بيئات العمل هو برنامج Visual Studio على نظام ال Windows .
تخصصات ومجالات فرعية مختلفة
وهناك مجموعة من التخصصات الاخرى قد تكون هي جزء من المجالات الأربعة الرئيسية للبرمجة او احد تخصصات الحاسوب مرتبطة بالبرمجة ومنها :
- الحماية والإختراق الأخلاقي
- قواعد البيانات Database
- الذكاء الاصطناعي
- الاردوينو -الشبكات وادارة السيرفرات