بیاموزید که چگونه Chrome ویژگیهایی را که به خوبی کار نمیکنند حذف میکند، در حالی که اختلال در کار کاربران نهایی و توسعهدهندگان را به حداقل میرساند.
کروم دائماً در حال اضافه کردن ویژگیها و قابلیتهای جدید است، اما گاهی اوقات لازم است برخی ویژگیها حذف شوند.
حذف ویژگی میتواند پیچیدگی کدبیس مرورگر را کاهش دهد و با کاهش مسیرهای حمله بالقوه، به ایمن و مطمئن نگه داشتن مرورگرها کمک کند. یک رویکرد هماهنگ دقیق در سراسر پلتفرم وب تضمین میکند که فروشندگان مرورگر میتوانند ویژگیهای پلتفرمی را که به خوبی کار نمیکنند حذف کنند، در حالی که اختلال در کاربران نهایی و توسعهدهندگان را به حداقل میرسانند.
حذف ویژگیهای مرورگر
اگر مرورگرها بدون هشدار، ویژگیهایی را حذف کنند، این امر باعث از کار افتادن وبسایتها میشود و برنامهریزی برای مهاجرت به فناوریهای جایگزین را برای توسعهدهندگان دشوار میکند. در عوض، فروشندگان مرورگر رویکردی سیستماتیک را در پیش میگیرند و مدتها قبل از حذف ویژگی، هشدارها، منابع پشتیبانی و جدول زمانی دقیقی را ارائه میدهند.
منسوخ شدن و حذف
دو مرحله اصلی برای حذف یک ویژگی از کروم وجود دارد:
- منسوخ شدن: به توسعهدهندگان هشدار میدهد که یک ویژگی قرار است حذف شود و منابعی را برای کمک به سایتها جهت مهاجرت به جایگزینها فراهم میکند . هشدارها در پنل مشکلات DevTools کروم هنگام استفاده از ویژگیهای منسوخ شده نمایش داده میشوند و اطلاعات مربوط به جدول زمانی و پشتیبانی منسوخ شدن در وضعیت پلتفرم کروم و در مقالات و پستهای وبلاگ کروم برای توسعهدهندگان منتشر میشود.
- حذف : در ابتدا، این ویژگی را به طور پیشفرض غیرفعال کنید، اما با تنظیم یک پرچم کروم یا با شرکت در یک دوره آزمایشی منسوخ شدن ، به توسعهدهندگان اجازه دهید تا به طور موقت از این ویژگی استفاده کنند. هنگامی که سایتها دیگر به ویژگی غیرفعال شده متکی نبودند، کد را حذف کنید.
اهداف چشمک زدن
مرورگرهای وب مبتنی بر کرومیوم مانند کروم از موتور رندر Blink برای تبدیل کد و منابع به صفحات وبی که میتوانید مشاهده و با آنها تعامل داشته باشید، استفاده میکنند. وقتی مهندسان میخواهند تغییری در Blink ایجاد کنند، آن را در فهرست پستی blink-dev ارسال میکنند تا تأییدیه لازم برای ادامه کار را دریافت کنند. به این پستهای فهرست پستی، Blink Intents میگویند.
وقتی مهندسان قصد دارند یک ویژگی را از Blink منسوخ و سپس حذف کنند، یک Intent to Deprecate در لیست پستی blink-dev ارسال میکنند و به دنبال آن یک Intent to Remove. این دو Intent اغلب به صورت Intent to Deprecate و Remove با هم ترکیب میشوند.
قصد منسوخ کردن
مهندسان Blink زمانی که میخواهند به توسعهدهندگان هشدار دهند که یک ویژگی مرورگر قرار است حذف شود، یک Intent to Deprecate ارسال میکنند. در این مرحله، این ویژگی همچنان در دسترس خواهد بود، اما پشتیبانی و اطلاعات لازم از Chrome DevTools و همچنین در پستهای وبلاگ ، در chromestatus.com و در مستندات ویژگی در MDN و جاهای دیگر در اختیار توسعهدهندگان قرار خواهد گرفت.
مثال: قصد منسوخ کردن: رویدادهای جهش
قصد حذف
قصد حذف زمانی ارسال میشود که مهندسان بلینک قصد غیرفعال کردن یک ویژگی و حذف کد مربوط به آن را دارند. قصد حذف اغلب با قصد منسوخ کردن، به عنوان قصد منسوخ کردن و حذف، ترکیب میشود.
مثال: قصد منسوخ کردن و حذف: SQL وب
به حداقل رساندن اختلال برای کاربران و توسعهدهندگان
کروم تا حد امکان از حذف ویژگیها خودداری میکند.
مهندسان کروم همیشه قبل از اقدام به حذف ویژگیها، میزان استفاده از ویژگیها و سایر دادهها را بررسی میکنند. یک ویژگی فقط در صورتی حذف میشود که، برای مثال، فقط توسط بخش بسیار کمی از کاربران استفاده شود و جایگزینهای بهتری در دسترس باشند، یا اگر تغییرات اکوسیستم به این معنی باشد که آن ویژگی اکنون ممکن است آسیبپذیریهای امنیتی شدیدی ایجاد کند. اگر مرورگرهای دیگر قصد دارند به پشتیبانی از یک ویژگی ادامه دهند، معمولاً آن ویژگی از کروم حذف نمیشود: حذف ویژگی باید بین موتورهای مرورگر هماهنگ شود.
علاوه بر پستهای Intent در فهرست پستی blink-dev ، منسوخ شدنها در وبلاگ توسعهدهندگان کروم اعلام میشوند. هشدارها و اطلاعات پشتیبانی نیز در Chrome DevTools و در مستندات ویژگیها ارائه میشوند. جدول زمانی نیز در ورودی chromestatus.com برای یک ویژگی منسوخ شده منتشر میشود.
یک ویژگی منسوخشده را بهطور موقت دوباره فعال کنید
آزمایشهای منسوخسازی نوعی آزمایش اولیه هستند که به ویژگیای که قبل از حذف تغییر یافته یا به طور پیشفرض غیرفعال شده است، اجازه میدهد تا به طور موقت دوباره فعال شود. به عنوان مثال، رویدادهای جهش از کروم ۱۲۷ حذف شدند . سایتهایی که قبل از حذف این رویدادها به زمان بیشتری نیاز داشتند، میتوانستند برای آزمایش منسوخسازی ثبتنام کنند تا رویدادها را به طور موقت در سایتهای مشخص شده دوباره فعال کنند و به آنها زمان بیشتری برای مهاجرت به قابلیتهای جایگزین بدهند.
برای برخی از ویژگیهای منسوخشده، یک پرچم کروم در دسترس قرار گرفته است تا دسترسی موقت به آن ویژگی را برای یک کاربر خاص، مانند توسعهدهندگانی که روی مهاجرت به جایگزینها کار میکنند، فراهم کند.
اقدام کنید
به عنوان یک توسعهدهنده، شما باید برای تغییرات پلتفرم وب آماده باشید.
شما میتوانید یادداشتهای انتشار هر نسخه جدید از هر مرورگر را بررسی کنید، اما باید از کانالهای مرورگر پیشپایدار نیز برای آزمایش و تطبیق سایتهای خود استفاده کنید تا برای تغییرات آینده، از جمله حذفها، آماده باشند. حداقل، مطمئن شوید که تیم توسعه شما از هر دو کانال Chrome Dev و Chrome Stable برای دسترسی به سایتهایی که روی آنها کار میکنید استفاده میکند. به عنوان یک توسعهدهنده، میتوانید چندین کانال را به طور همزمان اجرا کنید. این به شما امکان میدهد تا با نسخههای آینده Chrome آزمایش کنید و همچنین سایت خود را در Chrome Stable تجربه کنید، که احتمالاً کانال مورد استفاده اکثریت قریب به اتفاق کاربران شما خواهد بود.
مرتباً کنسول Chrome DevTools را برای هشدارهای منسوخشده بررسی کنید. DevTools اطلاعات و پیوندهایی به منابع ارائه میدهد تا به شما در مهاجرت از ویژگیهای منسوخشده کمک کند. همچنین باید از چندین کانال Chrome برای آزمایش خودکار و دستی استفاده کنید.