Hi All ! we all use browsers, different kinds of browsers, to surf the internet. But do we know what makes a browser work ? How do a browser come to know that when to show which color or when to show which kind of style of text ? We can say we give instructions by using HTML or DHTML or JAVASCRIPT/VBSCRIPT kinds of language. But how do a browser come to know which instruction relates to which language and how to handle it ? There should be something in the browser which drives it and make it work according to our instructions.
Yes, This is my topic. Behind the BROWSER, something called WEB LAYOUT ENGINE, a mechanism used to make the browser work. The use of WEB LAYOUT ENGINE is not limited to browsers only. These are used in various email clients like OUTLOOK EXPRESS, thunderbird etc. Sometimes these are part of the operating system.
Let's start with formal definition of WEB LAYOUT ENGINE(sometimes called RENDERING ENGINE):
A layout engine, or rendering engine, is software that takes marked up content (such as HTML, XML, image files, etc.) and formatting information (such as CSS, XSL, etc.) and displays the formatted content on the screen. It "paints" on the content area of a window, which is displayed on a monitor or a printer. A layout engine is typically used for web browsers, e-mail clients, or other applications that require the displaying (and editing) of web contents.
The term rendering engine can also refer to text rendering engines like Pango or Uniscribe which make multilingual texts present in proper shape, taking into account bidirectional text, combinations of "basic characters" with accents, and other intricacies of multilingual text.
For example, Gecko, the Mozilla project's open-source layout engine, is used by a variety of products derived from the Mozilla code base, including the Firefox web browser, the Thunderbird E-mail client, and Seamonkey application suite. Trident, the layout engine from Internet Explorer, is used by many applications on the Microsoft Windows platform to render HTML, as in Outlook Express, some versions of Microsoft Outlook, and the mini-browsers in Winamp and RealPlayer. Similarly, Opera Software's proprietary Presto engine is licensed to a number of other software vendors, as well as being used in Opera's own Opera web browser, and KDE's open-source KHTML engine is used both in KDE's own Konqueror web browser as well as being used, in an adapted form, as the basis for the rendering engine in Apple's Safari web browser.
List of Layout Engines
Boxely - for AOL applications
Cobra - Java-based, for Lobo.
Gecko - for Firefox, Camino, Mozilla Application Suite, Netscape, and other Gecko-based browsers
GtkHTML - for Novell Evolution and other GTK+ programs
Gzilla - for Gzilla and Dillo
HTMLayout - embeddable HTML/CSS rendering engine - component for Windows and Windows Mobile operating systems
KHTML - for Konqueror
NetFront - for Access NetFront
NetSurf - for NetSurf
Presto - for Opera 7 and above, Macromedia Dreamweaver MX and MX 2004 (Mac), and Adobe Creative Suite 2
Prince XML - for Prince XML
Robin - for The Bat!
Tasman - for Internet Explorer 5 for Mac, Microsoft Office 2004 for Mac, and Microsoft Office 2008 for Mac.
Trident - for Internet Explorer since version 4.0 , Internet Explorer shells, and some media players
Tkhtml - for hv3
WebKit - (KHTML-fork) for Safari, Arora, Midori, OmniWeb, Shiira, Sunrise, iCab since version 4, Swift (based upon Epiphany*), and Google Chrome. Epiphany is now using the Gecko engine, but they intend to drop that and begin using the WebKit engine instead of the Gecko engine in version 2.24 or version 2.26
Yes, This is my topic. Behind the BROWSER, something called WEB LAYOUT ENGINE, a mechanism used to make the browser work. The use of WEB LAYOUT ENGINE is not limited to browsers only. These are used in various email clients like OUTLOOK EXPRESS, thunderbird etc. Sometimes these are part of the operating system.
Let's start with formal definition of WEB LAYOUT ENGINE(sometimes called RENDERING ENGINE):
A layout engine, or rendering engine, is software that takes marked up content (such as HTML, XML, image files, etc.) and formatting information (such as CSS, XSL, etc.) and displays the formatted content on the screen. It "paints" on the content area of a window, which is displayed on a monitor or a printer. A layout engine is typically used for web browsers, e-mail clients, or other applications that require the displaying (and editing) of web contents.
The term rendering engine can also refer to text rendering engines like Pango or Uniscribe which make multilingual texts present in proper shape, taking into account bidirectional text, combinations of "basic characters" with accents, and other intricacies of multilingual text.
For example, Gecko, the Mozilla project's open-source layout engine, is used by a variety of products derived from the Mozilla code base, including the Firefox web browser, the Thunderbird E-mail client, and Seamonkey application suite. Trident, the layout engine from Internet Explorer, is used by many applications on the Microsoft Windows platform to render HTML, as in Outlook Express, some versions of Microsoft Outlook, and the mini-browsers in Winamp and RealPlayer. Similarly, Opera Software's proprietary Presto engine is licensed to a number of other software vendors, as well as being used in Opera's own Opera web browser, and KDE's open-source KHTML engine is used both in KDE's own Konqueror web browser as well as being used, in an adapted form, as the basis for the rendering engine in Apple's Safari web browser.
List of Layout Engines
Boxely - for AOL applications
Cobra - Java-based, for Lobo.
Gecko - for Firefox, Camino, Mozilla Application Suite, Netscape, and other Gecko-based browsers
GtkHTML - for Novell Evolution and other GTK+ programs
Gzilla - for Gzilla and Dillo
HTMLayout - embeddable HTML/CSS rendering engine - component for Windows and Windows Mobile operating systems
KHTML - for Konqueror
NetFront - for Access NetFront
NetSurf - for NetSurf
Presto - for Opera 7 and above, Macromedia Dreamweaver MX and MX 2004 (Mac), and Adobe Creative Suite 2
Prince XML - for Prince XML
Robin - for The Bat!
Tasman - for Internet Explorer 5 for Mac, Microsoft Office 2004 for Mac, and Microsoft Office 2008 for Mac.
Trident - for Internet Explorer since version 4.0 , Internet Explorer shells, and some media players
Tkhtml - for hv3
WebKit - (KHTML-fork) for Safari, Arora, Midori, OmniWeb, Shiira, Sunrise, iCab since version 4, Swift (based upon Epiphany*), and Google Chrome. Epiphany is now using the Gecko engine, but they intend to drop that and begin using the WebKit engine instead of the Gecko engine in version 2.24 or version 2.26



