Introduction to the main browser cores

Source: Internet
Author: User
Tags internet explorer for mac

The so-called "browser kernel" is nothing more than a core part of the browser-"Rendering engine", the term literal translation is called "rendering engine", but we often call it "typesetting engine", "Interpretation engine". The purpose of this engine is to help the browser render the content of the Web page, converting the page content and layout code to the view that the user sees.

Note: Sometimes what we call the "browser kernel" or even "rendering engine", in addition to the rendering engine, also quietly contains the JavaScript engine, such as WebKit, which consists of the rendering engine WebCore and JavaScript engine jscore.

The common browser kernel (or rendering engine) has many, such as Trident, Gecko, WebKit, and so on, different kernels of the page to write the syntax of the interpretation of the different, resulting in the same page in a different kernel browser display of the effect will also differ, This is why front-end engineers need to make works compatible with various browsers.

We often like to link the browser kernel with a browser name directly, such as the IE kernel, chrome kernel, is actually not comprehensive statement. For example, opera in the 7.0 to 12.16 version of the use of the independent development of the Presto engine, but in the follow-up to Chrome's footsteps to join the WebKit stronghold, give up the Presto, and even if the name is the same, but different versions of the engine may have a large difference. For example, IE6 uses the earlier version of Trident, which has many bugs and low performance. The Trident7.0 version used by the newest IE11 already supports WEBGL (3D drafting Standard) and most HTML5 standards.

The following are the main browsers that describe the browser kernel they use.

Internet Explorer:

IE Development program began in the summer of 1994, Microsoft to resist the mainstream Netscape Netscape Navigator, to develop a browser in Windows suitable for their own, but Microsoft does not have time to start from scratch. So with Spyglass, ie from the early commercial patent web browser Spyglass Mosaic derivation, although Spyglass Mosaic and NCSA Mosaic (the first widely used web browser) is very similar, but Spyglass Mosaic is relatively less famous and uses NCSA Mosaic a small amount of source code.

In 1996, Microsoft obtained Spyglass Mosaic source code and authorization from Spyglass by giving quarterly fees and partial revenue. So that IE gradually become Microsoft-specific software. It uses the typesetting engine (commonly known as the kernel) as Trident. Each new version of IE is released, which also marks the upgrade of the Trident kernel version number.

Here are the Trident version information:

Cold knowledge: In addition to Trident, Microsoft also has another Web browser typesetting engine, called Tasman, which is used in the "internet Explorer for mac" typesetting engine. Microsoft has stopped the development of Mac computer versions of Internet Explorer since 04, compared to the Trident,tasman engine's better support for web standards.

Safari

Safari is a browser developed by Apple, using the khtml of the KDE (Linux desktop system) as the core of the browser, and the name of the browser kernel used by Safari is the famous WebKit. Safari first released Beta on January 7, 2003 and became the default browser for Mac OS X v10.3 and later, as well as a designated browser for other Apple products (also supported by the Windows platform).

As mentioned above, WebKit predecessor is the KDE group's khtml engine, can say WebKit is khtml an open source branch. When Apple compared the gecko and Khtml, chose the latter to do engine development, because Khtml has a clear source structure and very fast rendering speed.

It is important to understand that although we call WebKit the browser kernel (or browser engine), it is not very suitable to call it the rendering engine (rendering engine) as we mentioned at the beginning, because WebKit itself is mainly composed of two engines, one is the rendering engine "WebCore ", the other is the JavaScript interpretation engine" Jscore ", which are derived from the KDE rendering engine khtml and the JavaScript interpretation engine kjs.

In April 2010, Apple announced the latest project Webkit2 of its browser engine WebKit. The goal of Webkit2 is to implement a standalone process with a non-blocking API.

WebKit can be said to be Apple's contribution to the open source world, based on this open source engine, derived from a number of webkit branches, such as the following to introduce the Chrome browser engine.

Chrome/chromium

Google Chrome/chromium Browser since 08, has been using Apple's WebKit as the browser core prototype, is a branch of WebKit, we can call the Chromium engine (note that we are talking about the chromium engine, Instead of the Chromium browser).

Here by the way, the difference between Chrome and chromium two browser--chromium browser is Google to develop their own browser chrome, the program opened, so chromium equivalent to Chrome's Engineering or experimental version (although Chrome itself has beta), the new feature will be the first to be implemented on chromium, and will not be applied to chrome until it is validated. Chromium can update up to more than 10 20 versions a day, and experimental new features will now be released, but the chromium itself is not stable, and there are four update branches in Chrome: Canary, Dev, Beta, Stable, and stability is enhanced in turn.

We say back to the engine. Although the chromium engine belongs to WebKit branch, but the WebKit code comb to improve the readability of a lot, so it may take a day to compile code, now only two hours can be done. So the chromium engine and other WebKit-based engines render pages with a different effect. Based on the above reasons, some places will be chromium engine and webkit distinguish, in some places directly to the chromium engine webkit (such as Wikipedia), in fact, there is a reason.

However, with the release of the 13 version of Chrome 28.0.1469.0, Chrome abandoned the chromium engine to use the latest Blink engine (based on the new WebKit engine launched by webkit2--Apple in 2010), Blink compared the previous generation's engine to streamline the code, improve the DOM framework, and improve security.

Opera

Opera browser, is a Norwegian opera software ASA company produced by the support of multi-page tabbed browsing Web browser. is a cross-platform browser that can run on Windows, Mac, and Linux three operating system platforms. Opera's browser was founded in April 1995, and by March 4, 2014, the latest version of the official PC is OPERA20.

One of opera's milestone works is Opera7.0, which uses opera Software's self-developed Presto rendering engine to replace the Elektra typesetting engine used in older versions of opera from 4 to 6.

Presto adds dynamic functionality, such as a Web page or part that can be re-typeset with the DOM and script syntax events. Presto has been updated since its launch, making it possible to correct a number of errors, and to optimize reading JavaScript performance and become the fastest engine at the time.

To reduce the cost of research and development, however, Opera announced in February 2013 to abandon Presto and instead follow Chrome's chromium engine, which uses the WebKit branch, as its own browser core engine.

After Chrome and the launch of the Blink engine (also WebKit-based branch) in 2013, Opera also followed its footsteps by saying that it would instead use blink as the browser's core engine.

Firefox

Mozilla Firefox is an open source Web browser, formerly known as firebird,2004 February 9, Mozilla Firebird decided to be renamed Mozilla Firefox. The Firefox browser uses the Gecko kernel, which has the following history:

In 1997, Netscape acquired the Digitalstyle. At the time, the Netscape browser did not perform as well as her main competitor, Internet Explorer, in all respects. Netscape began to develop the next generation of typesetting engines and looked forward to applying the new typesetting engine to the next version of the Netscape browser.

In early 1998, Mozilla plans to start executing. The new typesetting engine, named Raptor, is distributed on the Internet in the form of source code. Later, because of the trademark issue, Raptor renamed to Nglayout (that is, next generation layout of the meaning). In the end, Nglayout was renamed Gecko by Netscape.

July 15, 2003 Time Warner disbanded Netscape and most of the developers were fired. The Mozilla Foundation was also established on the same day, and continued to promote the development of gecko. Today, Gecko continues to be maintained and developed by Mozilla employees and volunteers.

Finally, we will talk about JavaScript engine (hereafter referred to as JS engine) this thing. Our rendering engine is mainly responsible for the rendering of HTML, CSS and other things, and JS engine is mainly responsible for the rendering of JavaScript, a JS engine determines the quality of a browser to the script loading and execution speed, but also affect its running points.

Below is a list of the main browsers of the respective JS engine, to understand the following:

Firefox:

SpiderMonkey: The first JavaScript engine, written by Brendan Eich in Netscape Communications, is for Mozilla Firefox 1.0~3.0 version.

Rhino: Managed by the Mozilla Foundation, open source, written entirely in Java.

Tracemonkey: Engine based on real-time compilation, some of which are taken from the Tamarin engine for Mozilla Firefox 3.5~3.6 version.

Jaegermonkey: German Jäger originally intended for hunters, combined with tracking and combination of code technology to greatly improve performance, part of the technology by Chisel V8, JavaScriptCore, WebKit: for Mozilla Firefox version 4.0 or more.

Ionmonkey: JavaScript compiled results can be optimized for Mozilla Firefox 18.0 or later.

Odinmonkey: Asm.js can be optimized for Mozilla Firefox 22.0 or later.

Chrome:

V8: Open source, developed by Google Denmark, is part of Google Chrome.

Note: We mentioned that Chrome is based on WebKit branch, and WebKit by the rendering engine "WebCore" and JS Interpretation engine "Jscore" composition, you may not be able to understand V8 and jscore relationship. You can understand that--webkit is a motherboard, Jscore is a removable memory, Google actually think WebKit Jscore is not good enough to own a V8 JS engine, this is chrome than safari in some JS test more efficient reason.

IE:

Chakra: The Chinese translation is the Chakra for the 32-bit version of Internet Explorer 9 and the ie10+.

Opera:

Linear A: For opera 4.0~6.1 version.

Linear B: For opera 7.0~9.2 version.

Futhark: For opera 9.5~10.2 version.

Carakan: Written by Opera Software and used since the Opera10.50 version.

Other:

Kjs:kde's Ecmascript/javascript engine, originally developed by Harri Porten, is used in the Konqueror Web browser for KDE projects.

Narcissus: Open Source, written by Brendan Eich (he was also involved in writing the first SpiderMonkey).

Tamarin: Written by Adobe Labs, the engine used by Flash Player 9.

Nitro (formerly Squirrelfish): Written for Safari 4.

Introduction to the main browser cores

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.