11

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

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

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

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

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

  • HTML, CSS

  • JavaScript

  • jQuery

  • Bootstrap

  • PHP, MySQL

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

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

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

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


من خبرتي البسيطة انا اذا حبيت اتعلم لغة او تقنية جديدة اعمل الخطوات التالية:

١- احدد اللغة او التقنية اللي ابي اتعلمها.

٢- احدد لي وقت معين. مثلا شهرين او شهر و نص.

٣- بعد ما تعلم الاساسيات ابدا اطور برنامج او موقع. و هذي خطوة مهمة جداً. لا تكتفي فقط بالنظريات و الأمثلة. أحسن طريقة للتعمق انك تطور شي من الصفر عشان شبة مؤكد انك راح تواجه مشاكل. و في بحثك عن حلها راح تتعلم الكثير.

اما بالنسبة لسؤالك الجواب يعتمد على اللي تبي تتعلمه. اللي ذكرتهم اغلبهم هي لغات او ادوات تشتغل على جهة العميل او client side و ايضا تعرف ب front end و هي تسمى كذا لانه هذا اللي بتشوفه و تتعامل معه بالموقع. ال HTML هو الاساس او ممكن نقول انه الهيكل العظمي للموقع. هو اللي تقدر تحدد فيه و ين تكون الروابط و العناوين و المقالات و الجداول و النماذج(forms) اللي تطلع بالصفحه. هذا طبعا بشكل عام لأنه له وظائف اكثر. ال CSS يساعدك في تحديد الاوان و التصميم اللي تبيه للموقع. مو قلنا ال HTML هيكل عظمي، تقدر تعتبر ال CSS هو الجلد الخارجي فوق الهيكل العظمي. ال Bootstrap هو يسهل لك موضوع تحديد الاوان و التصاميم. بدال ما تسوي ملف و تكتب عدة اسطر عشان تخلي جزء من الصفحه او رز لونه احمر. تقتدر تستخدم البوتستراب بالموقع و تستدعي class او id بالجزء اللي تبيه و هو يهتم بموضوع اللون. الحين عندنا موقع و شكلة زين، بس ما تقتدر تتفاعل معه يعني بس صفحات جامده. اذا تبي تخلي صفحاتك متفاعله، هنا يجي دور ال javascript. و ظيفة الجافاسكربت انها تتفاعل مع عناصر ال HTML و تغيرهم. بس زي ما ذكر احد الاخوان انه لو تستخدم javascript فقط الموضوع بياخذ من كثير. فيجي هنا دور ال jQuery و Angular و React و Vue هذول دورهم انهم يسهلون عليك عمل موقع متفاعل باستخدام ال javascript. ال Ajax حسب استعمالي البسيط له من اهم وظايفه هو لو مثلا فيه تحديث لجزء صغير من الصفحة، بدال ما تحدث الصفحة كاملة تقدر تحدث الجزء اللي يحتاج تحديث فقط. و هذا كل يختص بال front end. ال back end هذا عالم ثاني من ال web development. و هو يختص ببرمجة السيرفيرات و قواعد البيانات. اذا عندك اسألة او استفسارات انا بالخدمة.