در اینجا چیزی است که شما باید بدانید:
- ویژگی مانیفست
id
به شما امکان می دهد یک شناسه منحصر به فرد برای PWA خود تعیین کنید. - ویژگی
protocol_handlers
به شما این امکان را می دهد که پس از نصب، PWA خود را به عنوان یک کنترل کننده پروتکل به طور خودکار ثبت کنید. - آزمایش مبدا نکات اولویت به شما امکان می دهد اولویت واکشی را برای دانلود منابع مشخص کنید.
- میتوانید نسخه Chrome را به 100 وادار کنید تا نحوه واکنش کدتان به شماره نسخه سه رقمی را آزمایش کنید.
- ویدیوهای Chrome Dev Summit همه آنلاین هستند.
- و چیزهای بیشتری وجود دارد.
من Pete LePage هستم، بالاخره در استودیو فیلمبرداری میکنم، بیایید به داخل آن شیرجه بزنیم و ببینیم چه چیز جدیدی برای توسعهدهندگان در Chrome 96 وجود دارد.
id
مانیفست برای PWA ها
هنگامی که کاربر یک PWA را نصب می کند، مرورگر به راهی برای شناسایی منحصر به فرد آن نیاز دارد. اما، تا همین اواخر، مشخصات مانیفست برنامه وب نحوه شناسایی PWA را مشخص نمیکرد و مرورگرها را به تصمیمگیری میسپرد و منجر به پیادهسازیهای مختلف میشد. در برخی از مرورگرها از start_url
استفاده می شود در حالی که در برخی دیگر از مسیر فایل مانیفست استفاده می شود.
این امر تغییر هر یک از این زمینه ها را بدون شکستن تجربه نصب غیرممکن می کند. اکنون، یک ویژگی id
اختیاری جدید وجود دارد که به شما امکان میدهد به صراحت شناسه مورد استفاده برای PWA خود را تعریف کنید.
افزودن ویژگی id
به مانیفست وابستگی به start_url
یا مکان مانیفست را حذف می کند و امکان به روز رسانی آن فیلدها را فراهم می کند.
{
...
id: "/?homescreen=1",
start_url: "/?homescreen=1",
...
}
پشتیبانی از ویژگی id
در مرورگرهای مبتنی بر Chromium دسکتاپ که از Chrome 96 شروع میشود. پشتیبانی از تلفن همراه که در حال حاضر از نشانی اینترنتی مانیفست به عنوان شناسه منحصربهفرد استفاده میکند، باید در نیمه اول سال 2022 ارائه شود.
اگر قبلاً یک PWA در حال تولید دارید و میخواهید یک id
به مانیفست خود اضافه کنید، باید از شناسهای که توسط مرورگر اختصاص داده شده است استفاده کنید. id
را میتوانید در قسمت Manifest پنل Application در Dev Tools پیدا کنید.
برای یک PWA کاملاً جدید، میتوانید id
را روی هر مقدار رشتهای که دوست دارید تنظیم کنید، اما به یاد داشته باشید که در آینده نمیتوانید آن را تغییر دهید، بنابراین عاقلانه انتخاب کنید.
{
...
id: "SquooshApp",
start_url: "/?homescreen=1",
...
}
برای اطلاعات بیشتر ، شناسایی منحصر به فرد PWA ها را با ویژگی شناسه مانیفست برنامه وب بررسی کنید.
کنترل کننده های پروتکل URL برای PWA ها
برنامه های وب می توانند از navigator.registerProtocolHandler()
برای ثبت به عنوان یک کنترل کننده پروتکل استفاده کنند. به عنوان مثال، Gmail می تواند پروتکل mailto
را ثبت کند. سپس وقتی کاربر روی پیوندی با پیشوند mailto:
کلیک می کند، Gmail باز می شود و ارسال ایمیل را برای کاربر آسان می کند.
با شروع کروم 96، یک PWA می تواند به عنوان یک کنترل کننده پروتکل به عنوان بخشی از نصب خود ثبت شود. برای انجام این کار برای PWA خود، یک ویژگی protocol_handlers
را به مانیفست برنامه وب خود اضافه کنید، protocol
را که می خواهید مدیریت کنید، و url
که باید با کلیک کردن باز شود را مشخص کنید.
...
"protocol_handlers": [
{
"protocol": "web+tea",
"url": "/tea?type=%s"
},
{
"protocol": "web+coffee",
"url": "/coffee?type=%s"
}
]
}
در اینجا محدودیتهایی وجود دارد، و شما نمیتوانید هر پروتکلی را ثبت کنید، بنابراین برای جزئیات کامل، و اینکه چگونه میتوانید از دستور web+
برای ایجاد پروتکلهای خود استفاده کنید ، ثبت نام کنترل کننده پروتکل URL برای PWA را بررسی کنید!
نکات اولویت (نسخه آزمایشی)
هنگامی که یک مرورگر یک صفحه وب را تجزیه می کند و شروع به کشف و دانلود منابعی مانند تصاویر، اسکریپت ها یا CSS می کند، برای تلاش برای بهینه سازی بارگذاری صفحه، اولویت واکشی به آنها اختصاص می دهد. مرورگرها در تعیین اولویت ها بسیار خوب هستند، اما ممکن است در همه موارد بهینه نباشند.
نکات اولویت یک ویژگی آزمایشی است که بهعنوان نسخه آزمایشی اولیه در Chrome 96 در دسترس است و میتواند به بهینهسازی Core Web Vitals کمک کند. ویژگی importance
به شما امکان می دهد اولویت را برای انواع منابع مانند CSS، فونت ها، اسکریپت ها، تصاویر و iframes مشخص کنید.
<!-- We don't want a high priority for this above-the-fold image -->
<img src="/not-important.svg" importance="low">
<!-- Initiate an early fetch for a resource, but de-prioritize it -->
<link rel="preload" href="/script.js" as="script" importance="low">
<script>
fetch('https://example.com/', {importance: 'high'})
.then(data => {
// Trigger a high priority fetch
});
</script>
برای مثال، اینجا صفحه Google Flights است. آن تصویر پسزمینه بزرگترین رنگ پر محتوا (LCP) است.
بیایید آن را با بارگذاری و بدون نکات اولویت ببینیم. با تنظیم اولویت روی high
در تصویر پس زمینه، LCP از 2.6 ثانیه به 1.9 ثانیه کاهش می یابد.
بهینه سازی بارگیری منبع با Fetch Priority API را برای همه جزئیات، نحوه ثبت نام برای نسخه آزمایشی اصلی، و چند نمونه عالی از این که چگونه می تواند به بهبود عملکرد رندر شما کمک کند، بررسی کنید.
کروم 100 را در رشته UA شبیه سازی کنید
در اوایل سال آینده، کروم 100، یک شماره نسخه سه رقمی را عرضه خواهیم کرد. هر کدی که شماره نسخه ها را بررسی می کند، یا رشته UA را تجزیه می کند، باید بررسی شود تا مطمئن شوید که سه رقم را کنترل می کند.
از Chrome 96، یک پرچم جدید #force-major-version-to-100
وجود دارد که شماره نسخه فعلی را به 100 تغییر میدهد، بنابراین میتوانید مطمئن شوید که همه چیز همانطور که انتظار میرود کار میکند.
برای جزئیات ، به اجبار نسخه اصلی Chrome به 100 در رشته User-Agent مراجعه کنید.
Chrome Dev Summit
Chrome Dev Summit یک مجموعه است. همه ویدیوها و مطالب به صورت آنلاین در دسترس هستند. سایت Chrome Dev Summit را بررسی کنید، یا اگر سخنرانی اصلی یا پخش زنده را از دست دادید، فهرست پخش CDS را در کانال YouTube Developers Chrome بررسی کنید.
و بیشتر!
البته چیزهای بیشتری وجود دارد.
- کش Back، Forward – یا
bfcache
– اکنون به صورت پایدار در دسترس است و کروم را با فایرفاکس و سافاری هماهنگ می کند.
در ادامه مطلب
این تنها برخی از نکات کلیدی را پوشش می دهد. برای تغییرات بیشتر در کروم 96 پیوندهای زیر را بررسی کنید.
- موارد جدید در Chrome DevTools (96)
- لغو و حذف Chrome 96
- بهروزرسانیهای ChromeStatus.com برای Chrome 96
- موارد جدید در جاوا اسکریپت در کروم 96
- فهرست تغییر مخزن منبع Chromium
- تقویم انتشار کروم
مشترک شوید
برای بهروز ماندن، در کانال YouTube Developers Chrome مشترک شوید و هر زمان که ویدیوی جدیدی را راهاندازی کنیم، یک اعلان ایمیلی دریافت خواهید کرد.
من پیت لی پیج هستم و به محض اینکه کروم 97 منتشر شد، اینجا خواهم بود تا به شما بگویم چه چیزی در کروم جدید است!