00:00:00أخيراً، نسخة jQuery 4 أصبحت هنا، ولا تقلق، أنت لم تسافر عبر الزمن، بل هذا
00:00:04هو أول تحديث رئيسي لنا منذ عام 2016، لقد ظل في المرحلة التجريبية لمدة عامين
00:00:09ويأتي بعد 20 عاماً من إطلاق jQuery لأول مرة.
00:00:12وقد تندهش حين تعلم أن jQuery لا تزال مهمة جداً؛ فـ 88% من جميع المواقع
00:00:17لا تزال تستخدمها، والفضل يعود غالباً لمنصة WordPress، ولكن يمكنك أن ترى أيضاً
00:00:21أسماءً كبيرة لا تزال تعتمد عليها. وكما يقال، طالما أن الشيء يعمل فلا داعي لإصلاحه.
00:00:25إلا أن هذا التحديث قد يتسبب فعلاً في بعض المشاكل، فقد استغلوه لإجراء
00:00:29كل التغييرات الجوهرية التي أرادوا القيام بها لسنوات، بما في ذلك تقليص الأكواد
00:00:32القديمة، وإزالة واجهات البرمجة المهجورة والدوال غير الموثقة، ومجموعة كبيرة من الإصلاحات.
00:00:38لذا دعونا نتعمق مباشرة ونلقي نظرة على التغييرات الرئيسية، وإلى أي مدى
00:00:42وصلت jQuery خلال 20 عاماً.
00:00:49بالنسبة للتغيير الكبير الأول، فلنودع متصفح Internet Explorer 10 وما قبله.
00:00:53فقد تم إيقاف دعمه الآن، ولكن لا داعي للذعر إذا كنت تشاهد هذا عبر Internet Explorer 11.
00:00:58فدعمه لن ينقطع حتى إصدار jQuery 5، لذا لا يزال أمامك وقت للضغط
00:01:02على زر الاشتراك. وبجانب ذلك، أوقفوا أيضاً دعم Edge Legacy، وإصدارات iOS
00:01:07الأقدم من آخر 3 نسخ، وإصدارات Firefox الأقدم من آخر نسختين، وكذلك متصفح Android.
00:01:12كما تلاحظون، نحن نتجه نحو الحداثة فعلياً. في الواقع، التغييرات الثلاثة التالية تتمحور حول ذلك.
00:01:17بالانتقال للتغيير الثاني، هم يقومون بنقل كود jQuery المصدري من نظام AMD إلى وحدات ES،
00:01:22ليعمل بسلاسة مع Vite وWebpack وأنظمة البناء الحديثة دون الحاجة لأي حيل برمجية.
00:01:27فلمَ لا تجرب تثبيتها في مشروعك القادم، من باب التسلية أو
00:01:31ربما بدافع الحنين إلى الماضي.
00:01:33وبالحديث عن الحنين، سيظهر لك هذا التحديث مدى التطور الذي وصلت إليه لغة JavaScript،
00:01:36لأنه في التغيير الثالث، قاموا بإزالة الكثير من دوال jQuery لأن
00:01:41JavaScript ببساطة قد واكبت التطور. وتشمل دوالاً مثل isArray وparseJSON وtrim وnow،
00:01:46وisNumeric وisFunction وغيرها الكثير. يمكنك الآن القيام بكل هذه الأمور تقريباً
00:01:51باستخدام JavaScript نفسها دون الحاجة لمكتبة إضافية. من الجنون حقاً أننا
00:01:56كنا نحتاج لمكتبة خارجية للقيام بهذه المهام البسيطة، ولكن هكذا تتطور اللغات.
00:02:00وبالحديث عن التطور، المتصفحات تتطور أيضاً. لذا في التغيير الرابع، وهو آخر التحديثات
00:02:01الكبيرة المتعلقة بالتحديث، قاموا أخيراً بإصلاح ترتيب التركيز (focus order).
00:02:06إذا لم تكن تعلم، لسنوات لم تتفق المتصفحات على ترتيب أحداث الـ focus والـ blur،
00:02:11لذا كان لـ jQuery تعريفها الخاص لضمان الاتساق عبر جميع المتصفحات.
00:02:15أما الآن، وبما أنهم استبعدوا المتصفحات القديمة، فإن كل المتصفحات المدعومة،
00:02:20باستثناء Internet Explorer، لديها نفس الترتيب، لذا لن تقوم jQuery بتجاوز السلوك الأصلي.
00:02:24يمكنك أن ترى بوضوح تركيز الفريق على جعل jQuery عصرية، فمعظم ما جعلها
00:02:29مفيدة في الماضي تمت إضافته إلى JavaScript في النهاية على أي حال.
00:02:34ولكن لا تزال هناك بعض الأمور في jQuery التي يمكن تحديثها، مثل الـ deferreds والـ callbacks
00:02:38التي يمكن استبدالها بـ promises إلا إذا كنت تستخدم IE 11، أو بعض الرسوم المتحركة
00:02:42التي اعتاد الناس تنفيذها بـ jQuery وهي الآن سهلة جداً باستخدام CSS.
00:02:47لذا إذا أردت الذهاب لأبعد من ذلك، فقد جعلوا نسخة “slim” تجرد الكثير من هذه
00:02:52الوحدات الإضافية ليصبح حجمها 19.5 كيلوبايت فقط، وأعتقد أن هذا توجه ممتاز
00:02:55بتقديم تلك الدوال في الحزمة الكاملة لمن يحتاجها،
00:03:01وتوفير نسخة مصغرة خالية من الإضافات التي لم تعد ضرورية هذه الأيام.
00:03:04كانت هذه أهم التغييرات الرئيسية، ولكن من الواضح أن هناك عدداً هائلاً من الإصلاحات
00:03:08والتعديلات الطفيفة، يعود بعضها لسنوات. أقدم ما وجدته كان من عام 2014،
00:03:12ويتعلق بترقية jQuery لملفات JSON تلقائياً إلى JSONP، وهو ما تم إصلاحه الآن.
00:03:17وهناك حتى مشكلة من عام 2015، أتذكر أنني واجهتها شخصياً، حيث كان محدد CSS
00:03:22يضيف تلقائياً وحدة “px” لأي رقم لا يحدد وحدة قياس. هذا أيضاً تم
00:03:28إصلاحه. هناك الكثير من الأمور الأخرى التي يمكنك استكشافها بنفسك.
00:03:33حتى أن هناك إصلاحات بسيطة مثل تصحيح الأخطاء الإملائية. لكن بالطبع، سيستغرق تغطيتها وقتاً طويلاً.
00:03:37شخصياً، أردت فقط إلقاء نظرة على jQuery، لنرى كيف تطورت لأنها تمثل
00:03:42جزءاً رائعاً من تاريخ تطوير الويب. وربما من المجحف قول “تاريخ”
00:03:46بينما لا تزال مستخدمة ومدعومة بنشاط حتى اليوم.
00:03:51بالطبع، لن أستخدم jQuery اليوم بدلاً من React أو أي إطار عمل حديث، ولكنها
00:03:56تعمل كمذكر بأن الويب مبني على طبقات من التكنولوجيا. وأحياناً تكون الأدوات
00:04:01البسيطة والقديمة هي التي تمسك بزمام الويب، خاصة في تلك التطبيقات القديمة
00:04:06المهمة التي لا يجرؤ أحد على تحديثها. لذا أنا فضولي، هل استخدمتم jQuery
00:04:10أو لا تزالون تستخدمونها؟ أخبروني في التعليقات، ولا تنسوا الاشتراك.
00:04:15وكالعادة، نراكم في الفيديو القادم.
00:04:19you in the next one.