11

لماذا تقنيات ولغات الويب كثيرة بهذا الشكل المربك؟

السلام عليكم،

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

واليوم أدرس في الجامعة مادة تطوير الويب.. أصبحت أعرف أكثر بطبيعة الحال، وأعلم أني سأتعلم أكثر خلال الأسابيع المتبقية.. ولكني أشعر بالارتباك!

هذا ما ندرسه في الجامعة بالترتيب:

  • HTML, CSS

  • JavaScript

  • jQuery

  • Bootstrap

  • PHP, MySQL

وبعض الأمور الأخرى مثل XML وJSON وAJAX. درست إلى الآن حتى jQuery فقط.

لكي تتضح لكم الصورة أكثر، خذوا هذا المثال.. قبل كم يوم قررت أن أصمم واجهة صفحة Portfolio وجدتها على freeCodeCamp من باب التدريب. ولكني صدمتُ بكثرة الطرق التي أستطيع استخدامها لفعل ذلك.. فهناك على حسب w3school ما يسمى بCSS Grid وهناك CSS Float وغيرها، والجامعة لم تعلمنا سوى الtables! بالطبع يئست وألغيت الفكرة كلها، وقررت أن أكتفي بما تفرضه علينا الجامعة من واجبات.

الآن سؤالي لمطوري وخبراء الويب ليس لماذا تحديداً.. وإنما كيف يمكن أن أتعلم كل هذا؟ لا أخفيكم أني أشعر بالحماسة للتعلم، ولكني أيضاً أشعر بالخوف والارتباك.. لا أعرف ماذا أستخدم وماذا أتعلم!

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


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

بأعطيك تسلسل مُخل بسيط لتاريخ هذه الأدوات وقِس عليها ..

HTML لغة وصفية، وهي كافية لإن تصمم موقعك بالكامل وترفعه على الويب وتخبر الآخرين بما تود قوله

لغة وصفية أي أنها توصف المحتوى، هل هو عنوان، نص، رابط، صورة أو غيره

لذلك، إتقنها أولاً

CSS تقنية أتت لتجعل صفحات HTML براقة وجميلة وذات ألوان والأهم في عالم اليوم أنها تجعل صفحات الويب متجاوبة مع كل الأجهزة بأحجامها المختلفة

لذلك، إتقنها ثانياً

Javascript، لغة تعطي الحيوية لصفحات HTML

تجعل التعامل مع زائر الموقع أكثر عملية وسلاسة، ومع انتشار تقنية الأجاكس Ajax أصبحت شبه ضرورية في أغلب مشاريع الويب

لذلك، خذ معرفة كافية عنها، أكثر من متوسطة، هذا ثالثاً

بعد هذا مباشرة، تأتي لغات برمجة السيرفر، هذا إذا كنت تريد أن تصبح مبرمج. أي توقف هنا وإبدأ بتعلّم لغة برمجة مثل PHP, Python, Node أو غيرها.

أما إن كنت تريد أن تكون مطوّر واجهات أمامية Front End، فيأتي كل ما ذكرته أنت بالأعلى وغيره بعد هذه الثلاث ، لا يهم ترتيبها، إختر ما تشاء وتعلّمه حسب اهتمامك، ذائقتك الشخصية، أو السوق إن كنت مهتم بالعمل للغير.

لكن إعرف كل آداة أو إطار عمل لماذا تم إختراقه ومالغرض منه وماهي البدائل.

jQuery أتت لتسهّل للمطوّرين التعامل مع Javascript ، فبدل أن تكتب عشرات الأسطر لتنفيذ شيء بالجافاسكربت، أصبح مع jQuery يمكن تنفيذه بسطرين أو أقل، فكانت مهمة وأحدثت نقلة في عالم الويب.

Bootsrtap مثلاً، أتى ليسهّل على المبرمجين وخصوصاً الغير متخصصين بال Front End ليتمكن من انشاء موقع سريع بسهولة بدون كتابة الكثير من CSS

هناك العشرات بدائل ل Bootstrap، وهناك العشرات بدائل ل jQuery وبدائل كل شيء تقريباً في هذا العالم

لكن ليس هناك بديل للثلاث الأوائل الذي ذكرتهم بالأعلى [html,css,javascript]

وهناك المئات وربما الآلاف للأدوات المساعدة بالمنتصف لتسريع وتسهيل عملية تطوير المواقع مثل Gulp, Grunt,SCSS وغيرها .. لكن هذه كلها أدوات مساعدة، يمكنك أن تنشئ موقعك بدونها، إتركها لحينها.

أكاد أجزم أنك تعرف أغلب هذه المعلومات، لكن معرفة سياقها وترتيبها مهم أعتقد.

شكراً لك على ردك.

أكاد أجزم أنك تعرف أغلب هذه المعلومات

نعم في الحقيقة أعرف كل هذا، ولكن مشكلتي مع تحويل هذه المعرفة لمشاريع حقيقية عملية.

لدي أساسيات في CSS، فهل تنصحني باستعمال Bootstrap مباشرة أم أتعلم على CSS فقط كبداية؟

من المهم ان تتعلم css اولا لان bootstrap مبني عليها