خداحافظی مرورگرهای کروم و اج با XSLT؛ چه چیزی تغییر میکند؟ — Chrome and Edge are removing XSLT: what breaks and what does not
خلاصه
مرورگرهای Chrome و Edge در حال حذف پشتیبانی از XSLT هستند. این تغییر قدیمی که پایاندهنده دوران پردازش XML سمت کلاینت است، نیازمند بازنگری توسعهدهندگان در سیستمهای قدیمی مبتنی بر XML است. در این مقاله به بررسی پیامدها و واکنشهای جامعه برنامهنویسان در Hacker News میپردازیم.
مقدمه ای بر تغییرات جدید
تکنولوژی XSLT (Extensible Stylesheet Language Transformations) که سالها برای تبدیل و استایلدهی اسناد XML در مرورگرها استفاده میشد، به خط پایان خود نزدیک شده است. تیمهای توسعه Chrome و Edge تصمیم گرفتهاند تا پشتیبانی از این فناوری قدیمی را متوقف کنند. برای برنامهنویسانی که هنوز با سیستمهای موروثی (Legacy) سر و کار دارند، درک ابعاد این تغییر اهمیت بالایی دارد.
پسزمینه و اهمیت موضوع
در روزهای طلایی XHTML و سالهای پیش از فراگیری جاوااسکریپت مدرن و کتابخانههایی مانند jQuery، تکنولوژی XSLT ابزاری قدرتمند برای ماژولار کردن وبسایتها و پیشرندر کردن خروجیها به شمار میرفت. بسیاری از سیستمهای سازمانی، از جمله برخی گزارشهای داخلی IIS در Windows Server، از ترکیب XML و XSLT استفاده میکردند. با این حال، با ظهور HTML5، جاوااسکریپت پیشرفته و فریمورکهای مدرن سمت فرانتاند، استفاده از XSLT به مرور منسوخ شد و حالا مرورگرها تصمیم به پاکسازی کدهای قدیمی گرفتهاند.
چه چیزی تغییر میکند و چه چیزی ثابت میماند؟
با حذف XSLT از موتورهای رندرینگ مرورگر:
- پردازش و استایلدهی فایلهای XML به صورت مستقیم و سمت کلاینت در مرورگرهای پایه کرومیوم متوقف میشود.
- فایلهای XML خام در صورت نداشتن استایلشهر مناسب، به صورت ساختاریافتهی پیشفرض (یا درختوارههای ساده) نمایش داده خواهند شد.
- رندر کردن سمت سرور (Server-side) همچنان پابرجا خواهد بود، چرا که ابزارهای پردازش XML در سمت سرور مستقل از مرورگر کار میکنند.
دیدگاه جامعه توسعهدهندگان در Hacker News
بحثهای داغی پیرامون این تصمیم در Hacker News شکل گرفت:
- نگرانیهای قدیمی: برخی کاربران به این نکته اشاره کردند که ابزارهای قدیمی مانند گزارشهای IIS همچنان از این ساختار استفاده میکنند و این تغییر عملاً آنها را دچار مشکل میکند.
- جایگزینها: برای جایگزینی قابلیتهای سمت کلاینت بدون داشتن پرش محتوا (Flash of Content)، روشهایی مانند اسکریپتهای درونخطی (Inline Scripts) و استفاده از
document.currentScriptبه عنوان الگوهای جایگزین پیشنهاد شده است. - بحث درباره کدهای موروثی: برخی توسعهدهندگان این سوال را مطرح کردند که با وجود مدلهای زبانی بزرگ (LLMs) که میتوانند کدهای قدیمی را به راحتی نگهداری کنند، دلیل قانعکننده برای حذف کدهای قدیمی چیست؛ با این حال، مرورگرها بهینهسازی و کاهش حجم کدبیس را ترجیح میدهند.
چرا این موضوع برای مهندسان اهمیت دارد؟
اگر در محصولات یا ابزارهای داخلی خود (بهویژه ابزارهای سازمانی یا گزارشسازهای قدیمی) وابستگی مستقیمی به XSLT در سمت فرانتاند دارید، زمان آن رسیده است که این بخشها را بازنویسی کنید. متکی بودن به قابلیتهای منسوخشده مرورگر میتواند در نسخههای آینده کروم و اج باعث بروز خرابی در پلتفرم شما شود.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل