القائمة الرئيسية

الصفحات

 

كيف تصبح مطور برامج

من أين تبدأ تعلم البرمجة ؟! السؤال الأكثر انتشارا لمن يريد الدخول لعالم البرمجة .

لكي تكون مبرمج ناجح ولا تعرف من أين تبدأ  إذا أنت جئت إلى المكان الصحيح ، ففي هذا الموضوع سوف أعطيك تعريف حول البرمجة وكيف تكون مبرمج ناجح في مجالك ، إذاً حتى تكون مبرمج ناجح في مجالك هناك عدة خطوات عليك إتباعها حتى تكون في المسار الصحيح لتعلم الشيئ الذي تنوي فالعملية ليست عشاوائية إذاً . 


في بداية دخولك لعالم البرمجة هناك ثلاث أمور يجب أن تكون في ذهنك وهي : 

  • Web
  • Mobile
  • Desktop

إما أن تكون مبرمج ومطور صفحات الويب مثل صفحة فيس بوك أو صفحة ياهو وما إلى ذلك أو أن تكون مبرمج تطبيقات الموبايل والألعاب أو أن تكون مطور برامج الحاسوب، فهذه الثلاثة أمور ضروري تكون في ذهنك قبل الدخول في عالم البرمجة ويجب أن تسلك أحد هذه الجهات لتعلمها، لكن بكل جهة من هذه الجهات متطلبات يجب أن تتعرف عليها .


ماذا يجب أن تعرف لكي تكون مبرمج ويب Web Devloper :

في البداية نفترض أنك أنت تريد أن تكون مبرمج ويب Web Devloper ، إذا ما الأشياء الذي يجب تعلمها حتى تكون مبرمج ويب ناجح وتنشأ صفحات ويب على الانترنت، هناك شيئين يجب أن تعرفهم في Web startup وهو front-end و back-and .

front-end و back-and

الويب مقسم إلى جزئين front-end هو الذي يظهر للمستخدم مثل صفحة فيسبوك أو صفحة جوجل فهذه الواجهة التي تظهر لك تسمى front-end ، و back-and هي العملية التي تتم في الخفاء فعندما تضغط زر البحث أو الطلب هناك عمليات تتم في الخفاء وأوامر تطبق في السيرفر ويبحث لك ثم يعود لك بنتائج ، فظهور النتائج أمامك بعد المعالجة فهذه front-end أما التي في الخفاء هي معالجة البيانات وجلب بيانات من السيرفر وما إلى ذلك هذه تسمى back-and ، ولكل سيرفر له برمجته الخاصة وعليك تعلم مجموعة أمور في front-end وعليك تعلم شيء واحد في back-and ، إذا هنا النقطة واضحة front-end و back-and مثل Designer و Developer فالديفلوبر هو الذي يكتت كود برمجي والديزاينر هو الذي يصمم واجهة الظهور للمستخدم .

desiyner and devloper

اللغات التي يجب تعلمها في front end وهي خاصة بمطوري الويب وواجب عليك تعلمها هي :

  • HTML
  • CSS
  • JavaScript

هذه الثلاث واجب عليك تعلمها في بداية دخولك لعالم برمجة الويب لأنها متطلباتك في تصميم صفحات الويب وتصميم الواجهات وهناك أمور إضافية يمكن تتعلمها ويمكن ما تتعلمها وليست ضرورية ومنها :

  1. jQuery التي تستخدم في تسريع عمليات الجافاسكريبت يعني بدل ما تكتب 10 أسطر برمجية في جافاسكريبت تكتبها في سطر واحد في جكويري.
  2. AngularJS وهذه تستخدم لتحسين الأداء في الصفحات .
  3. React وهذه تستخدم في برمجة الفيس بوك والتحميل .
  4. Bootstrap هذه التي تُكوِّن لك صفحات mobile responsive أي صفحات انترنت تعمل على الهاتف بنفس الكفاءة التي تعمل عليها في الحاسوب .
  5. Ember js وأيضا هذه تساعدك في إنشاء تطبيقات ويب وما إلى غير ذلك .

هذه الخمسة لست أمور ضرورية لتعلمها وإن كنت تريد تعلمها لا مشكلة فهي بالطبع ستكون مفيدة لك .

أما اللغات التي يجب أن تتعلمها في back-and فممكن تتعلم حاجة واحدة من مجموعة أمور فالأولى قلنا خاصة بالمظهر والشكل الذي يظهر للمستخدم أما هنا سنحتاج لغة برمجة لمعالجة البيانات في الخفاء مثل البحث أو تنفيد أحد الأوامر التي طلبها المستخدم ويمكن تتعلم لغة واحدة من هذه اللغات وهي وكافية : 

  • PHP 
  • Node.js
  • Ruby on Rails
  • Java
  • Django
  • ASP.NET 5

كل هذه اللغات لها مميزاتها فإذا كنت تريد تُكوِّن charting وسرعة في المعالجة تستخدم
Node.js وإذا كنت تريد سرعة في ظهور النتائج تستخدم Ruby on Rails على حسب النمط الخاص بك تستخدم اللغة التي تراها مناسبة لك .


لكن هذه اللغات قبل ما تتعلمها تحتاج إلى متطلبات ولنرى هذه المتطلبات :

  • تحتاج أن تعرف Ruby  لكي تبدأ بتعلم Ruby on Rails ، إذا أول شيء تتعلم Ruby  ثم تنتقل إلى تعلم Ruby on Rails .
  • وتحتاج إلى تعلم JavaScript لتبدأ في تعلم Node.js .
  • وكذلك تحتاج إلى #C للتعلم برمجة صفحات الويب بلغة ASP.NET 5 .
  • وتحاج إلى تعلم Python قبل ما تتعلم Django لأن دجانجو مبني في بايثون.
  • أما بالنسبة للغة PHP هي اللغة الأكثر شعبية وما في شيئ تتعلمه قبلها فهي نفسها اللغة التي تكتب بها ولها أساسياتها الخاصة بها ، وكذلك Java SE هي نفسها اللغة التي تكتب بها .

إذاً هذه هي المتطلبات حتى تستلك الطريق الصحيح إذا أردت أن تكون مبرمج تعرف واجهة front-end فتتلعم HTML و CSS و JAVASCRIPT ، واما معالجة البيانات في الخفاء وراء الكواليس فهذا هو back-and وتختار لغة واحدة من بين اللغات الستة التي تراها أسهل في التعلم وممكن تكون أسرع في الأداء ، وعلى سبيل المثال Ruby ممكن تكون أسرع بالمعالجة أو Node.js وعلى حسب الموقع اللي أنت تنوي تصممه ، وممكن تكون تريد موقع ذو حماية عالية تستخدم ASP.NET .


ماذا يجب أن تتعلم لتكون مبرمج تطبيقات هواتف Mobile devloper :

توجد عدة أنواع من الموبايلات ، وعليك تعلم لغة أولا ثم توجه إلى برمجة التطبيقات على النظام الذي تريد ، ربما تريد أن تكون مبرمج IOS للايفون والآيباد وقبل أن تكون مبرمج على هذا النظام تحتاج تعلم لغة SWIFT أو اللغة الانعكاسية Objective c فضروري تتعلم أساسياتهم ثم تتعلمتصميم تطبيقات على IOS .



أما إذا أردت أن تكون مبرمج تطبيقات ANDROID فقبل هذا إذهب وتعلم لغة JAVA لأن أندرويد مبني على جافا ، وممكن لاحقا يتبدل إلى SWIFT او KOTLIN لكن حاليا أنصحك بالاعتماد على جافا كثيرا ، وما راح ينفع تتعلم أندرويد قبل تعلم جافا فما راح تنجح .


أما في حالة أردت أن تبرمج تطبيقات على WINDOWS PHONE فعليك بتعلم لغة #C أولا ، وهذه هي الطريقة لتعلم بناء التطبيقات المبنية بلغة الأم .


ماذا لو أردت بناء تطبيقات تعمل على جميع الأنظمة والهواتف ؟


 إذا أردت أن تبرمج تطبيقات تعمل على IOS و ANDROID و WINDOWS PHONE بلغة برمجة واحدة فلغة البرمجة المناسبة لك هي Xamarin ، فزامارين هو الحل لبرمجة تطبيقات تعمل على عدة أنظمة بلغة واحد وهي #C ، إذا نذهب نتعلم سي# ثم نتعلم Xamarin ، وبعد تعلم زامرين يمكن ننشئ تطبيق واحد يعمل على IOS و ANDROID و WINDOWS PHONE وهذه رائع .


ولو كنت أنت مبرمج ويب وأردت تبرمج تطبيقات تعمل على كل أنظمة الهواتف لكن لا تريد تعمل لغة أندورد أو آي أُو إيس فأنت تريد تبقى تستخدم نمط الويب فأنت مبرمج ويب وكل ما عليك استخدامه هو HTML و CSS و JC وفي هذا نمط يستخدم لهذا الغرض وهو Hybrid App فهو يمكنك من عمل تطبيقات تعمل على الموبايلات وباستخدام لغة برمجة الويب المعروفة كثيرا لديك.


لكن استخدام Xamarin و Hybrid App لا أنصحك بهم إذا كنت تريد برمجة تطبيقات ذات كفاءة عالية أو تطبيق بأداء عالي يعني تطبيق تربطه مع قواعد بيانات أو مع سيرفر فقد تستغرق وقت كبير ، فقط استخدمهم إذا كنت تريد تعرض صفحة انترنت على متصفح أو تطبيق أداؤه سريع .


وهناك شيء آخر يمكن تنشئ به Games للموبايلات أيفون و أندرويد ووندوز فون وهو باستخدام برنامج Unity فهو يمكنك من تطوير ألعاب أو تصمم لعبة ترفعها على جوجل بلاي أو آب ستور أو متجر وندوز فون واللعبة تكون مبنية بلغة #C ، إذا في هذه الحالة من الأفضل تتعلم لغة C# و JavaScript فهذه أساسياتك لتعلم برمجة الألعاب .


ماذا يجب أن تتعلم لتكون مبرمج برامج حاسوب Desktop App Devloper :

في برامج سطح المكتب تحتاج أن تكون إما مطور برامج على نظام Windows أو على نظام Mac و Linux وهنا قد تحتاج إلى عدة لغات يجب أن تعرفها وأنا سأختار لك منها الأكثر شيوعا فممكن تستخدم Java FX التي تطبيقاتها تعمل على وندوز ولينكس وعلى الماك ، ويمكنك أن تستخدم C# على برمجة برامج وندوز فقط ، وممكن تستخدم Pyhton والتي برامجها كذلك تعمل على لينكس ووندوز وماك ، وممكن تستخدم Swift أو Objective c في برامج تستخدم فقط على MAC-Apple وما تشتغل على وندوز وكذلك .



إذاً كل هذا على حسب هدفك ، فمثلا جاءك زبون يريد برنامج يعمل على وندوز فقط فتختار اللي يناسبك وتراه أفضل وأتوقع #C هو الأفضل على وندوز ، وإن كنت تريد عمل على الماك استخدم Swift أو Objective c ، وإن كنت تريد عمل برنامج يعمل على الاثنين استخدم Java FX أو Python  .


هناك شيء ربما نسيناه وهو DataBases !!!

اصبر اصبر هناك شيء مهم جدا في دخولك لعالم البرمجة وهو قواعد البيانات DataBases وهي ضرورية في أي تطبيق إذا كان على Desktop أو Web أو Mobile وهذه على حسب وجهة نظري هي أول شيء لازم تتعلمه بعد ما تعرف أساسيات أي لغة تذهب وتتعلم قواعد البيانات وتتعرف عليها .

فأنت عندما تنشأ تطبيق أو برنامج تحتاج شيء تخزن فيه بياناتك فملا تحتاج خزنة عندما تكون تريد تسجل سجل لمرضى أو طلاب فستحتاج إلى قاعدة بيانات لخزنها .

إذاً هناك أكثر من قواعد بيانات يمكن نستخدمهم :

  • فممكن نستخدم SQLite وهذه تستخدم في الهواتف وهي قواعد بيانات محلية ويمكن تستخدم في الأحجام الصغيرة .
  • وممكن تستخدم MySQL وهي تستخدم في الحجم المتوسط ويمكن تتقسم إلى أقسام.
  • وإذا كنت تستخدم بيانات كبيرة الحجم وضخمة فممكن تستخدم ORACLE أو SQL server  وأنصحك باستخدام Sql server لأنه حاليا متقدم على Oracle إذا كان حجم قواعد البيانات كبير جدا .

الشيء اللي لازم تعرفه حول هذه الأربعة قواعد البيانات :

  • SQLite 
  • MySQL 
  • ORACLE 
  • SQL server 

هذه الأربعة تستخدم لغة برمجة واحدة اسمها SQL يعني لو جئت وتعلمت MySQL تستطيع تنفيذ الأوامر على كل الثلاثة الأخرى SQLite و ORACLE  و SQL server ، لكن ليس كل الأوامر فقط Basic والمشتركة بينهم مثل إضافة سجل حدف سجل تعديل سجل إدخال وإضافة جدول وحدف جدول ومثل هذه الأمور وكل هذه أوامر SQL ، لكن كل لغة برمجة لها أشياء وأوامر إضافية لقواعد البيانات .


في شيء آخر في قواعد البيانات إسمه MongoDB ممكن تستخدمه فهي لا تستخدم تخزين البيانات في جداول كما معروف في قواعد البيانات ، بل تقوم بتنظيمها داخل مستند نصي مثل JSON وطبعا حتى JSON تستخدم في تخزين البيانات على شكل مصفوفات في مستند نصي ويستخدم كثيرا هذا النمط في JAVA و PHP .


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

هل اعجبك الموضوع :

تعليقات


التنقل السريع