معرفی Chrome Dev Insider

بن گالبریت
Ben Galbraith

توسعه دهندگان اغلب به ما می گویند که همگام شدن با تغییرات در وب و درک دلیل رخ دادن این تغییرات دشوار است. امروز، مجموعه جدیدی به نام Chrome Dev Insider را راه‌اندازی می‌کنیم که در آن (1) چیزهای جالب و خبرساز، (2) بینشی درباره نحوه تصمیم‌گیری درباره یک موضوع کلیدی (مثلاً تغییر FLOC ) یا رویکرد به اشتراک می‌گذاریم. کار ما با اکوسیستم (به عنوان مثال Interop 2022 )، و (3) هر چیز واقعا مهمی که باید در مورد آن بدانید (به عنوان مثال تغییرات در رشته های عامل کاربر ).

همانطور که ما آنچه را که روی آن کار می کنیم به اشتراک می گذاریم، در چارچوب چهار اولویت ما برای سال 2022 خواهد بود:

  • فعال کردن تجربیات کاربر لذت بخش: همه چیز را برای کاربران بصری کنید. چه عملکرد، معاملات، هویت یا انتقال.
  • پیشرفت قابلیت‌های وب: از نقش در حال تکامل وب از یک پلتفرم مصرف محتوا، به بستری برای طیف گسترده‌ای از تجربیات، از جمله تجربیاتی که نیاز به سیستم‌عامل عمیق و ادغام در سطح سخت‌افزار دارند، پشتیبانی کنید.
  • ساده سازی توسعه وب: تصمیم گیری را آسان تر کنید و بهره وری توسعه دهندگان را بهبود بخشید.
  • بهبود حریم خصوصی وب: به انتظارات کاربران وب برای محافظت بهتر از حریم خصوصی داده ها در مواجهه با پیچیدگی روزافزون توسعه دهندگان در ردیابی و هدف گذاری خدمت کنید.

در اخبار: Interop 2022

همانطور که نقشه‌های راه خود را برنامه‌ریزی می‌کنیم، به بازخورد توسعه‌دهندگان نگاه می‌کنیم تا از جمله موارد دیگر، نکات و نیازهای اصلی توسعه‌دهندگان وب را درک کنیم. یک موضوع کلیدی که به طور مکرر نشان داده می شود سازگاری مرورگر است که باعث می شود تجربه در مرورگرها یکسان عمل کند. در طول سال گذشته، ما با اکوسیستم کار کرده ایم تا به این موضوع به عنوان بخشی از اولویت خود برای "ساده سازی توسعه وب" بپردازیم.

سال گذشته، مایکروسافت، کروم و بازیکنان اکوسیستم Compat 2021 را معرفی کردند که منجر شد تمام موتورهای مرورگر محبوب (Chromium، Gecko و Webkit) به امتیاز 90+٪ در پنج حوزه اصلی تمرکز مشخص شده برای سال دست پیدا کنند. از جمله موارد دیگر، Compat 2021 منجر به ایجاد پایه ای محکم برای ویژگی های قدرتمندی مانند CSS Grid ( 12% استفاده و رشد پیوسته ) و CSS Flexbox ( 77% استفاده ) شد.

و ماه گذشته، اپل، بوکوپ، گوگل، ایگالیا، مایکروسافت و موزیلا به عنوان حامیان گرد هم آمدند تا مشکلات برتر سازگاری مرورگرها را که توسط توسعه دهندگان وب شناسایی شده بود حل کنند و بر روی یک معیار مشترک توافق کنند. نتیجه Interop 2022 است، پروژه ای با هدف ایجاد همگنی بیشتر در پلتفرم. این معیار بر روی 15 حوزه اولویتی تمرکز دارد که توسط توسعه دهندگان به عنوان کلیدی برای بهبود بهره وری آنها شناسایی شده است.

Scoop Insider: کار با همتایان مرورگر ما

با توجه به فیلم Interop 2022، من با رابرت نایمن و فیلیپ یاگنشتد که در این گفتگوها شرکت داشتند، نشستم تا داستان داخلی را به دست بیاورم. در اینجا برش سردبیر از نحوه جمع آوری آن است.

منشأ این ابتکار چیست؟

رابرت: همه چیز از سال 2019 شروع شد، زمانی که ما بررسی MDN DNA 2019 را انجام دادیم. مشکلات سازگاری به وضوح به عنوان مشکل اصلی توسعه دهندگانی که برای وب ایجاد می کنند برجسته شد، و ما جزئیات بسیار بیشتری را در گزارش سازگاری مرورگر MDN 2020 پیگیری کردیم. این به ما اطلاعات کافی و داده های عملی داد تا تلاش Compat 2021 را شروع کنیم، که به نوبه خود منجر به ادامه آن کار و همچنین گسترش این دامنه با Interop 2022 شد.

فیلیپ: همچنین می‌خواهم به تست‌های پلتفرم وب و وضعیت CSS 2021 اشاره کنم. ما همکاری قوی با سایر فروشندگان مرورگر برای آزمایش با استفاده از WPT داشته ایم که به سال ها قبل برمی گردد، و ما واقعاً می خواستیم به آن متمایل شویم. آزمایش‌های مربوط به این ویژگی‌ها عمدتاً قبلاً نوشته شده بودند، بنابراین ما فقط باید آزمایش‌ها را مرور می‌کردیم و برخی پوشش‌های گمشده را اضافه می‌کردیم. گوگل روی wpt.fyi سرمایه گذاری زیادی کرده است، اما ما همچنین باید از موزیلا برای موفقیت WPT که امروز است تشکر کنیم. موزیلا البته در بررسی‌های DNA MDN نیز نقش مهمی داشت. فراتر از آن ها، وضعیت CSS 2021 نیز وجود دارد. به منظور گردآوری تلاش هایی مانند Interop 2022، ما نیاز به ورودی تازه ای در مورد نیازهای توسعه دهندگان وب داریم، بنابراین ما با نگهدارنده نظرسنجی Sacha کار کردیم تا سؤالات جدیدی در مورد مسائل سازگاری مرورگر ارائه کنیم. این واقعا به ما در فرآیند برنامه ریزی Interop 2022 کمک کرد.

آیا یادگیری یا بازخوردی از Compat 2021 دارید؟

رابرت: اندازه‌گیری و داشتن امتیازات و بینش در مورد نحوه عملکرد هر موتور مرورگر واقعاً مفید بود، بنابراین می‌توانیم پیشرفت را دنبال کنیم و مطمئن شویم که در مورد موضوعاتی که نامشخص بودند یا باید اولویت‌بندی شوند بحث و بررسی می‌کنیم. ما همچنین به سرعت متوجه شدیم که "اینتراپ" نام بهتری برای ابتکار عمل است. اصطلاحات سازگاری و قابلیت همکاری معمولاً توسط فروشندگان مرورگر متمایز می شوند، جایی که compat به سازگاری سایت اشاره دارد و interop به دو یا چند مرورگر اشاره دارد که رفتار یکسانی دارند. در آن اصطلاح، این تلاش در مورد قابلیت همکاری است و بنابراین پروژه با آن نامگذاری همسو شده است.

چشم انداز ما در اینجا چیست؟

رابرت: برای باز نگه داشتن وب، تنوع موتورهای مرورگر و رندر بسیار مهم است. متأسفانه، این در حال حاضر برای توسعه دهندگان ما که باید با سطوح مختلف پشتیبانی از ویژگی ها در هر موتور هماهنگ باشند، قیمت بالایی دارد. چشم‌انداز ما این است که توسعه‌دهندگان پلتفرم وب را مناسب‌ترین گزینه و جذاب‌ترین انتخاب برای نیازهای خود بدانند و به جای صرف زمان زیاد برای حل مسائل قابلیت همکاری، بر ایجاد بهترین تجربیات ممکن تمرکز کنند. و بسیار واضح است که برای رسیدن به این هدف، ویژگی‌هایی که بیشترین درخواست را دارند باید در تمام موتورهای مرورگر اصلی قرار بگیرند تا واقعاً توسعه‌دهندگان را قادر به موفقیت در پلتفرم وب کنند.

وقتی مرورگرهایی با اهداف متفاوت (گاهی) در کنار هم قرار می‌گیرند، چگونه به طور جمعی کارها را به جلو پیش ببریم؟

فیلیپ: رویکرد ما این بوده است که به دنبال مناطق مورد علاقه مشترک باشیم، تا آن همکاری‌های برد-برد را پیدا کنیم که در آن اهداف تقریباً در یک راستا قرار دارند. و با اولویت‌بندی تعداد محدودی از چیزها برای کار همزمان، تمرکز را به آن حوزه‌ها می‌آوریم و سریع‌تر جلو می‌رویم و کیفیت بالاتری نسبت به زمانی که صرفاً به‌صورت جداگانه کار می‌کردیم، دریافت می‌کنیم. این ایده است.

من فکر می‌کنم مهم است که بدانیم برای این رویکرد مبتنی بر اجماع محدودیت‌هایی وجود دارد، جایی که اهداف به اندازه کافی همسو نیستند، باید از راه دیگری به جلو حرکت کنیم. گاهی اوقات ارائه شواهد بیشتری از نیازهای توسعه‌دهنده وب یا کاربران می‌تواند کمک کند، اما در نهایت فروشندگان مرورگر می‌توانند چیزهایی را ارسال کنند که توافق گسترده‌ای ندارند. در بهترین حالت، ارزش این ویژگی توسط توسعه‌دهندگان وب نشان داده می‌شود که این ویژگی را امتحان می‌کنند، متوجه می‌شوند که این ویژگی نیازهای آن‌ها را برطرف می‌کند، و از همه مرورگرها درخواست می‌کنند که ویژگی یکسانی داشته باشند.

با بازگشت به Interop 2022، آیا می بینیم که ویژگی های غیرطراحی یا چیدمانی در مرحله ای وارد خط لوله می شوند؟

فیلیپ: قطعا! Interop 2022 به ویژگی‌های استایل و چیدمان محدود نشد، اما در نهایت به شدت به سمت CSS متمایل شد. تا حدی به این دلیل که State of CSS 2021 تازه بود، اما همچنین به این دلیل که توسعه دهندگان وب به ما گفته اند که اینجاست که بیشترین مشکل را با تفاوت بین مرورگرها دارند. حوزه‌های فوکوس چندگانه، مانند عناصر فرم و گفتگو، فراتر از CSS هستند، و ما همچنین تلاش‌هایی در زمینه ویرایش APIها و رویدادهای اشاره‌گر و ماوس داریم. امیدوارم که برای Interop 2023، داده های تازه تری در مورد نیازهای توسعه دهندگان در سرتاسر وب داشته باشیم و از این قبیل ویژگی ها در این تلاش استفاده کنیم.

تغییرات کلیدی آینده

یکی از اهداف این مجموعه این است که توسعه دهندگان را در مورد تغییرات کلیدی آینده آگاه کند. مواردی که برای بهبود تجربه کاربر و قابلیت‌های پلتفرم مهم هستند.

جدول زمانی ذکر شده در زیر زمانی است که انتظار داریم این تغییرات رخ دهد. با این حال، ممکن است نسخه های انتشار برای ویژگی ها ممکن است تغییر کند.

کاهش عامل کاربر

هدر User-Agent - و رابط‌های JS مرتبط با آن - نه تنها اطلاعات مفید مرورگر و دستگاه را منتقل می‌کند، بلکه میراثی از اصل و نسب و اطلاعات نادرست را نیز به همراه دارد. مشکل سازتر از عرضه تقریباً بی پایان اشکالات تجزیه رشته UA این است که به صورت غیرفعال برای همه درخواست های ناوبری و منابع فرعی به سرورها ارسال می شود. این تقریباً 10 بیت آنتروپی را نشان می دهد که سرورها می توانند از آن برای ایجاد شناسه های ردیابی پایدار در حین حرکت کاربران در وب استفاده کنند.

برنامه فعلی ما کاهش رشته UA موجود با ادامه ارسال نسخه اصلی مرورگر با آنتروپی پایین، نام پلتفرم و قابلیت حمل و نقل ، و منجمد کردن اطلاعات آنتروپی بالا است . برای موارد استفاده که نیاز به اطلاعات بیشتری نسبت به هدر دارند، از Chrome 89 ، User-Agent Client Hints API را ارسال کرده‌ایم.

ما یک آزمایش اولیه را به مدت 6 ماه برای آزمایش و بازخورد انجام دادیم و خوشحال بودیم که با وجود داشتن بیش از 200 شرکت‌کننده، بازخوردی در رابطه با شکستگی دریافت نکردیم.

Local Fonts Access API

Chrome در حال راه اندازی Local Font Access API است. اگرچه سایت‌ها مدت‌هاست که می‌توانند از فونت‌های محلی استفاده کنند، این API فهرست فونت‌های محلی را برمی‌شمارد و به خود داده‌های فونت دسترسی می‌دهد. این قابلیت به کاربران این امکان را می دهد که از تمام فونت های خود با طراحی مبتنی بر وب و سایر برنامه ها استفاده کنند.

فونت های محلی مدت هاست که به عنوان یک بردار اثر انگشت شناخته می شوند. اگرچه این API جدید توانایی استفاده از فونت‌ها را برای اثرانگشت افزایش نمی‌دهد، کروم از کاربر می‌خواهد قبل از اینکه بتواند از API دسترسی به قلم "local-fonts" جدید برای یک سایت بدهد.

در آینده، ما قصد داریم قبل از استفاده از هر API دیگری که دسترسی به فونت‌های محلی را فراهم می‌کند، همان مجوز «فنت‌های محلی» را بخواهیم.

کارکرد BFCache با Cache-control: no-store

ما یک فرصت قابل توجه برای بهبود تعداد دفعاتی که حافظه پنهان Back/Forward می تواند مسیریابی فوری به عقب/ جلو را ارائه دهد، شناسایی کرده ایم. این امر مستلزم تغییر در نحوه رفتار BFCache در صفحاتی است که با هدر Cache-control: no-store HTTP ارائه می‌شوند. ما یک پیشنهاد عمومی داریم که با نظارت بر سیگنال‌های مختلف (به عنوان مثال حذف صفحات از BFCache هر زمان که یک کوکی فقط HTTP تغییر می‌کند) و حک کردن (مثلاً خط‌مشی گروهی برای مشتریان Enterprise/Edu) برای زمینه‌های منحصر به فرد، طراحی شده است. این یک فرصت پیچیده اما هیجان انگیز است، و ما دوست داریم بررسی دقیق و بازخورد بیشتری داشته باشیم!

  • جدول زمانی: هدف قرار دادن Chrome 104 (22 ژوئیه)، با فرض اینکه هیچ شگفتی بزرگی وجود نداشته باشد.
  • فراخوان اقدام: برای جزئیات بیشتر، از جمله نحوه فعال کردن اجرای کار در حال انجام، و راه‌های به اشتراک گذاشتن بازخورد مانند سناریوهای واقعی که در آن رویکرد ما موانع جدیدی ایجاد می‌کند، پیشنهاد را ببینید.

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

تا آن زمان، وب سایت مبارک.

نظر شما در مورد اولین نسخه The Chrome Dev Insider چیست؟ بازخورد خود را به اشتراک بگذارید .