پرش به محتوا

موتور جاوااسکریپت

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از موتور جاوا اسکریپت)
جاوااسکریپت

موتور جاوااسکریپت جزء نرم‌افزاری است که کد جاوااسکریپت را اجرا می‌کند. اولین موتورهای جاوااسکریپت تنها مفسر بودند. اما تمامی این موتورهای جاوااسکریپت کنونی برای بهبود عملکرد و بازدهی از روش کامپایل درجا استفاده می‌کنند.[۱]

موتورهای جاوااسکریپت معمولاً توسط تولیدکنندگان مرورگرهای وب توسعه می‌یابند. می‌توان اینطور گفت که تمامی مرورگرهای مهم یکی از انواع موتورهای جاوااسکریپت مخصوص به خود را دارد. در یک مرورگر، موتور جاوااسکریپت از طریق اتصالات مدل شیءگرای سند و وب آی‌دی‌اِل در هماهنگی کامل با موتور چیدمان و دوشادوش آن اجرا می‌شود.[۲]

با این وجود استفاده از موتورهای جاوااسکریپت به مرورگرها محدود نمی‌شود. به عنوان مثال، موتور V8 جزء اصلی سیستم‌های زمان اجرا در نود جی‌اس و دینو است که مرورگر نیستند.[۳]

از آنجایی که مشخصات استاندارد جاوااسکریپت توسط اکمااسکریپت مشخص شده است، نام دیگر این ابزارها موتور اکمااسکریپت است. با ظهور وب‌اسمبلی، برخی از موتورها به اجرای این تکنولوژی در همان جعبه شنی که کدهای جاوااسکریپت معمولی اجرا می‌شوند می‌پردازند.[۴][۳]

تاریخچه

[ویرایش]

اولین موتور جاوااسکریپت در سال 1995 توسط برندان آیک برای مرورگر وب نت‌اسکیپ نویگیتور ایجاد شد.[۵] این یک مفسر ابتدایی برای زبان نوپایی بود که آیک اختراع کرد.[۶] (این به موتور اسپایدر مانکی تبدیل شد که هنوز توسط مرورگر فایرفاکس استفاده می شود. [۵])

گوگل در سال 2008 مرورگر کروم خود را با موتور V8 جاوااسکریپت که سریعتر از رقبای خود بود، معرفی کرد.[۷][۸] نوآوری کلیدی در این محصول استفاده از روش کامپایل درجا (اختصاری JIT) بود که موزیلا نیز روی اسپایدر مانکی برای استفاده از این روش کار می‌کرد.[۹] با توجه به عملکرد بالای V8، سایر ارائه دهندگان مرورگر نیاز به تعمیرات اساسی موتورهای خود برای JIT داشتند تا بتوانند جایگاه خود را حفظ کنند.[۱۰] اپل موتور نیترو را برای مرورگر سافاری خود توسعه داد که 30 درصد عملکرد بهتری نسبت به نسخه قبلی خود داشت. [۱۱] پس از آن نیز موزیلا از بخش‌هایی از نیترو برای بهبود اسپایدر مانکی استفاده کرد. [۱۲]

از سال 2017، اکثر موتورهای تولید شده توسط شرکت‌های بزرگ پشتیبانی از وب‌اسمبلی را اضافه کرده‌اند. [۴]

موتورهای مهم در بازار

[ویرایش]

منابع

[ویرایش]
  1. Looper, Jen (2015-09-21). "A Guide to JavaScript Engines for Idiots". Telerik Developer Network. Archived from the original on 2018-12-08. Retrieved 2018-12-08.
  2. "How Blink Works". Google. Retrieved 12 March 2024.
  3. ۳٫۰ ۳٫۱ "Documentation · V8". Google. Retrieved 3 March 2024.
  4. ۴٫۰ ۴٫۱ Nelaturu, Keerthi. "WebAssembly: What's the big deal?". medium.com. Retrieved 3 March 2024.
  5. ۵٫۰ ۵٫۱ Eich, Brendan (2011-06-21). "New JavaScript Engine Module Owner".
  6. Fin JS (June 17, 2016), "Brendan Eich – CEO of Brave", YouTube, retrieved February 7, 2018
  7. "Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome". PC Games Hardware. Computec Media AG. 3 July 2009. Archived from the original on May 2, 2012. Retrieved June 28, 2010.
  8. Purdy, Kevin (June 11, 2009). "Lifehacker Speed Tests: Safari 4, Chrome 2". Lifehacker. Archived from the original on April 14, 2021. Retrieved May 8, 2021.
  9. "TraceMonkey: JavaScript Lightspeed, Brendan Eich's Blog". Archived from the original on December 4, 2015. Retrieved July 22, 2020.
  10. "Mozilla asks, 'Are we fast yet?'". Wired. Archived from the original on June 22, 2018. Retrieved January 18, 2019.
  11. Safari 5 Released
  12. Shankland, Stephen (2010-03-02). "Opera 10.5 brings new JavaScript engine". CNET. CBS Interactive. Archived from the original on 2013-10-03. Retrieved 2012-01-30.
  13. Stachowiak, Maciej (November 9, 2008). "Companies and Organizations that have contributed to WebKit". WebKit Wiki. Retrieved April 13, 2019.
  14. Belfiore, Joe (2020-01-15), New year, new browser – The new Microsoft Edge is out of preview and now available for download, Microsoft
  15. "Microsoft Edge and Chromium Open Source: Our Intent". Microsoft Edge Team. 6 December 2018. Retrieved 8 December 2018.