تعلم البرمجة |
لا شك أن أول سؤال يطرحه على نفسه كل من يريد أن يتعلم البرمجة و يصبح مبرمج ناجح ،هو من أين سأبدأ أو أي اللغات من لغات البرمجة سأبدا يتعلمها و يدخل في متاهة من الأسئلة التي تحبطه من أول لحظة فإن كنت من هؤلاء عزيزي القاريء فدعني أبشرك أنه عند إكمال قرائتك لهذه التدوينة ستفهم كل شيء و ستختار الطريق الصحيح الذي سؤدي بك لتحقيق حلمك في عالم البرمجة فما عليك سوى التركيز قليلا.
فعند عزمك على الدخول لعالم البرمجة يجب عليك أن تحدد هدفك من تعلمها .فهل تريد أن تصبح :
-مبرمج صفحات الويب: مثل صفحات الفايسبوك أو جوجل ....
-مبرمج تطبيقات الهاتف :مثل ألعاب و مختلف تطبيقات التي تشتغل على الهاتف
-مبرمج برامج سطح المكتب ...
إذن قبل دخولك لعالم البرمجة يجب أت تختار مجال من هذه المجلات الثلاثة التي ترغب في أن تصبح محترفا فيها.
نبدأ بشرح أول مجال هو مبرمج الويب
مبرمج الويب
فمثلا إن أردت أن تكن مبرمج ويب عليك أن تعلم أن صفحات الويب تنقسم إلى جزئين
front endالواجهات الأمامية :وهي كل ما يشاهده المستخدم من واجهات واشكال وايقونات وخطوط وصور ونصوص واستمارات وخيارات تعرض للمستخدم ، وغيرها.
الواجهات الخلفية back end: هي العمليات التي تتم في الخفاء تطوير كل ما يتعلق بتطوير البنية التحتية للتطبيق، وأيضا تصميم قواعد البيانات الخاصة بالتعامل مع هذا الموقع.
لكل واحد من هذين الجزئين لغاته الخاصة ، فيجب عليك تعلم مجموعة من الأمور في front end و تعلم شيء واحد في back end و سنتعرف عليها بقد قليل عندما نكمل شرح الفرق بيم font end و back end حيث أن الفرق بينهما كالفرق بين developer هو من يكتب الكود و designer هو من يصمم
دعني أوضح لك أكثر
إذا كنت تريد تعلم
front end يجب عليك تعلم HTML و CSS و JavaScript تعتبر هذه اللغات أساسية عند دخولك لعالم برمجة صفحات الويب و هناك لغات أخرى يبقى لك القرار في تعلمها أولا أي أنها ليست أساسية و إنما مكملة فقط مثل
jQuery : التي تستخدم لتسهيل و إختصار الجافاسكريبت بدل أن تكتب 10 أسطر في الجافاسكريبت تكتب سطر في JQuery
react :مكتبة جافاسكريبت لبناء واجهات المستخدم، وتم إطلاقها لأول مرة عام 2013 من طرف شركة فيسبوك التي اعتمدت عليها عليها في تطوير أعداد كبيرة من الأجزاء المكونة لموقع Facebook.com. هذه المكتبة عرفت نجاحا منقطع النظير في السنوات الأخيرة واستطاعت خلق نظام بيئي متكامل حولها، ما جعلها تصبح إطار عمل شامل وليس فقط مكتبة.
Angular js : تستخدم لتحسين الأداء في الصفحات
bootstrap :تكون صفحات تعمل في الهاتف بنفس الكفاءة التي تعمل بها في الحاسوب
emberjs
هذه الأمور الخمسة ليس شرط أن تتعلما لتكون مبرمج صفحات الويب و إنما مكملة كما قلنا سابقا حيث تضفي جمالية أكثر و سرعة في التحميل
نلخص ما قلناه سابقا في هذه الخطاطة
أما في back end فتحتاج أت تتعلم لغة واحدة من هذه اللغات php أو nodejs أو rails أو java SE أو django أو ASP.NET5 لكل لغة من هذه اللغات مميزاتها و أنت تختار حسب رغبة إستخدام اللغة التي تراها مناسبة و لتعلم هذه اللغات تحتاج إلى متطلبات نلخصها في هذه الخطاطة
خلاصة
لتصبح مبرمح ويب يجب عليك أن تتعلم front end تتعلم html و CSS و JavaScript ثم تنتقل لتتعلم back end ونختار لغة من هذه اللغات php أو nodejs أو rails أو java SE أو django أو ASP.NET5
مبرمج تطبيقات الهواتف
في الآونة الأخيرة إزداد الإهتمام بتطوير تطبيقات الهواتف وإهتم الكثير بمعرفة كيفية تطوير تطبيقات الهاتف و لكن نختلف أنظمة التشغيل إلى نظام أندرويد و نظام IOS و نظام ويندوز فون.
فمثلا إن أردت أن تبرمج تطبيقات تعمل بنظام IOS للأيفون و الأيباد يجب أن تتعلم لغة سويفت swift أة Objective-C
مبرمج تطبيقات الأندريود: قبل أن تتعلم برمجة تتطبيقات الأندرويد يجب أن تتعلم الجافا java أو الكوتلين
مبرمج تطبيقات ويمدزو فون يجب أن تتعلم C#
و هناك طريقة أخرى لتطوير تطبيقات أندرويد و ips وو ويندوز فون بنفس اللغة هي عن طريق Xamarin تنطق بالعربية (زامرن)، منصة لتطوير تطبيقات الهواتف الذكية على منصات متعددة(Cross-Platform) باستخدام لغة واحدة هي لغة سي شارب (C#). توفر إمكانية تطوير تطبيقات اصلية (Native Apps).
إذا ماذا لو كنت في الأصل مبرمج ويب و لا تريد أن تتعلم لغات أخرى و تستخدم لغات الويب طبعا يوجد حل و هو اسنخدام CSS و HTML و JavaScript في نمط يسمى Hybrid App باستخدام منصة Cordova/PhoneGap
لكن لا أنصحك بهذه الطريقة إن كنت تريد برمجة تطبيق ذو أداء عالي و سريع
و يمكن أن نبرمج الألعاب تعمل على الأنظمة الثلاث باستخدام Unity
مبرمج برامج سطح المكتب
سأكون سعيدا للإجابة على تعليقاتكم أظهار الإبتساماتإخفاء الإبتسامات