الميزات الجديدة في Chrome 63

وهناك الكثير غير ذلك.

اسمي بيت ليبيج. لنلقِ نظرة على الميزات الجديدة التي تهمّ المطوّرين في الإصدار 63 من Chrome.

هل تريد الاطّلاع على القائمة الكاملة بالتغييرات؟ يمكنك الاطّلاع على قائمة تغيير مستودع مصادر Chromium.

عمليات استيراد الوحدات الديناميكية

إنّ استيراد وحدات JavaScript مفيد جدًا، ولكنّه ثابت، ولا يمكنك استيراد الوحدات استنادًا إلى شروط وقت التشغيل.

لحسن الحظ، تم إجراء تغييرات على الإصدار 63 من Chrome باستخدام بنية الاستيراد الديناميكي الجديدة. ويسمح لك بتحميل الرمز البرمجي ديناميكيًا في الوحدات والبرامج النصية أثناء وقت التشغيل. ويمكن استخدامه للتحميل الكسول لنص برمجي عند الضرورة فقط، ما يؤدي إلى تحسين أداء التطبيق

button.addEventListener('click', event => {
  import('./dialogBox.js')
  .then(dialogBox => {
    dialogBox.open();
  })
  .catch(error => {
    /* Error handling */
  });
});

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

الدوالّ المتكرّرة والمولدة غير المتزامنة

قد تكون كتابة الرمز البرمجي الذي ينفّذ أي نوع من التكرار باستخدام دوال async أمرًا صعبًا. في الواقع، هذا هو الجزء الأساسي من سؤال الترميز المفضّل لدي في المقابلة.

والآن، بفضل وظائف الإنشاء غير المتزامنة وبروتوكول التكرار غير المتزامن، أصبح استخدام مصادر بيانات البث أو تنفيذها أكثر تبسيطًا، وأصبح سؤالي عن الترميز أسهل بكثير.

async function* getChunkSizes(url) {
  const response = await fetch(url);
  const b = response.body;
  for await (const chunk of magic(b)) {
    yield chunk.length;
  }
}

يمكن استخدام الدوالّ المتكرّرة غير المتزامنة في حلقات for-of، وكذلك لإنشاء الدوالّ المتكرّرة غير المتزامنة المخصّصة من خلال مصانع الدوالّ المتكرّرة غير المتزامنة.

سلوك الانتقال للأسفل/للأعلى أكثر من اللازم

يعد التمرير من أهم الطرق الأساسية للتفاعل مع الصفحة، ولكن قد يكون من الصعب التعامل مع بعض الأنماط. على سبيل المثال، ميزة السحب لإعادة التحميل في المتصفحات، التي تؤدي إلى إعادة تحميل الصفحة من خلال التمرير سريعًا للأسفل في أعلى الصفحة،

قبل، مع إعادة تحميل الصفحة بالكامل.

بعد ذلك، أعِد تحميل المحتوى فقط.

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

يتيح الإصدار 63 من Chrome الآن استخدام سمة CSS overscroll-behavior ، ما يسهّل إلغاء السلوك التلقائي لميزة الانتقال إلى الأسفل في المتصفّح.

ويمكنك استخدامها لإجراء ما يلي:

والأفضل من ذلك، أنّ overscroll-behavior لا يؤثر سلبًا في أداء صفحتك.

تغييرات على واجهة مستخدم الأذونات

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

يتم تجاهل %90 من جميع طلبات الأذونات أو حظرها مؤقتًا.

في الإصدار 59 من Chrome، بدأنا في معالجة هذه المشكلة من خلال حظر الإذن مؤقتًا إذا رفض المستخدم الطلب ثلاث مرات. في الإصدار m63، سيستخدم Chrome لنظام التشغيل Android مربّعات حوار مشروطة لطلبات الأذونات.

يُرجى العلم أنّ هذا الإجراء لا ينطبق على الإشعارات الفورية فقط، بل ينطبق على جميع طلبات الأذونات. إذا طلبت الإذن في الوقت المناسب وفي السياق المناسب، تبيّن لنا أنّ احتمال منح المستخدمين الإذن يزداد بمقدار الضِعف مرّتين ونصف.

وغير ذلك

هذه ليست سوى بعض التغييرات التي طرأت على Chrome 63 للمطوِّرين، ولا شكّ في أنّ هناك تغييرات أخرى كثيرة.

  • أصبح finally متاحًا الآن على مثيلات Promise ويتمّ استدعاؤه بعد Promise تمّ استيفاؤه أو رفضه.
  • تساعدك واجهة برمجة تطبيقات JavaScript لذاكرة الجهاز الجديدة في فهم قيود الأداء من خلال تقديم لمحة عن إجمالي حجم ذاكرة الوصول العشوائي (RAM) على جهاز المستخدم. يمكنك تخصيص تجربتك أثناء التشغيل، ما يقلل من التعقيد على الأجهزة المنخفضة المستوى، ويمنح المستخدمين تجربتًا أفضل مع تقليل الشعور بالانزعاج.
  • تتيح لك واجهة برمجة التطبيقات Intl.PluralRules API إنشاء تطبيقات تتفهّم صيغة الجمع في لغة معيّنة من خلال الإشارة إلى صيغة الجمع التي تنطبق على رقم ولغة معيّنين. ويمكن أن يساعد ذلك في كتابة الأرقام الترتيبية.

احرص على الاشتراك في قناتنا على YouTube، وستصلك إشعارات عبر البريد الإلكتروني عند نشر فيديو جديد.

اسمي "بيت ليبيت"، وسأطلعك على الميزات الجديدة في Chrome فور طرح الإصدار 64.