جدید در کروم 67

  • برنامه های وب پیشرو به دسکتاپ می آیند
  • API سنسور عمومی دسترسی به حسگرهای دستگاه مانند شتاب‌سنج، ژیروسکوپ و موارد دیگر را آسان‌تر می‌کند.
  • و BigInt کار با اعداد صحیح بزرگ را آسان تر می کند.

و خیلی چیزهای دیگر وجود دارد!

من پیت لی پیج هستم. بیایید وارد آن شویم و ببینیم چه چیز جدیدی برای توسعه دهندگان در Chrome 67 وجود دارد!

لیست کامل تغییرات را می خواهید؟ فهرست تغییرات مخزن منبع Chromium را بررسی کنید.

PWA های رومیزی

برنامه وب پیشرو دسکتاپ Spotify

برنامه‌های وب پیشرو دسکتاپ اکنون در ChromeOS 67 پشتیبانی می‌شوند و ما قبلاً کار روی پشتیبانی از Mac و Windows را آغاز کرده‌ایم. پس از نصب، آنها مانند سایر برنامه ها راه اندازی می شوند و در یک پنجره برنامه بدون نوار آدرس یا برگه ها اجرا می شوند. کارکنان خدمات اطمینان حاصل می کنند که سریع و قابل اعتماد هستند، تجربه پنجره برنامه به آنها احساس یکپارچگی می دهد. و تجربه ای جذاب برای کاربران شما ایجاد می کنند.

شروع با کاری که امروز انجام می دهید تفاوتی ندارد. تمام کارهایی که برای برنامه وب پیشرو موجود خود انجام داده اید هنوز هم اعمال می شود ، فقط باید چند نقطه استراحت اضافی را در نظر بگیرید.

اگر برنامه شما معیارهای استاندارد PWA را داشته باشد، Chrome رویداد beforeinstallprompt را فعال می‌کند، اما به‌طور خودکار از کاربر درخواست نمی‌کند. در عوض، رویداد را ذخیره کنید. سپس، مقداری رابط کاربری - مانند دکمه نصب برنامه - به برنامه خود اضافه کنید تا به کاربر بگویید برنامه شما قابل نصب است. سپس، هنگامی که کاربر روی دکمه کلیک می‌کند، در رویداد ذخیره شده با فرمان تماس بگیرید. سپس کروم این درخواست را به کاربر نشان می دهد. اگر روی افزودن کلیک کنند، Chrome PWA شما را به قفسه و راه‌انداز خود اضافه می‌کند.

گفتگوی Google I/O من را بررسی کنید، جایی که من و جنی در مورد ملاحظات فنی و طراحی ویژه ای که باید در هنگام ساختن یک برنامه وب پیشرو دسکتاپ به آنها فکر کنید، به جزئیات می پردازیم.

و اگر می خواهید بازی با این را در مک یا ویندوز شروع کنید - پست کامل Desktop Progressive Web App را برای جزئیات در مورد نحوه فعال کردن پشتیبانی با یک پرچم بررسی کنید.

Generic Sensor API

داده‌های حسگر در بسیاری از برنامه‌ها برای فعال کردن تجربه‌هایی مانند بازی همهجانبه، ردیابی تناسب اندام، و واقعیت افزوده یا مجازی استفاده می‌شود. این داده‌ها اکنون با استفاده از Generic Sensor API برای برنامه وب در دسترس هستند.

API از یک رابط حسگر پایه با مجموعه ای از کلاس های حسگر بتن ساخته شده در بالا تشکیل شده است. داشتن یک رابط پایه، فرآیند اجرا و مشخصات را برای کلاس های حسگر بتن ساده می کند. به عنوان مثال، کلاس ژیروسکوپ بسیار کوچک است!

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);
};

عملکرد اصلی توسط رابط پایه مشخص می شود و ژیروسکوپ صرفاً آن را با سه ویژگی نشان دهنده سرعت زاویه ای گسترش می دهد. Chrome 67 از شتاب‌سنج، ژیروسکوپ، سنسور جهت‌گیری و حسگر حرکت پشتیبانی می‌کند.

اینتل چندین نسخه نمایشی از API سنسورهای عمومی و کد نمونه را گردآوری کرده است، و آنها همچنین Sensors برای وب را به روز کرده اند! پست از سپتامبر با همه چیزهایی که باید بدانید.

BigInt s

BigInt s یک عدد ابتدایی جدید در جاوا اسکریپت است که می تواند اعداد صحیح را با دقت دلخواه نمایش دهد. شناسه‌های اعداد صحیح بزرگ و مُهرهای زمانی با دقت بالا نمی‌توانند به‌طور ایمن به‌عنوان Numbers در جاوا اسکریپت نمایش داده شوند، که اغلب منجر به باگ‌های دنیای واقعی می‌شود (به این دلیل که ما اغلب به جای آن، اعدادی را به‌عنوان رشته نمایش می‌دهیم).

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 s ، می‌توانیم با خیال راحت محاسبات اعداد صحیح را بدون سرریز کردن ذخیره و انجام دهیم. امروزه، برخورد با اعداد صحیح بزرگ معمولاً به این معنی است که ما باید به کتابخانه ای متوسل شویم که عملکردی شبیه 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 برای توسعه دهندگان است، البته موارد بسیار بیشتری نیز وجود دارد.

Credential Management API از Chrome 51 پشتیبانی می‌شود و چارچوبی برای ایجاد، بازیابی و ذخیره اعتبارنامه‌ها فراهم می‌کند. این کار را از طریق دو نوع اعتبار انجام داد: PasswordCredential و FederatedCredential . Web Authentication API نوع سومی به نام PublicKeyCredential را اضافه می‌کند که به مرورگرها اجازه می‌دهد تا یک کاربر را با یک جفت کلید خصوصی/عمومی که توسط یک احراز هویت مانند کلید امنیتی، خواننده اثر انگشت یا هر دستگاه دیگری که می‌تواند کاربر را احراز هویت می‌کند، احراز هویت کنند. Chrome 67 API را با استفاده از احراز هویت U2F/CTAP 1 از طریق انتقال USB روی دسک‌تاپ فعال می‌کند.

در پست Eiji's Enabling Strong Authentication with WebAuthn درباره آن بیشتر بیاموزید.

Google I/O یک بسته بندی است

اگر به I/O نرسیدید، یا ممکن است انجام دادید، اما همه گفتگوهای وب را ندیدید، فهرست پخش Chrome و وب را بررسی کنید تا با جدیدترین‌های Google I/O آشنا شوید!

جدید در DevTools

حتماً New in Chrome DevTools را بررسی کنید تا بدانید چه چیزهای جدیدی برای DevTools در Chrome 67 وجود دارد.

مشترک شوید

سپس، روی دکمه اشتراک در کانال YouTube ما کلیک کنید، و هر زمان که یک ویدیوی جدید را راه اندازی کنیم، یک اعلان ایمیل دریافت خواهید کرد.

من Pete LePage هستم، و به محض اینکه Chrome 68 منتشر شد، اینجا خواهم بود تا به شما بگویم -- چه چیزهای جدیدی در Chrome وجود دارد!