چرا برخی مرورگرها سریعتر از رقبای خود هستند؟
آیا به مرورگر خاصی علاقه دارید؟ اگر جواب این سؤال مثبت است، چرا چنین نظری دارید؟ برای برخی از کاربران، تنوع افزونهها اهمیت بسیار زیادی دارد و برخی دیگر به دنبال مرورگری هستند که بهتر از رقبا، از حریم خصوصی آنها محافظت کند. با این حال، موضوعی که برای بسیاری از کاربران بیشترین اهمیت را دارد، سرعت مرورگر مذکور است. اما چرا برخی مرورگرها سریعتر از رقبای خود هستند؟ میتوانیم این موضوع را در دو بخش فنی و بخشهای مربوط به کاربر، توضیح بدهیم. در ادامه همراه ما باشید.
جنبههای فنی
هرکدام از مرورگرها به نحو خاصی توسعه پیدا کردهاند. رویکردهای مختلف در زمینهی برنامهنویسی، نقش مهمی در سرعت بارگذاری صفحات وب ایفا میکند. در این زمینه باید به دو مشخصه مهم بپردازیم: موتور مرورگر و موتور جاوا اسکریپت.
موتور مرورگر
موتور مرورگر، مهمترین عنصر هر مرورگری محسوب میشود. وظایفی مانند اجرای کدهای HTML و CSS و موارد امنیتی بر عهدهی این موتور است. چنین موتورهایی لااقل باید بتوانند کدهای HTML و XML و عکسها را نمایش دهند و فونت، رنگ و سایز متنها را به نحوی که از قبل مشخص شده، نشان دهند. بسیاری از موتورها از پس نمایش فایلهای PDF و دیگر اسناد هم برمیآیند.
رایجترین موتورهای مرورگر
چندین موتور مرورگر وجود دارد اما فقط ۴ تای آنها بهکرات مورد استفاده قرار میگیرند: Blink، EdgeHTML، Gecko و WebKit.
Blink یک موتور پیشرفته است که از پلتفرمهای مختلف پشتیبانی میکند و از طرف گوگل، اپرا، ادوبی، اینتل و سامسونگ توسعه یافته است. مرورگرهای کروم و اپرا مبتنی بر این موتور هستند. این موتور در ابتدا انشعابی از موتور WebKit بود که خود آن هم در ابتدا انشعابی از کتابخانههای KHTML و KJS محسوب می شود. این موتور تحت لیسانس GNU LGPL است و به همین خاطر بدون پرداخت حق امتیاز میتوان از آن استفاده کرد.
EdgeHTML موتور دیگری است که توسط مایکروسافت برای استفاده در مرورگر اج توسعه یافته است. در سال ۲۰۱۵، این موتور جایگزین Trident شد که اینترنت اکسپلورر مبتنی بر آن بود. از لحاظ تئوری، این موتور با Blink و WebKit کاملاً سازگار است.
Gecko توسط موزیلا توسعه یافته و مرورگر فایرفاکس و نرمافزار Thunderbird و تعداد زیادی از مرورگرهای ناشناخته، از آن بهره میبرند.
در نهایت، باید به موتور WebKit اشاره کنیم که توسط اپل توسعه یافته و در مرورگر سافاری، مرورگر آمازون کیندل، تلویزیونهای هوشمند مبتنی بر سیستمعامل تایزن و سیستمعامل بلکبری یافت میشود. تا سال ۲۰۱۳، مرورگر کروم مبتنی بر همین موتور بود.
از دیگر موتورهای نهچندان شناخته شده هم میتوانیم به Goanna (شاخهای از Gecko) و Servo (موتور آزمایشی توسعهیافته توسط موزیلا) اشاره کنیم.
اهمیت رو به کاهش
در دهه ۲۰۰۰ میلادی، برای سرعت بارگذاری صفحات وب، موتور مرورگر مهمترین نقش را ایفا میکرد. با این حال، با توجه به پیچیدهتر شدن تکنولوژیهای مربوط به مرورگرها، اهمیت موتورها هم رو به کاهش است. حالا از لحاظ فنی، موتور مرورگرها دیگر مهمترین نقش را ایفا نمیکنند. در عوض، حالا توجه توسعهدهندگان معطوف به موتور جاوا اسکریپت شده است.
موتور جاوا اسکریپت
همهی مرورگرها از موتور جاوا اسکریپت هم بهره میبرد. در زمینهی سرعت بارگذاری صفحات وب، موتورهای جاوا اسکریپت بیشترین تأثیر را دارند. اگر نمیدانید جاوا اسکریپت چیست، باید بگوییم یکی از مهمترین زبانهای برنامهنویسی است که تقریبا همهی سایتها از قابلیتهای این زبان بهره میبرند. بسیاری از بخشهای مربوط به رابط کاربری و انیمیشن سایتها به لطف این زبان برنامهنویسی امکانپذیر میشود. موتور جاوا اسکریپت، باید این کدها را در سریعترین زمان ممکن به موارد قابل نمایش تبدیل کند. در این زمینه هم موتورهای متعددی وجود دارد که هرکدام از آنها قابلیتهای خاصی را ارائه میدهند.
بیشتر بخوانید: ۹ مشکل رایج مرورگرها و راهحل آنها
V8
V8 موتور جاوا اسکریپت گوگل است. مرورگر کروم از این موتور بهره میبرد و سابقهی آن هم به تولد مرورگر کروم در سال ۲۰۰۸ برمیگردد. این موتور مجهز به دو کامپایلر است. یکی از آنها Full-codegen نام دارد که کامپایلر سریعی محسوب می شود و کدهای بهینه نشدهای را ایجاد میکند و دیگری Crankshaft نام دارد که از سرعت پایینتری بهره میبرد ولی در عوض کدهای بهینه شدهای را به وجود میآورد. کدهای جاوا اسکریپت در ابتدا روانهی Full-codegen میشوند و اگر خروجی این کامپایلر نیازی به بهینهسازی داشته باشد، Crankshaft وارد عمل میشود.
JavaScriptCore
JavaScriptCore که از تحت عنوان Nitro هم یاد میشود، موتور جاوا اسکریپت مرورگر سافاری است و در بین محبوبترین موتورها، در رتبهی دوم قرار دارد. نحوهی عملکرد آن مانند V8 نیست. این موتور به جای بهرهگیری از دو کامپایلر، از یک روش واحد برای خوانش کدهای جاوا اسکریپت استفاده میکند.
SpiderMonkey
SpiderMonkey نخستین موتور جاوا اسکریپت محسوب میشود و توسط نتاسکیپ در دهه ۹۰ ایجاد شده است. بعد از افول این شرکت، این موتور به یک پروژه متنباز بدل شد. امروزه، موزیلا وظیفهی توسعه این موتور را برعهده گرفته و از آن در مرورگر فایرفاکس استفاده میکند.
از دیگر موتورهای جستجو باید به Chakra هم اشاره کنیم که مرورگر مایکروسافت اج از آن بهره میبرد.
کدامیک از موتورهای جاوا اسکریپت سرعت بیشتری دارند؟
در این زمینه یک پاسخ قطعی وجود ندارد. شاید بخشی از کدهای جاوا اسکریپت در سافاری سریعتر اجرا شوند و شاید مرورگر کروم بتواند بخشهای دیگری را سریعتر اجرا کند. بخش اعظم این موضوع به نحوهی نگارش کدهای جاوا اسکریپت و ارتباط آن با کامپایلرهای موتورهای مختلف برمیگردد. برخی از مرورگرها هم با بهرهگیری از الگوریتمهای اختصاصی تلاش میکنند که بهترین سرعت ممکن را برای کاربر ارائه دهند.
جنبههای مربوط به کاربر
در زمینهی سرعت مرورگر، برخی از جنبهها و بخشها در کنترل کاربر است و در ادامه به مهمترین آنها میپردازیم.
بهروزرسانیها
برای استفاده از مرورگرها و در کل انواع و اقسام نرمافزارها، همواره توصیه میشود که از جدیدترین نسخه استفاده کنید. به غیر از موضوع بهرهگیری از ویژگیهای جدید و امنیت بیشتر، بخشهای فنی موجود در پشتصحنه هم همواره در حال بهبود هستند. به همین خاطر با استفاده از جدیدترین نسخههای مرورگرهای مختلف، میتوانید از بهترین سرعت ممکن بهره ببرید.
افزونهها
پلاگینها یا افزونهها میتوانند هوای تازهای را برای مرورگر شما به ارمغان بیاورند. اما از طرفی دیگر، همین افزونهها میتوانند سرعت مرورگر شما را هم کاهش دهند. هرچند میدانیم بهرهگیری از افزونههای متعدد موضوع وسوسهبرانگیزی به حساب میآید، اما توصیه میکنیم که فقط از افزونههایی استفاده کنید که به وجود آنها نیاز دارید.
دادههای ذخیره شده
در هنگام وبگردی، مرورگرها انواع و اقسام دادهها را ذخیره میکنند. از تاریخچه وبگردی گرفته تا کوکیها، اطلاعات مربوط به دانلودهای انجام شده و بسیاری از موارد دیگر. به همین خاطر با پاک کردن چنین اطلاعاتی، فضای بیشتری برای عملکرد مرورگر ایجاد میکنید و چنین کاری تأثیر زیادی در افزایش سرعت مرورگرها دارد.
بیشتر بخوانید: ۵ مرورگر برتر برای گوشی موبایل
منبع: MakeUseOf