الجديد في Chrome 80

نحن بصدد طرح الإصدار 80 من Chrome الآن، وهو يتضمّن الكثير من الميزات الجديدة المخصّصة للمطوّرين.

تتوفّر ميزات الدعم التالية:

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

مشغّلو الوحدات

يتوفّر الآن وضع جديد لمشغّلات الويب، وهو "مشغّلات الوحدات"، والذي يجمع بين ميزات وحدات JavaScript الفعّالة والمصمّمة لتوفير تجربة مريحة. يقبل مُنشئ Worker خيارًا جديدًا {type: "module"}، ما يؤدي إلى تغيير طريقة تحميل النصوص البرمجية وتنفيذها لمطابقة <script type="module">

const worker = new Worker('worker.js', {
  type: 'module'
});

يتيح الانتقال إلى وحدات JavaScript أيضًا استخدام الاستيراد الديناميكي لرمز التحميل البطيء بدون حظر تنفيذ العامل. يمكنك الاطّلاع على مشاركة "جايسون" بعنوان الربط بصفحات الويب باستخدام مشغّلات الوحدات على web.dev للمزيد من التفاصيل.

السلسلة الاختيارية

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

// Error prone-version, could throw.
const nameLength = db.user.name.length;

إنّ التحقّق من كل قيمة قبل المتابعة يؤدي بسهولة إلى إنشاء عبارة if مُدمجة بعمق، أو يتطلّب استخدام كتلة try / catch.

// Less error-prone, but harder to read.
let nameLength;
if (db && db.user && db.user.name)
  nameLength = db.user.name.length;

يضيف الإصدار 80 من Chrome ميزة جديدة في JavaScript تُعرف باسم الربط الاختياري. باستخدام التسلسل الاختياري، إذا عرض أحد السمات قيمة null أو undefined، بدلاً من عرض خطأ، ستعرض العملية بأكملها قيمة undefined.

// Still checks for errors and is much more readable.
const nameLength = db?.user?.name?.length;

يمكنك الاطّلاع على مشاركة المدونة السلسلة الاختيارية في مدوّنة الإصدار 8 لمعرفة كل التفاصيل.

عمليات الترقية في مرحلة التجربة والتقييم

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

المزامنة الدورية في الخلفية

أولاً، المزامنة الدورية في الخلفية: تتم مزامنة البيانات بشكل دوري في الخلفية، بحيث يحصل المستخدم على أحدث البيانات دائمًا عند فتح تطبيقك المتقدّم على الويب المثبَّت.

أداة اختيار جهات الاتصال

في ما يلي Contact Picker API، وهي واجهة برمجة تطبيقات عند الطلب تتيح للمستخدمين اختيار إدخالات من قائمة جهات الاتصال ومشارَكة تفاصيل محدودة من الإدخالات المحدّدة مع موقع إلكتروني.

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

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

ومن بين حالات الاستخدام الأكثر شيوعًا هي تحديد ما إذا كنت تريد الترويج لمحاولة تثبيت تطبيقك المتوافق مع الأجهزة الجوّالة (PWA) إذا لم يكن تطبيقك الأصلي مثبّتًا. أو قد تحتاج إلى إيقاف بعض وظائف أحد التطبيقات إذا كان التطبيق الآخر يقدّم هذه الوظائف.

عمليات التجربة والتقييم الجديدة

Content indexing API

كيف تُعلِم المستخدمين بالمحتوى الذي تم تخزينه مؤقتًا في تطبيقك المتوافق مع الأجهزة الجوّالة؟ هناك مشكلة في الاكتشاف. هل سيعرف المستخدمون كيفية فتح تطبيقك؟ أو ما هو المحتوى الذي يمكن عرضه؟

Content Indexing API هي واجهة برمجة تطبيقات جديدة في مرحلة تجريبية، تتيح لك إضافة عناوين URL والبيانات الوصفية للمحتوى المتوافق مع وضع عدم الاتّصال بالإنترنت إلى فهرس محلي يديره المتصفّح ويمكن للمستخدم رؤيته بسهولة.

const registration = await navigator.serviceWorker.ready;
await registration.index.add({
  id: 'article-123',
  launchUrl: '/articles/123',
  title: 'Article title',
  description: 'Amazing article about things!',
  icons: [{
    src: '/img/article-123.png',
    sizes: '64x64',
    type: 'image/png',
  }],
});

لإضافة عنصر إلى الفهرس، يجب الحصول على تسجيل عامل الخدمة، ثم استدعاء index.add، وتقديم بيانات وصفية عن المحتوى.

بعد تعبئة الفهرس، يتم عرضه في منطقة مخصّصة من صفحة "عمليات التنزيل" في Chrome لنظام Android. يمكنك الاطّلاع على مشاركة "جيف" فهرسة صفحاتك المتوافقة مع وضع عدم الاتّصال بالإنترنت باستخدام Content Indexing API على web.dev للحصول على التفاصيل الكاملة.

عوامل تشغيل الإشعارات

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

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

const swReg = await navigator.serviceWorker.getRegistration();
swReg.showNotification(title, {
  tag: tag,
  body: "This notification was scheduled 30 seconds ago",
  showTrigger: new TimestampTrigger(timestamp + 30 * 1000)
});

لتحديد موعد إرسال إشعار، يُرجى الاتصال برقم showNotification على خدمة worker registration. في خيارات الإشعار، أضِف موقعًا إلكترونيًا على showTrigger باستخدام TimestampTrigger. بعد ذلك، عندما يحين الوقت، سيعرض المتصفّح الإشعار.

من المخطّط أن تستمر مرحلة التجربة والتقييم حتى الإصدار 83 من Chrome، لذا يمكنك الاطّلاع على مشاركة توم بعنوان عوامل تشغيل الإشعارات على web.dev للحصول على التفاصيل الكاملة.

عمليات التجربة والتقييم الأخرى

هناك بعض الفترات التجريبية الأخرى التي تبدأ في الإصدار 80 من Chrome:

  • مسلسل ويب
  • إمكانية تسجيل تطبيقات الويب التقدّمية كمعالِجات ملفات
  • سمات جديدة لأداة اختيار جهات الاتصال

يمكنك الاطّلاع على قائمة كاملة بالميزات في الفترة التجريبية الأصلية.

والمزيد

بالطبع، هناك الكثير من الميزات الأخرى.

  • يمكنك الآن الربط مباشرةً بمقاطع نصية على صفحة باستخدام #:~:text=something. سينتقل Chrome إلى أول مرة يظهر فيها جزء النص هذا ويُميّزها. على سبيل المثال https://en.wikipedia.org/wiki/Rickrolling#:~:text=New%20York
  • يؤدي ضبط الإعداد display: minimal-ui على تطبيق ويب تقدّمي (PWA) على الكمبيوتر المكتبي إلى إضافة زرّين للرجوع وإعادة التحميل إلى شريط العنوان في تطبيق الويب التقدّمي المثبَّت.
  • يتيح Chrome الآن استخدام صور SVG كرموز favicons.

مراجع إضافية

لا يتناول هذا التقرير سوى بعض أهم التفاصيل. يمكنك الاطّلاع على الروابط أدناه للاطّلاع على التغييرات الإضافية في Chrome 80.

اشتراك

إذا أردت البقاء على اطّلاع على فيديوهاتنا، يمكنك الاشتراك في قناة مطوّري Chrome على YouTube، وستتلقّى إشعارًا عبر البريد الإلكتروني عند نشر فيديو جديد.

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