JavaScript engine explained
A JavaScript engine is a software component that executes JavaScript code. The first JavaScript engines were mere interpreters, but all relevant modern engines use just-in-time compilation for improved performance.[1]
JavaScript engines are typically developed by web browser vendors, and every major browser has one. In a browser, the JavaScript engine runs in concert with the rendering engine via the Document Object Model and Web IDL bindings.[2] However, the use of JavaScript engines is not limited to browsers; for example, the V8 engine is a core component of the Node.js runtime system.[3]
Since ECMAScript is the standardized specification of JavaScript, ECMAScript engine is another name for these implementations. With the advent of WebAssembly, some engines can also execute this code in the same sandbox as regular JavaScript code.[4] [3]
History
The first JavaScript engine was created by Brendan Eich in 1995 for the Netscape Navigator web browser. It was a rudimentary interpreter for the nascent language Eich invented. (This evolved into the SpiderMonkey engine, still used by the Firefox browser.[5])
Google debuted its Chrome browser in 2008, with the V8 JavaScript engine that was faster than its competition.[6] [7] The key innovation was just-in-time compilation (JIT), which Mozilla had also been working on for SpiderMonkey.[8] Because of V8's performance, the other browser vendors needed to overhaul their engines for JIT.[9] Apple developed the Nitro engine for its Safari browser, which had 30% better performance than its predecessor.[10] Mozilla then leveraged portions of Nitro to improve SpiderMonkey.[11]
Since 2017, these engines have added support for WebAssembly.[4]
Notable engines
Notes and References
- Web site: A Guide to JavaScript Engines for Idiots . Looper . Jen . Telerik Developer Network . 2015-09-21 . https://web.archive.org/web/20181208123231/http://developer.telerik.com/featured/a-guide-to-javascript-engines-for-idiots/ . 2018-12-08 . 2018-12-08 .
- Web site: How Blink Works . Google . 12 March 2024.
- Web site: Documentation · V8 . Google . 3 March 2024.
- Web site: Nelaturu . Keerthi . WebAssembly: What’s the big deal? . medium.com . 3 March 2024.
- Web site: Eich . Brendan . New JavaScript Engine Module Owner . 2011-06-21 .
- Web site: Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome. PC Games Hardware. 3 July 2009. Computec Media AG. June 28, 2010. May 2, 2012. https://web.archive.org/web/20120502043027/http://www.pcgameshardware.com/aid,687738/Big-browser-comparison-test-Internet-Explorer-vs-Firefox-Opera-Safari-and-Chrome-Update-Firefox-35-Final/Practice/. live.
- Web site: Lifehacker Speed Tests: Safari 4, Chrome 2 . Kevin . Purdy . . June 11, 2009 . May 8, 2021 . April 14, 2021 . https://web.archive.org/web/20210414095403/https://lifehacker.com/lifehacker-speed-tests-safari-4-chrome-2-and-more-5286869 . live .
- Web site: TraceMonkey: JavaScript Lightspeed, Brendan Eich's Blog. July 22, 2020. December 4, 2015. https://web.archive.org/web/20151204091540/https://brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/. live.
- Mozilla asks, 'Are we fast yet?' . Wired . January 18, 2019 . June 22, 2018 . https://web.archive.org/web/20180622213244/https://www.wired.com/2010/09/mozilla-asks-are-we-fast-yet/ . live .
- http://www.prnewswire.com/news-releases/apple-releases-safari-5-95817479.html Safari 5 Released
- Web site: Opera 10.5 brings new JavaScript engine . Shankland . Stephen . 2010-03-02 . CNET . CBS Interactive . 2012-01-30 . 2013-10-03 . https://web.archive.org/web/20131003051354/http://news.cnet.com/8301-30685_3-20000110-264.html . dead .
- Web site: Companies and Organizations that have contributed to WebKit . Stachowiak . Maciej . November 9, 2008 . WebKit Wiki . April 13, 2019.
- Web site: Microsoft Edge and Chromium Open Source: Our Intent . 6 December 2018 . Microsoft Edge Team . 8 December 2018.