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

نحن بصدد طرح الإصدار 79 من Chrome الآن.

  • تتيح الآن تطبيقات الويب التقدّمية المثبَّتة على Android استخدام الرموز القابلة للتمويه.
  • يمكنك الآن إنشاء تجارب شاملة باستخدام واجهة برمجة التطبيقات WebXR Device API.
  • تتوفّر واجهة برمجة التطبيقات Wake Lock API في مرحلة التجربة والتقييم.
  • تتوفّر السمة rendersubtree كخيار بديل لتحديد مصدر البيانات.
  • أصبحت الفيديوهات من Chrome DevSummit متاحة على الإنترنت الآن.
  • وهناك الكثير غير ذلك.

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

الرموز القابلة للإخفاء

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

يتوافق الإصدار 79 من Chrome الآن مع الرموز التي يمكن إخفاؤها لتطبيقات الويب التقدّمية المثبَّتة.عليك تصميم رمزك ليلائم المساحة الآمنة، وهي دائرة بقطر يمثّل% 80 من مساحة اللوحة.

بعد ذلك، في ملف بيان تطبيق الويب، عليك إضافة سمة purpose جديدة إلى الرمز، وضبط قيمتها على maskable.


{
  ...
  "icons": [
    ...
    {
      "src": "path/to/maskable_icon.png",
      "sizes": "196x196",
      "type": "image/png",
      "purpose": "maskable"
  ]
  ...
}

نشر Tiger Oakes مشاركة رائعة على CSS Tricks بعنوان رموز قابلة للتمويه: رموز Android المتوافقة لتطبيقات الويب التقدّمية تتضمّن كل التفاصيل، كما تضمّ أداة رائعة يمكنك استخدامها لاختبار رموزك للتأكّد من أنّها مناسبة.

الواقع الممتد على الويب

يمكنك الآن إنشاء تجارب غامرة للهواتف الذكية وأحد الشاشات التي يتم تركيبها على الرأس باستخدام WebXR Device API.

يوفّر WebXR مجموعة كاملة من التجارب الغامرة. بدءًا من استخدام الواقع المعزّز لرؤية شكل أريكة جديدة في منزلك قبل شرائها، ووصولاً إلى ألعاب الواقع الافتراضي وأفلام 360 درجة وغير ذلك.

لبدء استخدام واجهة برمجة التطبيقات الجديدة، يُرجى الاطّلاع على المقالة الواقع الافتراضي على الويب.

تجارب مصادر جديدة

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

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

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

يمكنك الاطّلاع على مزيد من المعلومات حول تجارب المصدر في دليل تجارب المصدر لمطوّري الويب. يمكنك الاطّلاع على قائمة بالإصدارات التجريبية النشطة من الإصدارات العلنية والاشتراك فيها من خلال صفحة الإصدارات التجريبية من Chrome.

قفل التنشيط

من أكثر الأمور التي تثير استيائي في "العروض التقديمية من Google" هي أنّه في حال تركت الجدول الزمني مفتوحًا على شريحة واحدة لفترة طويلة جدًا، يتم تفعيل شاشة الاستراحة. قبل المتابعة، عليك فتح قفل جهاز الكمبيوتر. عفوًا.

ولكن باستخدام واجهة برمجة التطبيقات الجديدة Wake Lock API، يمكن للصفحة طلب قفل ومنع تعتيم الشاشة أو تفعيل شاشة الاستراحة. وهو مثالي لتطبيق Slides، ولكنه مفيد أيضًا في ما يتعلّق بالمواقع الإلكترونية التي تعرض وصفات الطعام، حيث قد تحتاج إلى إبقاء الشاشة مضاءة أثناء اتّباع التعليمات.

لطلب قفل تنبيه، عليك استدعاء navigator.wakeLock.request()، وحفظ عنصر WakeLockSentinel الذي يعرضه.

// The wake lock sentinel.
let wakeLock = null;

// Function that attempts to request a wake lock.
const requestWakeLock = async () => {
  try {
    wakeLock = await navigator.wakeLock.request('screen');
    wakeLock.addEventListener('release', () => {
      console.log('Wake Lock was released');
    });
    console.log('Wake Lock is active');
  } catch (err) {
    console.error(`${err.name}, ${err.message}`);
  }
};

يتم الاحتفاظ بالقفل إلى أن ينتقل المستخدم إلى صفحة أخرى، أو عندما تتصل release بالعنصر WakeLockSentinel الذي حفظته سابقًا.

// Function that attempts to release the wake lock.
const releaseWakeLock = async () => {
  if (!wakeLock) {
    return;
  }
  try {
    await wakeLock.release();
    wakeLock = null;
  } catch (err) {
    console.error(`${err.name}, ${err.message}`);
  }
};

يمكنك الاطّلاع على مزيد من التفاصيل على web.dev/wakelock.

سمة واحدة (rendersubtree)

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

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

عند ضبط rendersubtree على invisible، لا يتم رسم محتوى العنصر أو اختباره، ما يتيح تحسينات في العرض.

يؤدي تغيير القيمة rendersubtree إلى activatable إلى ظهور المحتوى من خلال إزالة السمة invisible وعرض المحتوى.

مؤتمر Chrome Dev Summit لعام 2019

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

لدى جايك أيضًا سلسلة محادثات رائعة على Twitter تحتوي على جميع المواضيع الممتعة التي ناقشناها خلال المحادثتَين، بما في ذلك سورجيكو، وهي عضو جديد في فريقنا.

مراجع إضافية

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

اشتراك

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

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