محرك جافا سكريبت
محرك JavaScript هو أحد مكونات البرامج التي تنفذ أكواد JavaScript . كانت محركات JavaScript الأولى عبارة عن مفسرين فقط ، لكن جميع المحركات الحديثة ذات الصلة تستخدم التجميع في الوقت المناسب لتحسين الأداء. [1]
يتم تطوير محركات JavaScript عادةً بواسطة بائعي متصفحات الويب ، وكل متصفح رئيسي لديه محرك JavaScript. في المتصفح، يعمل محرك JavaScript بالتنسيق مع محرك العرض عبر نموذج كائن المستند وروابط Web IDL . [2] ومع ذلك، فإن استخدام محركات JavaScript لا يقتصر على المتصفحات؛ على سبيل المثال، يعد محرك V8 مكونًا أساسيًا لنظام وقت تشغيل Node.js. [3]
نظرًا لأن ECMAScript هو المواصفات القياسية لـ JavaScript، فإن محرك ECMAScript هو اسم آخر لهذه التنفيذات . مع ظهور WebAssembly ، يمكن لبعض المحركات أيضًا تنفيذ هذا الكود في نفس بيئة الحماية مثل كود JavaScript العادي. [4] [3]
تاريخ
تم إنشاء أول محرك JavaScript بواسطة Brendan Eich في عام 1995 لمتصفح الويب Netscape Navigator . [5] كان عبارة عن مترجم بدائي للغة الناشئة التي اخترعها Eich. [6] (تطور هذا إلى محرك SpiderMonkey ، والذي لا يزال يستخدمه متصفح Firefox . [5] )
أطلقت شركة جوجل متصفح كروم في عام 2008، بمحرك جافا سكريبت V8 الذي كان أسرع من منافسيه. [7] [8] كان الابتكار الرئيسي هو التجميع في الوقت المناسب (JIT)، والذي كانت شركة موزيلا تعمل عليه أيضًا من أجل SpiderMonkey. [9] ونظرًا لأداء V8، احتاج بائعو المتصفحات الآخرون إلى إصلاح محركاتهم من أجل التجميع في الوقت المناسب. [10] طورت شركة أبل محرك Nitro لمتصفح سفاري ، والذي كان أداءه أفضل بنسبة 30% من سابقه. [11] ثم استفادت شركة موزيلا من أجزاء من Nitro لتحسين SpiderMonkey. [12]
منذ عام 2017، أضافت هذه المحركات دعمًا لـ WebAssembly . [4]
محركات بارزة
- يعد محرك V8 من Google هو محرك JavaScript الأكثر استخدامًا. يستخدمه Google Chrome والعديد من المتصفحات الأخرى المستندة إلى Chromium ، وكذلك التطبيقات المبنية باستخدام CEF أو Electron أو أي إطار عمل آخر يدمج Chromium. تشمل الاستخدامات الأخرى أنظمة التشغيل Node.js و Deno .
- تم تطوير SpiderMonkey بواسطة Mozilla لاستخدامه في Firefox ونسخه المتفرعة . يستخدمه GNOME Shell لدعم الامتدادات.
- JavaScriptCore هو محرك متصفح Safari الخاص بشركة Apple . تستخدمه أيضًا متصفحات أخرى تعتمد على WebKit ونظام تشغيل Bun . كان KJS من KDE نقطة البداية لتطويره. [13]
- Chakra هو محرك متصفح Internet Explorer . كما قامت Microsoft بتقسيمه لمتصفح Edge الأصلي ، ولكن Edge أعيد بناؤه لاحقًا كمتصفح قائم على Chromium وبالتالي يستخدم الآن V8. [14] [15]
مراجع
- ^ Looper, Jen (21 September 2015). "A Guide to JavaScript Engines for Idiots". Telerik Developer Network. مؤرشف من الأصل في 8 ديسمبر 2018 . تم الاسترجاع في 8 ديسمبر 2018 .
- ^ "كيف تعمل Blink". جوجل . تم الاسترجاع في 12 مارس 2024 .
- ^ ab "Documentation · V8". Google . تم الاسترجاع في 3 مارس 2024 .
- ^ من تأليف Nelaturu, Keerthi. "WebAssembly: What's the big deal؟". medium.com . تم الاسترجاع في 3 مارس 2024 .
- ^ بواسطة Eich, Brendan (21 يونيو 2011). "مالك وحدة محرك JavaScript الجديد".
- ^ Fin JS (17 يونيو 2016)، "بريندان آيش – الرئيس التنفيذي لشركة بريف"، يوتيوب ، تم استرجاعه في 7 فبراير 2018
- ^ "اختبار مقارنة كبير بين متصفحات الإنترنت: إنترنت إكسبلورر وفايرفوكس وأوبرا وسفاري وكروم". ألعاب الكمبيوتر . Computec Media AG. 3 يوليو 2009. مؤرشف من الأصل في 2 مايو 2012. تم الاسترجاع في 28 يونيو 2010 .
- ^ Purdy, Kevin (11 June 2009). "Lifehacker Speed Tests: Safari 4, Chrome 2". Lifehacker . مؤرشف من الأصل في 14 أبريل 2021 . تم الاسترجاع 8 مايو 2021 .
- ^ "TraceMonkey: JavaScript Lightspeed, Brendan Eich's Blog". مؤرشف من الأصل في 4 ديسمبر 2015. تم الاسترجاع في 22 يوليو 2020 .
- ^ "موزيلا تسأل، هل نحن سريعون حتى الآن؟". Wired . مؤرشف من الأصل في 22 يونيو 2018 . تم الاسترجاع 18 يناير 2019 .
- ^ تم إصدار Safari 5
- ^ Shankland, Stephen (2 مارس 2010). "Opera 10.5 brings new JavaScript engine". CNET . CBS Interactive. مؤرشف من الأصل في 3 أكتوبر 2013 . تم الاسترجاع في 30 يناير 2012 .
- ^ Stachowiak, Maciej (9 نوفمبر 2008). "الشركات والمنظمات التي ساهمت في WebKit". ويكي ويب كيت . تم الاسترجاع في 13 أبريل 2019 .
- ^ Belfiore, Joe (15 January 2020), عام جديد، متصفح جديد – Microsoft Edge الجديد خارج المعاينة ومتاح الآن للتنزيل، Microsoft
- ^ "Microsoft Edge and Chromium Open Source: Our Intent". فريق Microsoft Edge. 6 ديسمبر 2018. تم الاسترجاع في 8 ديسمبر 2018 .
