هذا السؤال يتم طرحه كثيرا، هل أتعلم جافاسكربت أولا أو jQuery؟ ماهو الفرق بينهم أصلا؟ هل jQuery لغة؟

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

تعرف jQuery نفسها بالشكل التالي:

jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility

أي أنها مكتبة جافاسكربت سريعة، صغيرة ومليئة بالمميزات التي تجعل من التعامل مع صفحات HTML والتحكم في الأحداث والأنيميشين والأجاكس أمرا أكثر بساطة عبر نظام موحد بين المتصفحات، مع قدرة كبيرة على التوسع والتمدد.

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

إذا jQuery ببساطة هي مجموعة من الدوال الجاهزة التي تختصر عليك الكثير من الكتابة والتعلم.

توضيح لمن مقصود هذا المقال

الآن هل يجدر بك تعلمها هي أولا أو تعلم جافاسكربت أولا؟ السؤال أشبه بهل يجدر بك تعلم مجموعة من المعادلات التفاضلية أو تعلم أساسيات التفاضل والرياضيات، إذا كان لديك امتحان غدا صباحا وتحتاج فيه تلك المعادلات فلا وقت لتعلم مصدرها أو من أين أتت

نفس الأمر هنا، لو كنت مبرمجا وتحتاج إلى نسخة سريعة لموقعك تحتاجها في أسرع وقت ممكن لتريها لعميل أو مستثمرين أو مشروع سريع، فأنا أنصحك أن تستخدم stackoverflow وتنسخ أكواد jQuery منه وتنهي النسخة الأولى من مشروعك بأسرع وقت وتتوقف عن القراءة الآن.

أما لو كنت تتعلم من أجل التعلم، أو الدخول لمجال جديد، مثل أخي مثلا، ومثلي أنا في بدايتي، فهذه قصة مختلفة.

تجربتي

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

على العموم قضيت أكثر من سنة ونصف وأنا أتعامل مع jQuery في تطوير WordPress ولكن هل كنت أجيد شيئا في جافاسكربت؟ خذ مني jQuery واطلب مني تنفيذ شيء بجافاسكربت ولن أعرف كيف. هذا لأن jQuery لاتعلمك كيف تعمل الأمور في جافاسكربت، ماهي الأنواع وماهو (this) وكيف يعمل، jQuery ببساطة عبارة عن مكتبة تسمح تسهل لك الكثير من الأمور، تسهلها لدرجة أنك لا تملك أدنى فكرة كيف تعمل لفترة طويلة، إنها ببساطة Magic (سحر) [1].

تجربة أخي

مؤخرا بعدما اكتسبت معرفة شبه جيدة في جافاسكربت وأدركت أخطائي طلب من أخي أن أعطيه خطة بسيطة للتعلم، بالطبع طلبت منه تعلم HTML و CSS أولا، ثم حان وقت جافاسكربت، طلبت منه أولا قبل أن يتعلمها أن يقرأ كتابا، نعم كتابا، أيّ مطور هنا سيكون مندهشا من كلامي لأني طلبت منه أن يقرأ كتابا وهو في بدايته فحسب بينما الgo to في مجال التعلم للمبتدئين هنا هو الفيديو أو التعلم التفاعلي مثل codeacademy (بالمناسبة أنا لم استخدم أيّ منهم في التعلم).

كان الكتاب الذي طلبت منه أن يقرأه هو You don't know JS: Up & Going وهو كتاب مجاني (سواء للتحميل أو قراءة أونلاين) بعد إنهائه لذلك أعطيته الجزء الثاني (بالأحرى الثالث ولكن لا يوجد ترابط حقيقي بين الكتب مادمت تقرأها بعد الأول) You don't know JS: This & Object Prototypes

بعد إنهائه لنصف هذا الكتاب (تطلب منه قرائته أسبوع ونصف فحسب) بدأت في إعطائه مهام بسيطة في جافاكسربت، بناء slider أو بناء box viewer أو grid. ووجدت أنه أصبح يملك مفاهيم في جافاسكربت عانيت أنا طويلا في الحصول عليها، مفاهيم في الأغلب لم أكن لأعرفها إطلاقا لو استمريت مع jQuery وكثيرون غيري. كل هذا في مدة أسبوعين

لذا بعدما نجحت هذه الطريقة مع أخي قمت بتطبيقها مع أشخاص آخرين أقوم بإرشادهم من الحين للآخر وأنتظر نتائج هذه الطريقة.

ختام

ملخص هذه التجربة هي أنك إن لم تكن مستعجلا جدا في تعلم جافاسكربت، فالبدأ بjQuery هو دوما الخيار السيء.

توضيحات:

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

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

إن كنت تبني الكثير من المواقع (سواء برمجة وواجهات) فأنصحك بالتوقف عن jQuery والانتقال لجافاسكربت في أقرب وقت، وستحس بانتاجية كبيرة بعد مدة ليست بطويلة

إن لم تكن نيتك بناء مواقع ممتازة وسريعة (وأعتقد أن هذه يجب أن تكون نية الجميع، مهما كان صغر الموقع الذي تقوم به) أو لم تكن متقبلا لفكرة الخروج عن منطقة الأمان الخاصة بك فقد يكون من الأنسب لك البقاء مع bootstrap و jQuery ولكني أخبرك الحقيقة، سوف تبقى في ذلك المكان للأبد، وعندما تختفي هذه المكتبات وتصبح من الماضي، ستتساءل لم لا تستطيع إيجاد عملاء ولا يقبل أحد بتوظيفك رغم أنك تملك خبرة 10 سنوات في jQuery

[1]

https://en.wikipedia.org/wi...