A web browser, as a standalone computer program, is usually consisted of 3 parts:
- Rendering engine, AKA browser engine, AKA layout engine is responsible for parsing the HTML document into a DOM tree, render(paint) it into a viewable format to show to the user.
- The browser process: manage browser tabs, network requests, configuration, extension, file IO, etc.
Why browser engine is often referred rather than the standalone web browser program?
List of web browsers and their browser engines.
- Firefox uses Gecko. Firefox had an experimental Servo (hence, the birth of the stackoverflow most loved Rust programming language) engine started from 2012 until 2020 before transferred it to the Linux Foundation. Portions of Servo were integrated to Gecko.
- Konqueror (KDE default browser) uses KHTML.
- Safari uses WebCore. WebCore is a fork of KHTML.
- Chrome uses Blink, previously it used WebCore. Blink is a fork of WebCore.
- Internet Explorer uses Trident.
- Edge uses Blink, previously it used EdgeHTML. EdgeHTML is a successor of Trident.
- Opera uses Blink, previously it used Presto. Presto is a proprietary software (so, closed-source) of Opera Software. But its source code was leaked on github February 11, 2016.
First of all, all browsers distributed in the iOS App Store must use the JavscriptCore engine from the WebKit engine.
- Firefox uses SpiderMonkey. The experimental Servo engine comes with mozjs. Mozjs is a folk of SpiderMonkey.
- Chrome uses v8.
- Konqueror uses KJS.
- Internet Explore uses Chakra.
- Edge uses v8, previously it used Chakra.