الجديد في Chrome 67

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

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

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

تطبيقات الويب المتوافقة مع الأجهزة المكتبية

تطبيق الويب التقدّمي لتطبيق Spotify على أجهزة الكمبيوتر المكتبي

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

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

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

يمكنك الاطّلاع على محاضرتي في مؤتمر Google I/O حيث نوضّح بالتفصيل مع "جيني" الملاحظات الفنية والخاصة المتعلقة بالتصميم التي يجب أخذها في الاعتبار عند إنشاء تطبيق ويب تقدّمي لأجهزة الكمبيوتر المكتبي.

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

Generic Sensor API

تُستخدَم بيانات أجهزة الاستشعار في العديد من التطبيقات لتفعيل تجارب مثل الألعاب الغامرة، وتتبُّع مستوى اللياقة البدنية، والواقع المعزّز أو الافتراضي. أصبحت هذه البيانات متوفرة الآن لتطبيقات الويب التي تستخدم Generic Sensor API.

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

const sensor = new Gyroscope({frequency: 500});
sensor.start();

sensor.onreading = () => {
    console.log("X-axis " + sensor.x);
    console.log("Y-axis " + sensor.y);
    console.log("Z-axis " + sensor.z);
};

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

جمعت شركة Intel عدة عروض توضيحية لواجهة برمجة التطبيقات العامة لأجهزة الاستشعار وعيّنات من الرموز البرمجية، كما عدلت المشاركة Sensors for the Web! (أجهزة الاستشعار على الويب) التي نشرتها في أيلول (سبتمبر) لتتضمّن كل ما تحتاج إلى معرفته.

BigInt ثانية

BigInt هي عناصر رقمية أساسية جديدة في JavaScript يمكنها تمثيل الأعداد الصحيحة بدقة عشوائية. لا يمكن تمثيل المعرّفات الصحيحة الكبيرة والطابعات الزمنية العالية الدقة بأمان على أنّها Numbers في JavaScript، ما يؤدي غالبًا إلى حدوث أخطاء في الواقع (ما يؤدي غالبًا إلى تمثيل هذه الأرقام على أنّها سلاسل بدلاً من ذلك).

let max = Number.MAX_SAFE_INTEGER;
// → 9_007_199_254_740_991
max = max + 1;
// → 9_007_199_254_740_992 - Yay!
max = max + 1;
// → 9_007_199_254_740_992 - Uh, no?

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

let max = BigInt(Number.MAX_SAFE_INTEGER);
// → 9_007_199_254_740_991n
max = max + 9n;
// → 9_007_199_254_741_000n - Yay!

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

وغير ذلك

هذه ليست سوى بعض التغييرات في الإصدار 67 من Chrome للمطوّرين، وبالطبع، هناك المزيد.

أصبحت واجهة برمجة التطبيقات Credential Management API متاحة منذ الإصدار 51 من Chrome، وتوفر إطار عمل لإنشاء بيانات الاعتماد واستردادها وتخزينها. وقد تم ذلك من خلال نوعَين من بيانات الاعتماد: PasswordCredential وFederatedCredential. تضيف Web Authentication API نوعًا ثالثًا من بيانات الاعتماد، وهو PublicKeyCredential، والذي يسمح للمتصفّحات بمصادقة مستخدم باستخدام مفتاحَي تشفير خاص/عام تم إنشاؤهما بواسطة معتمِد، مثل مفتاح أمان أو قارئ بصمة أو أي جهاز آخر يمكنه مصادقة مستخدم. يتيح الإصدار 67 من Chrome واجهة برمجة التطبيقات باستخدام مصادقة U2F/CTAP 1 عبر نقل USB على الكمبيوتر المكتبي.

اطّلِع على مزيد من المعلومات في مقالة "إيجيجي" بعنوان تفعيل المصادقة القوية باستخدام WebAuthn.

اختتام مؤتمر Google I/O

إذا لم تتمكن من حضور مؤتمر I/O أو إذا شاركت فيه ولكنك لم تشاهد كل المناقشات المتعلّقة بالويب، يمكنك الاطّلاع على قائمة تشغيل Chrome والويب للتعرّف على آخر الأخبار من Google I/O.

الميزات الجديدة في "أدوات مطوري البرامج"

يُرجى الاطّلاع على الميزات الجديدة في "أدوات مطوّري البرامج في Chrome" للتعرّف على الميزات الجديدة في "أدوات مطوّري البرامج" في الإصدار 67 من Chrome.

اشتراك

بعد ذلك، انقر على الزر اشتراك في قناتنا على YouTube، وستلقّى إشعارًا عبر البريد الإلكتروني كلما طرحنا فيديو جديدًا.

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