Blink Intent چیست؟

هنگامی که مهندسان می‌خواهند در موتور رندر Blink تغییری ایجاد کنند، در لیست پستی blink-dev پست می‌کنند تا تأییدیه ادامه کار را دریافت کنند. این پست‌های لیست پستی ، اهداف چشمک زدن نامیده می‌شوند.

مرورگرهای وب مبتنی بر Chromium از موتور رندر Blink برای تبدیل کد و منابع به صفحات وب استفاده می کنند که می توانید مشاهده کنید و با آنها تعامل داشته باشید.

لیست پستی blink-dev .

دریابید که اهداف Blink چگونه کار می کنند، چرا مهم هستند، و چگونه ویژگی های جدید راه خود را به Blink باز می کنند.

Chromium پروژه مرورگر منبع باز است که کروم و برخی مرورگرها و فریمورک های دیگر بر روی آن ساخته شده اند. Blink موتور رندر مورد استفاده Chromium است.

برای اینکه یک ویژگی جدید در Blink قرار بگیرد، باید فرآیند توسعه باز پروژه Chromium را طی کند. "ویژگی جدید" هر تغییر یا افزودن به کد یا معماری مرورگر است. این می تواند یک API جدید جاوا اسکریپت، بهبود عملکرد قابل توجه در کد Blink یا تغییر دیگری در ظاهر یا عملکرد مرورگر باشد.

یک فرآیند باز و مشارکتی

Chromium یک پروژه عظیم و پیچیده با هزاران مشارکت کننده است. وقتی تغییراتی در Chromium ایجاد می‌شود، هر نقطه عطف فرصتی برای دعوت از اکوسیستم وب گسترده‌تر برای اظهار نظر در مورد طراحی و پیاده‌سازی است.

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

برای کاربران، فروشندگان مرورگر باید مراقب باشند که تغییرات باعث توقف کار وب سایت ها نشود. صاحبان سایت اغلب نگهداری وب سایت ها را متوقف می کنند. برخی از سایت ها چندین دهه است که به روز نشده اند! هنگام ایجاد تغییراتی که ممکن است باعث شکستگی شود، فروشندگان مرورگر باید این را در نظر بگیرند.

از ایده تا پیشنهاد

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

مثال: FedCM

مدیریت اعتبار فدرال ( FedCM ) یک API برای ارائه مکانیسم‌های جدید و بهتر برای پلتفرم‌هایی است که ثبت نام و ورود کاربر را مدیریت می‌کنند، که به عنوان هویت فدرال شناخته می‌شود—مثلاً زمانی که «ورود با Google» یا «ورود با GitHub» را انتخاب می‌کنید.

هنگامی که پیشنهادی مانند FedCM برای بحث عمومی آماده شد، به عنوان توضیح دهنده در GitHub منتشر می شود. در این مرحله، هر کسی می تواند با ایجاد یک مشکل در مخزن توضیح دهنده در GitHub، یک سوال یا نظر در مورد طراحی یک ویژگی بپرسد. بازخورد ممکن است موارد استفاده یا محدودیت‌های اضافی را توصیف کند، ایده‌هایی برای بهبود ارائه دهد - یا فقط حمایت نشان دهد.

توضیح دهنده FedCM در GitHub .

هنگامی که یک پروپوزال توسط یک نهاد استانداردسازی، مانند W3C پذیرفته شد، سهامداران می توانند به بحث ها بپیوندند و ارائه ها را در گروه های استاندارد وب مانند گروه های کاری W3C تماشا کنند.

برای هر نقطه عطفی که مهندسان در حال کار بر روی یک ویژگی جدید یا تغییر در موتور رندر Blink هستند، یک پست در گروه بحث blink-dev منتشر می‌کنند و توضیح می‌دهند که قصد دارند به مرحله بعدی برای اجرای یک ویژگی بروند. به این پست ها «نیت» می گویند. هرکسی می‌تواند در گروه blink-dev مشترک شود تا از پیشرفت ویژگی‌های جدید در Blink مطلع شود، یا برای به‌روزرسانی در یک ویژگی جداگانه مشترک شود.

Intent to Prototype: اولین ایست بازرسی

در این مرحله، مهندسان کروم می‌توانند اجرای یک ویژگی را آغاز کنند. این بدان معناست که عملکرد نمونه اولیه این ویژگی ممکن است برای آزمایش توسعه‌دهنده پشت پرچم ویژگی ، ابتدا در Chrome Canary و سپس در کانال‌های انتشار دیگر در دسترس باشد. هر کاربری می تواند یک پرچم از صفحه chrome://flags برای فعال کردن و آزمایش یک ویژگی در مرورگر خود تنظیم کند.

با این حال، همه پرچم‌ها را نمی‌توان از صفحه chrome://flags تنظیم کرد. برای کنترل دقیق‌تر، می‌توانید Chrome را از ترمینال و با استفاده از پرچم‌های خط فرمان اجرا کنید. به خاطر داشته باشید که برخی از ویژگی‌های جدید تا زمانی که این ویژگی برای آزمایش در Chrome Canary ارسال نشود، در دسترس نیستند - اگرچه این بسیار نادر است. برخی از ویژگی‌ها پرچم خاص خود را ندارند، اما اگر پرچم ویژگی‌های آزمایشی-وب-پلتفرم فعال باشد، در دسترس قرار می‌گیرند. این به طور کلی در مورد ویژگی های "کوچکتر" است که حداکثر سه تا شش ماه برای پیاده سازی طول نمی کشد.

جمع آوری بازخورد در مورد نمونه های اولیه

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

مشکلی در ردیاب مشکلات Chromium ایجاد کنید.

قصد آزمایش: آزمایش در دنیای واقعی

اگر مهندسان Chrome بخواهند درخواست اجرای آزمایشی اصلی را داشته باشند، یک پست Intent to Experiment در blink-dev مرحله بعدی اختیاری است.

قصد آزمایش برای FedCM .

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

فهرستی از نسخه آزمایشی Chrome Origin موجود .

برای ادامه پیشرفت در اجرای یک ویژگی، دارندگان Blink API باید با پاسخ دادن به یک هدف با یک پست "به نظر من خوب است"، که به عنوان LGTM شناخته می شود، تایید خود را اعلام کنند.

مالکان Blink API گروه کوچکی از مشارکت‌کنندگان Chromium هستند که در زمینه پلتفرم وب و APIهای آن بسیار با تجربه هستند و جامعه Blink با تعهد به مأموریت و ارزش‌های Blink موافقت کرده‌اند که در وضعیت خوبی باشند. علاوه بر تأیید (یا نه!) برای ادامه اجرای ویژگی ها، صاحبان API بر فرآیند Blink Intent نظارت می کنند.

یک Intent to Experiment باید حداقل یک LGTM از صاحبان API دریافت کند.

LGTMها در FedCM Intent to Experiment پست دارند .

ارزش آزمایشات مبدا

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

قصد کشتی: نقطه عطف نهایی

Intent to Ship نشان می‌دهد که یک ویژگی اکنون کامل است و برای همه کاربران در Chrome Stable بدون نیاز به پرچم یا نشانه آزمایشی برای در دسترس بودن عمومی آماده است. قبل از ادامه اجرا، یک Intent to Ship باید سه LGTM از صاحبان API دریافت کند.

ارائه ویژگی های جدید

پس از تأیید، یک ویژگی در نسخه بعدی ادغام می‌شود و سپس از طریق کانال‌های انتشار Chrome پیشرفت می‌کند. آزمایش و پیاده سازی ویژگی های جدید اغلب با دقت خاصی انجام می شود. برخی از ویژگی‌ها به تدریج برای تعداد فزاینده‌ای از کاربران عرضه می‌شوند. در صورت وجود عوارض جانبی غیرمنتظره، می‌توان ویژگی‌ها را به عقب بازگرداند و دوباره کار کرد.

مدیریت چرخه عمر ویژگی: منسوخ شدن و حذف

دو نوع دیگر از قصد چشمک زدن وجود دارد:

  • قصد منسوخ کردن
  • قصد حذف

اینها ممکن است کمی غم انگیز به نظر برسند، اما در واقع برای موفقیت توسعه Blink بسیار مهم هستند.

زمانی که مهندسان می خواهند به توسعه دهندگان هشدار دهند که یک ویژگی برنامه ریزی شده است، یک Intent to Deprecate توسط مهندسان پست می شود. به عنوان مثال، با ارائه پشتیبانی و اطلاعات در مورد منسوخ شدن در کنسول Chrome DevTools.

زمانی که مهندسان قصد دارند کد را به طور پیش فرض غیرفعال کنند، یک Intent to Remove پست می شود.

LGTM در Intents to Deprecate در blink.dev .

اهمیت استهلاک و حذف

منسوخ شدن و حذف هر دو برای سلامت پلتفرم وب حیاتی هستند. آنها مطمئن می‌شوند که Chrome می‌تواند ویژگی‌هایی را که برای کاربران نهایی یا توسعه‌دهندگان وب خوب کار نمی‌کنند حذف کند و به کاهش پیچیدگی پایگاه کد کمک کند. به عنوان مثال، مشکلات طراحی AppCache هنگامی که در سایت های تولیدی در مرورگرهای پایدار استفاده شد، کشف شد و API در نهایت حذف شد. لغو و حذف نیز با کاهش بردارهای حمله احتمالی، به ایمن و ایمن نگه داشتن Chrome کمک می کند.

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

می‌توانید پیشرفت ویژگی‌ها را در وضعیت Chrome ردیابی کنید، جایی که می‌توانید مشترک به‌روزرسانی‌ها، اشکالات فایل، و منابع دیگر شوید.

نقشه راه ویژگی کروم در chromestatus.com .

برای ردیابی ویژگی‌های جدید، می‌توانید وبلاگ Chromium را دنبال کنید. می‌توانید با پیوستن به گروه بحث blink-dev از تمام اهداف Blink مطلع شوید. که می تواند منجر به ایمیل های زیادی شود! از طرف دیگر، ممکن است ترجیح دهید برای یک هدف مشترک مشترک شوید. می توانید صفحه گسترده ای از اهداف Blink را در bit.ly/blinkintents مشاهده کنید. اگر واقعاً Blink Intents را دوست دارید، حتی می‌توانید از خدمات خودکار Blink Intent Tracker استفاده کنید.

مراحل بعدی

بررسی کنید کانال های انتشار کروم چیست؟ .