برنامه‌نویسی

آیا هنوز هم پشتیبانی از Internet Explorer لازم است؟


۲۰ مرداد ۱۳۹۹
آیا هنوز هم پشتیبانی از Internet Explorer لازم است؟

پاسخ کوتاه: خیر، لازم نیست.

در مرورگر نامحبوب Internet Explorer یا IE، نقاط ضعف بسیار زیادی وجود دارد. در این مقاله، قصد داریم چندین مورد از این نقاط ضعف را بررسی کنیم.

با اینکه IE، مورد توجه کاربران قرار نگرفته است اما هنوز هم به‌عنوان مرورگر پیش‌فرض در ویندوز 10 که امروزه از آن استفاده می‌کنیم، نصب شده است. درحالی که بعضی افراد بعد از نصب سیستم‌عامل خود از مرورگر پیش‌فرض آن یعنی IE برای دانلود و نصب مرورگرهایی مانند FireFox, Chrome یا دیگر مرورگرهای مدرن استفاده می‌کنند.

امروزه مرورگر IE، بسیار نامحبوب است و بسیاری از وبسایت‌های بزرگ مانند YouTube, GitHub, CodePen و Apple، دیگر از این مرورگر پشتیبانی نمی‌کنند. همچنین CSS Tricks که به توسعه‌دهندگان، طراحی بخش ظاهری وبسایت‌ را آموزش می‌داد، آرام آرام پشتیبانی IE را از دوره‌های آموزشی خود حذف می‌کند.

دلایل زیادی برای استفاده از مرورگرهای محبوب و استفاده نکردن از IE وجود دارد، از کمبودهای موجود در بخش پشتیبانی این مرورگر تا تناقض‌های فنی!

تاریخچه

تولید IE توسط Microsoft به سال 1995 برمی‌گردد. در آن زمان رقابتی در بین مرورگرها وجود نداشت (جز NetScape Navigator). بعد از آن، Microsoft نسخه رایگان IE را بر روی نسخه‌های مختلف سیستم‌عاملش به‌صورت یک برنامه پیش‌فرض نصب کرد. با این اتفاق، تمام کاربران مجبور به استفاده از IE شدند. زیرا بازکردن pop-upها، toasterها و dialogها، فقط در IE انجام می‌شد. شاید حال اگر به این موضوع فکر کنیم، این اتفاق غیرقابل تصور باشد.

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

شرکت Microsoft در تلاشی دیگر برای تلفن‌های ویندوزی، Pocket IE و IE Mobile را ارائه داد، اما بازهم مورد انتقاد قرار گرفت زیرا در اجرای ویژگی‌های اساسی در برابر سایر مرورگرها، اجرای ضعیفی را از خود به‌نمایش گذاشت.

ابتدا باید این نکته را در نظر بگیریم که مرورگر IE از سال 2016 به عنوان یک مرورگر مرده محسوب می‌شد. Microsoft در سال 2015 تصمیم گرفت که مرورگر Edge را به‌عنوان جایگزین معرفی کند. Edge یک پیشرفت چشم‌گیر دربرابر IE بود، بااینکه هنوزهم در آن زمان، EdgeHTML که موتور اختصاصی Microsoft بود، به‌عنوان قلب تپنده Edge درنظر گرفته شده بود. بعدا در سال 2019، Edge به‌عنوان یک مرورگر مبتنی بر Chromium بازسازی شد.

با این حال، IE به جایگاهی که مرورگرهای دیگر مانند Google Chrome(2008), Firefox(2002) و Safari(2003) در آن قرار داشتند و دسترسی راحت‌تری را برای کاربران به‌وجود می‌آوردند، دست نیافت و کش‌مکش‌های موجود را کاهش داد زیرا توانایی مقابله خود را از دست داده بود.

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

دلایل نامحبوب بودن مرورگر IE

ما به‌عنوان یک انسان، هرچیزی را که به‌جلو حرکت کند و درحال پیشرفت باشد را دوست داریم. مرورگر IE برخلاف این علاقه انسانی عمل کرد و اتفاقاتی که در ادامه به آنها می‌پردازیم در کند کردن این حرکت رو به جلو، بسیار موثر بودند. دلایل زیادی برای استفاده نکردن از IE وجود دارد…

پشتیبانی نکردن از ویژگی‌های جدید

جدول سازگاری مرورگرها با قابلیت Fetch API
جدول سازگاری مرورگرها با قابلیت Fetch API

JavaScript:

ما در سال 2020 قرار گرفته‌ایم. این زبان یعنی جاوااسکریپت، یکی از پرکاربردترین و محبوب‌ترین زبان‌های برنامه‌نویسی حال حاضر است. این محبوبیت با انتشار ویژگی‌های جدید در ES6 افزایش یافت، زیرا بسیاری از سینتکس‌های کاربردی به جاوااسکریپت اضافه شدند. متاسفانه IE، پتانسیلی برای پشتیبانی از این ویژگی‌ها نداشت. ما نمی‌توانیم Microsoft را مقصر بدانیم، زیرا آنها مرورگر Edge را به‌عنوان جایگزینی مدرن، ارائه داده‌اند. امروزه توسعه یک وبسایت خوب، بدون استفاده از جاوااسکریپت، حتی برای توسعه‌دهندگانی که به‌صورت افراطی فقط از HTML و CSS استفاده می‌کنند، خیلی سخت است.

HTML و CSS:

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

  • از سایت Can I use بازدید کنید.
  • برروی ویژگی‌های اخیر کلیک کنید.
  • به اولین ستونِ جدول، با عنوان IE نگاهی بیندازید. چه می‌بینید؟ قرمز (یا نارنجی) که به معنی عدم پشتیبانی این مرورگر از این قابلیت است!

اینها تماما به این معنی هستند که IE، نمی‌تواند با استانداردهای جدید سازگار باشد، اما همچنان، ما توسعه‌دهندگان را زیر فشار می‌گذارند تا با تلاش‌های زیاد، وبسایت‌هایی بسازیم که در این مرورگر قابل اجرا باشند!

APIهای مرورگر:

شاید برخی از افراد بگویند که در مرورگر IE، به‌کمک Polyfills می‌توان از web APIها استفاده کرد. این موضوع، صحیح است اما، APIهای زیادی وجود دارند که نمی‌توانند Polyfill شوند. در نتیجه، آنها در مرورگر IE پشتیبانی نمی‌شوند. لیستی از مقایسه‌ی APIها، در مرورگرهای مختلف.

Dev Tools:

پشتیبانی از این ابزار برای IE بسیار سخت است، و برای انجام کمک‌های کوچکی ارائه شده است. با فشردن کلید F12 که به ابزار توسعه‌دهندگان یا Developer Tools معروف است، می‌توان تگ‌های شناخته شده‌ای مانند: Console, DOM inspector, Network و Performance را دید که در مقایسه با سایر مرورگرها، بسیار قابلیت‌های کمی هستند.

عملکرد

IE نمی‌تواند از استانداردهای فعلی که مرورگرها را در عرصه رقابت نگه داشته است، پشتیبانی کند، پس دیگر نیازی به benchmark برای تشخیص عملکرد این مرورگر نیست. همان‌طور که قبلا اشاره کرده‌ایم، IE از آخرین نسخه جاوااسکریپت، پشتیبانی نمی‌کند! این امر باعث می‌شود که نیاز باشد کدهای جاوااسکریپتی خود را به نسخه‌های قدیمی‌تر تبدیل کنیم! یا از Polyfillها برای پشتیبانی از چندین ویژگی استفاده کنیم. این موارد اضافی در وبسایت‌ها، باعث بروز مشکل‌های جدی در عملکرد می‌شود.

مشکل‌های امنیتی

از سال 2016، مرورگر IE دارای مشکل‌های امنیتی بسیار بزرگی بوده و این مشکل‌ها برای کاربران بسیار نگران کننده بوده است. استفاده از IE به‌عنوان یک مرورگر، یک تهدید امنیتی محسوب می‌شود. این موضوع حتی بد‌تر هم می‌شود، زیرا همیشه، مدت زمان زیادی طول می‌کشد تا IE به‌روزرسانی‌های امنیتی را دریافت کند.

عدم به‌روزرسانی

IE نسخه 10، مرده است! پشتیبانی از نسخه 11 این مرورگر هم در سال 2025 به پایان می‌رسد. با این حال‌، میزان به‌روزرسانی‌ها بسیار کند است. وقتی این به‌روزرسانی‌ها فرا می‌رسند مسئله‌های دیگری به‌وجود می‌آیند که با امنیت این مرورگر ارتباط خواهند داشت. شرکت Microsoft، برروی Edge سرمایه‌گذاری کرده است تا با اکثر مرورگرهای مدرن، رقابت کند.

رهاشدگی از طرف Microsoft

چرا باید از ابزاری که توسط خالق خود رها شده است، استفاده کنید؟!

Microsoft اکیدا به کاربران توصیه می‌کند که به مرورگر Edge که جایگزینی بهتر، سریع‌تر و بسیار مدرن‌تر است، تغییر کاربری بدهند. این شرکت در پاییز سال 2015 اعلام کرد: ”جدیدترین ویژگی‌ها و به‌روزرسانی‌ها فقط در Edge در دسترس خواهند بود.“

Chris Jackson، مدیربرنامه ارشد Microsoft درمورد خطر‌های استفاده از IE نوشته است و گفته که کاربران باید به سمت استفاده از مرورگر دیگری حرکت کنند. حقیقت این است که رها کردن IE بسیار دشوار است. بسیاری از دستگاه‌ها هنوز با IE نسخه 11 ارائه می‌شوند و این مرورگر به‌عنوان مرورگر پیش‌فرض برای اجرای انواع فایل‌ها و پروتکل‌های خاص در ویندوز مورد استفاده قرار می‌گیرد.

نیاز به تلاش و صرف هزینه زیاد

محدودیت فرصت

از آنجا که در سال 2015 ارزش IE Microsoft پایین آمد، بسیاری از ویژگی‌ها در وب مدرن ظاهر شدند. این ویژگی‌ها دسترسی به وب را آسان‌تر کرده و سرعت استفاده از آن را بالا می‌برند. بسیاری از این ویژگی‌ها، روش‌های کارآمدی برای ساختن یک وبسایت، ایجاد کرده‌اند. که هیچکدام از آنها در مرورگر IE، پشتیبانی نمی‌شوند.

بیشتر اوقات به‌دلیل عدم پشتیبانی IE از قابلیت‌های ایجاد شده، ما به‌عنوان یک توسعه‌دهنده تمایل داریم به‌دنبال APIهایی بگردیم که در مرورگرهای قدیمی‌تر هم پشتیبانی شوند. این موضوع باعث عدم دریافت بازده و کارایی زیاد محصول می‌شود و شرکت‌ها را به سمت ایجاد تجربه‌های مختلف برای کاربران در مرورگرهای پشتیبانی نشده سوق می‌دهد.

فریم‌ورک یا کتابخانه‌ای را فرض کنید که از بیشتر ویژگی‌های جدید جاوااسکریپت با تکیه بر proxies، پشتیبانی می‌کند. مانند: MobX یا Vue3. آنها مجبور خواهند شد که سازگاری با ورژن‌های گذشته که قادر به مدیریت مرورگرهای قدیمی است را حفظ کنند.

شرکت‌های بزرگی پشتیبانی از این مرورگر را رها کرده‌اند، چرا شما این کار را نکنید؟

نه، شما موظف نیستید از کمپانی‌های بزرگ پیروی کنید. با این وجود شاید هنوز هم با اراده از IE پشتیبانی کنید (نه به‌دلیل محدودیت‌های تجاری). در این صورت شما باید تمام تلاش خود را برای خوشحال کردن 0.2% از کاربران صرف کنید.

همچنین باید افزود که Gmail هم از IE11 پشتیبانی نمی‌کند و باید از مرورگر دیگری برای خواندن ایمیل‌های خود استفاده کنید.

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

  1. Dev.to
  2. GitHub
  3. Stack Overflow
  4. Zendesk
  5. Atlassian
  6. Youtube
  7. Meetup
  8. Slack
  9. Trello
  10. Discord
  11. Spotify
  12. Yahoo

نتیجه پایانی

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

منبع: https://blog.logrocket.com/should-you-support-internet-explorer