في هذا المقال سوف نتحدث عن برمجة المواقع وكيف تتم؟

يعني ايه برمجة ؟

البرمجة هي عبارة عن مجموعة من الأوامر يتم تنفيذها من خلال لغة الآلة حيث أن الكمبيوتر يقوم بتلك المهام عن طريق التمييز بين عمليتين فيزيائيتين هما توصيل التيار ( 1 ) وقطع التيار ( 0 ). إذاً هذه هي اللغة التي يفهمها الكمبيوتر حيث إنه لا يميز سوي قيمتين هما ال (0/1) وبالتالي فمن الصعب جداً كتابة تلك الأوامر البرمجية بهذا الشكل 010101…ومن هنا جاءت لغات البرمجة عالية المستوى حيث تقوم بدور الوسيط بين لغة الإنسان ولغة الكمبيوتر وتسهل كتابة الأوامر البرمجية بخطوات منطقية ويقوم المفسر أو المترجم بتحويلها إلي لغة الآلة.

هل اللغة الإنجليزية أساسية لتعلم البرمجة؟

نعم، اللغة الإنجليزية هي اللغة التي يتم كتابة البرامج بها ويتم تحويلها إلي لغة الآلة لذلك من الضروري تعلم اللغة الإنجليزية للتعامل مع لغات البرمجة.

هل البرمجة تخصص واحد؟

لا، البرمجة تخصصات:-

  • برمجة تطبيقات الويب وهي المواقع التي تستطيع تصفحها من خلال الإنترنت.

  • برمجة تطبيقات سطح المكتب مثل برامج الأوفيس الكتابية.

  • برمجة تطبيقات الموبايل وهي أي برامج خاصة بأجهزة المحمول.

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

تنقسم برمجة مواقع الويب إلي جزئين :-

الفرونت إند "front-end":-

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

الباك إند "back-end":-

هو المرحلة التي تلي مرحلة الفرونت إند بعيداً عن أعين المستخدم حيث يتم الربط بين الواجهات وقواعد البيانات عن طريق لغات برمجية معينة يجري معالجتها على السيرفر.

الآن نبدأ بالتفصيل عن كل مرحلة:-

المرحلة الأولي (الفرونت إند)

لغة HTML أو (HyperText Markup Language) وهي الهيكل الأساسي لبناء أي صفحة ويب ويتم من خلالها وضع محتوي الصفحات في صفحة الويب عن طريق بصورة يفهمها المتصفح ولغة ال HTML5 هي الإصدار الأحدث من ال HTML ثم يأتي دور CSS أو (Cascading Style Sheets) وهي المسئولة عن تنسيق وإضافة الألوان وأحجام النصوص ... للمحتوى.

بعد ذلك نبدأ في المرحلة الأكثر تفاعلية مع المحتوي مثلا عند إدخال بيانات المستخدم بطريقة خاطئة يقوم المتصفح بإظهار رسالة تصحيح للبيانات مثل: عند إدخال المستخدم خانة الإيميل بدون ال . @ يظهر رسالة تصحيح للمستخدم "يجب عليك إدخال خانة الإيميل بشكل صحيح" مثل هذه التفاعلات تتم عن طريق لغة الجافا سكريبت "javascript" وهي اللغة التي تتيح إضافة أكواد إلي صفحة الويب للقيام بمهام تفاعلية معينة.

إذاً اللغات الأساسية التي يتم ترجمتها علي المتصفح وبناء صفحات الويب بها هي الجافا سكريبت والhtml وال css

ثم بعد ذلك قام بعض المبرمجين ببناء مكتبات مجانية مبنية علي لغة الجافا سكريبت توفر الكثير من كتابة الكود فمثلاً بدلاً من كتابة 10 أسطر للقيام بمهمة معينة بالجافا سكريبت، يمكنك استخدام هذه المكتبة التي تقوم بنفس المهمة من خلال سطر واحد، وأشهر هذه المكتبات هي مكتبة jQuery.

مع تطور برمجة صفحات الويب، بدأ ظهور ما يسمي بال frameworks وهي مجموعة من الأدوات مفتوحة المصدر لإنشاء مواقع الويب، الهدف منها هو مساعدة المصممين والمطورين على برمجة المواقع بسرعة وفعالية وتوفير أكواد “مكررة الاستعمال” المبنية علي HTML وCSS وJavaScript تسهل على المطورين استعمالها والتعديل عليها علي حسب متطلبات الموقع المراد برمجته.

أمثلة لل frameworks

  • البوتستراب bootstrap وهي فريم ورك تحتوي علي الكثير من الأكواد الجاهزة لتنسيق صفحات الويب واضافة التفاعلات لها باستدعاء اكواد معينة في الصفحات يوجد frameworks آخري ولكن هذه الأشهر.

  • ال angular أو react أو vue وهم عبارة عن frameworks يتم استخدامها ايضا لتسهيل برمجة وتكويد الصفحات وكل فريم ورك لها طريقة معينة في الاستخدام ويمكنك اختيار واحدة منهم.

كل ما سبق ذكره هو الفرونت إند لتصميم صفحات الويب وهو مسمي وظيفي يمكنك احتراف هذه اللغات والعمل بها في الشركات ويطلق عليه "front-end developer".

المرحلة الثانية (الباك إند)

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

  • PHP

  • ASP.NET

  • Node.js

  • Java

  • Python

  • Ruby on Rails and so on

هذه اللغات يتم من خلالها التحدث مع قواعد البيانات المسئولة عن تخزين البيانات ويوجد الكثير من أنظمة قواعد البيانات مثل MySQL ، Microsoft SQL Server، MongoDB

يمكنك اختيار إحدي هذه اللغات مع قاعدة بيانات للتعامل معها وفي الغالب يكون إحدى أشهر هذه المجموعات التالية:

  • PHP & MySQL

  • ASP.NET & Microsoft SQL Server

  • Node.js & MongoDB

وبتعلم إحدى هذه المسارات تكون قد أصبحت " back-end developer"laughing

مؤخراً ظهر مسمى وظيفي جديد وهو "full-stack developer" وهو شخص يستطيع التعامل مع كلتا البيئتين الفرونت إند والباك إند.

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

  • قنوات تعليمية مقترحة في مجال تطوير وبرمجة المواقع قناة الزيرو سكول / شبكة عبد الله عيد

  • قنوات مقترحة لتعلم اللغة الإنجليزية zAmericanEnglish / Omar Abdelrahim

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

يشرفني زيارتكم لمدونتي للإطلاع علي مواضيع أخري

http://blog.ayamostafa.net/...