يرفض Github.com استخدام jQuery والتبديل إلى JavaScript خالص

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

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

  • querySelectorAll (الذي كان من المفترض أن يكون مستوحى من jQuery في وقت واحد) ،
  • جلب للعمل مع AJAX ،
  • الأحداث المفوضة للتعامل مع الأحداث ،
  • تعدد الأشكال للعمل مع DOM ،
  • العناصر المخصصة التي تتزايد.

بالإضافة إلى Custom Elements ، تقرر عدم استخدام أي شيء آخر من Web Components . نظر المطورون إلى Shadow DOM ولا يمانعون في اللجوء إليه - ومع ذلك ، نظرًا لحقيقة أن سرعة البحث في DOM تترك الكثير مما هو مرغوب فيه بالنسبة إلى الملفات المتعددة ، كان عليهم تأجيل هذا المشروع في الوقت الحالي.

لماذا يحتاج المطورون بشكل أساسي للقيام بكل هذا؟ وفقًا لهم ، من أجل "منح" الزائرين عددًا أقل من الكيلوبايت ، حتى يتمكنوا من استخدام بنية أكثر وضوحًا لإجراء التلاعب مع DOM ، وأيضًا من أجل القدرة على استخدام مكتبة Flow.JS لتحليل النوع الثابت. وفقًا للمطورين ، استغرقت عملية خروج jQuery سنوات.

الصورة

أعرب إيدي عثماني من فريق Google Chrome عن تقديره لسرعة وتحميل الإصدار الجديد من الموقع

تم استبدال المكوّن الإضافي jquery-pjax بـ vanilla pjax ، المصمم خصيصًا لـ Github ، وهو مجهز بالتحسينات ويرتبط ارتباطًا وثيقًا بقاعدة التعليمات البرمجية - لسوء الحظ ، من غير المحتمل أن يكون رمز إصدار المكتبة الذي يستخدمه Github مفتوحًا بسبب صعوبة دعمه في المستقبل.

بالمناسبة ، يضع Github العديد من مكونات الويب في مصدر مفتوح - يمكنك رؤيتها بالرجوع إليها ، في المستقبل ستتوسع القائمة. بالنسبة للمتصفحات التي تفتقر إلى دعم الجلب الأصلي ، كتب Github polyfill الخاص به ؛ لتفويض الأحداث ، يتم استخدام مكتبة الأحداث المفوضة . المكتبتان متاحتان بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.

Source: https://habr.com/ru/post/ar418257/


All Articles