Tuesday, November 15, 2011

网页浏览器的排版引擎 Web browser engine

A web browser engine, (sometimes called layout engine or rendering engine), is a software component 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 web browser engine is typically embedded in web browsers, e-mail clients, on-line help systems or other applications that require the displaying (and editing) of web content.

 The user interface provides the menu bar, address bar, status bar, bookmark manager, history and preferences window among other things. It embeds the engine and serves as an interface between the user and the engine.

 The engine does most of the work. It essentially takes a URL and a screen rectangle as arguments. It then retrieves the document corresponding to the URL and paints a graphical representation of it on the given rectangle. It handles links, cookies, scripting, plug-ins loading and other matters.

 source: http://en.wikipedia.org/wiki/Web_browser_engine

  Gecko, the Mozilla project's open-source web browser 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 internet suite.

  Trident, the web browser engine from Internet Explorer, is used by many applications on the Microsoft Windows platform, such as netSmart, Outlook Express, some versions of Microsoft Outlook, and the mini-browsers in Winamp and RealPlayer.

 Opera Software's proprietary Presto engine is licensed to a number of other software vendors, and is used in Opera's own web browser.

 KDE's open-source KHTML engine is used in KDE's Konqueror web browser and was the basis for WebKit, the rendering engine in Apple's Safari and Google's Chrome web browsers.

source: http://en.wikipedia.org/wiki/Comparison_of_web_browser_engines



Usage share as of Q2 2009 by percent of layout engines/web browsers
The following tables compare general and technical information for a number of web browser engines. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up to date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.





A brief overview of the release history.
EngineFirst public releaseFirst stable releaseLatest stable release
DateVersionDateVersionDateVersion
Gecko7 December 1998"Preview"19 March 1999M38 November 20118.0
GtkHTML2000 ?2000 ?14 December 20093.28.2
iCab1998 ?1998 ?1 January 20083.0.5[3]
KHTMLOctober 2000 ?October 2000 ?4 August 20094.3
NetFront1995 ?1995 ?13 January 20104.0
Presto13 November 20021.028 January 20031.012 April 20112.8.131
Prince XMLApril 20031.0April 20031.0May 20107.1
XEP1999fo2pdf ? ?March 20104.18
Robin27 April 20001.3227 April 20001.3224 August 20094.2.10
Tasman27 March 2000027 March 2000011 May 20041.0
TridentApril 1997No numberOctober 1997No number14 March 20115.0
WebKit7 January 20034823 June 200385N/ASVN version only




Graphical

[edit]Text-based

[edit]Historical



source: http://en.wikipedia.org/wiki/Trident_(layout_engine)

Trident (also known as MSHTML) is the name of the layout engine for the Microsoft Windows version of Internet Explorer.



All versions of Internet Explorer for Windows from 4.0 onwards use Trident, and it is also used by various other web browsers and software components (see Internet Explorer shells). InWindows 98Windows Me, and Windows 2000, it is also used for the Windows file manager/shell, Windows Explorer.[citation needed] The Add/Remove Programs tool in Windows 2000 uses Trident to render the list of installed programs,[citation needed] and in Windows XP it is also used for the User Accounts Control Panel, which is an HTML Application.[citation needed] Trident however was not used by the Internet Explorer for Mac (which uses Tasman), nor by the early versions of Internet Explorer Mobile.
Some other Trident-based applications include:




source: http://en.wikipedia.org/wiki/Gecko_(layout_engine)

Gecko is primarily used in web browsers, the earliest being Netscape 6 and Mozilla Application Suite (later renamed SeaMonkey). It is also used in other Mozilla web browser derivatives such as FirefoxCaminoFlockK-Meleon and the implementation of Internet Explorer that is part of Wine.[9]
Google's picture-organization software Picasa (for Linux) is based on Gecko.[10]
DevHelp, a GTK+/GNOME browser for API documentation, uses Gecko for rendering docs.[11]
Other products not included in the table include SwiftfoxPortable FirefoxFennecConkerorClassillaTenFourFoxHP Secure Web Browser, Oxygen, MinimoMy Internet Browser, Sylera (for mobile), Thunderbird (email)Sunbird (calendar) and Instantbird.
Gecko is also used by Sugar for the OLPC XO-1 computer.[12] Gecko is used as a complete implementation of the XUL (XML User Interface Language). Gecko currently defines the XUL specification.
The following table compares the different versions of Gecko:
Gecko versionAll platformsWindows onlyMac only*nix only*nixmobile
FirefoxNetscape[u 1]Mozilla[u 1]SeaMonkeyFlock
SongbirdBeonex
Lunascape[u 2][u 3]K-MeleonMy Internet BrowserPale MoonCaminoGaleon
Epiphany[u 4][u 2]Kazehakase[u 2]MicroB
0.66.00.60.6[13]
0.80.80.3
0.9.26.10.9.2
0.9.46.20.9.40.5
0.9.4.16.2.20.9.4.10.7[13]
0.9.50.9.50.6
0.9.70.9.71.0.2
1.0.17.01.0.10.8.1[14]
1.0.21.0.20.8.2[15]
1.11.10.9pre[13]
1.2b0.11.2b0.7
1.3a0.51.3a
1.47.11.4
1.4.11.4.11.0.4
1.50.71.50.8
1.71.01.72.00.2.8
1.7.27.21.7.2
1.7.58.0.2[u 3]1.7.50.9
1.8.01.51.00.70.21.01.01.0
1.8.12.09.01.11.04.81.1, 1.52.01.6.52.16
1.9.03.02.0 - 2.60.5 - 1.42.22.02.22
1.9.13.52.05.01.63.03.5
1.9.23.61.9.36.31.74.03.6[u 5]2.1a1[16]1.7.4.8[u 6]
2.0[u 7]4.02.14.0
5.0[u 8]5.02.25.0
6.0[u 8]6.02.36.0
7.0[u 8]7.02.47.0
8.0[u 8]8.0a2
9.0[u 8]9.0a1
Gecko versionFirefoxNetscape[u 1]Mozilla[u 1]SeaMonkeyFlock
SongbirdBeonex
Lunascape[u 2][u 3]K-MeleonMy Internet BrowserPale MoonCaminoGaleon
Epiphany[u 4][u 2]Kazehakase[u 2]MicroB
All platformsWindows onlyMac only*nix only*nixmobile

WebKit is a layout engine designed to allow web browsers to render web pages. WebKit powers Apple Safari and Google Chrome and by August 2011 held nearly 30% of desktop browser market share between them. It is also used as the basis for the experimental browser included with the Amazon Kindle ebook reader, as well as the default browser in the iOS and Android mobile operating systems. The WebKit engine provides a set of classes to display web content in windows, and implements browser features such as following links when clicked by the user, managing a back-forward list, and managing a history of pages recently visited.
WebKit was originally derived by Apple Inc. from the Konqueror browser's KHTML software library for use as the engine of Safari web browser, and has now been further developed by individuals from KDEApple Inc.NokiaGoogleBitstreamTorch MobileSamsungIgalia, and others.[2]Mac OS XWindowsGNU/Linux, and some other Unix-like operating systems are supported by the project.[3]
WebKit's WebCore and JavaScriptCore components are available under the GNU Lesser General Public License, and the rest of WebKit is available under a BSD-style license.[4]

WebKit is used as the rendering engine within Safari on Windows, Mac OS X and iOS. Other applications on Mac OS X make use of WebKit, such as Apple's e-mail client Mail and the 2008 version of Microsoft's Entourage personal information manager, both of which make use of WebKit to render e-mail messages with HTML content.
New web browsers have been built around WebKit such as the S60 browser[29] on Symbian mobile phones, Blackberry Browser (ver 6.0+), MidoriShiiraChrome browser,[30][31] Uzbl,Maxthon 3, xxxterm, and the Android Web browser. KDE Projects Rekonq Web Browser and Plasma Workspaces also use it as the native web rendering engine. WebKit has been adopted as the rendering engine in OmniWebiCab and Epiphany replacing their original rendering engines.[32] Epiphany supported both Gecko and WebKit for some time, but the team decided that Gecko's release cycle and future development plans would make it too cumbersome to continue supporting it. HP's Palm WebOS uses WebKit as the basis of its application runtime. The latest interface update for Valve Corporation's Steam employs WebKit to render its interface and built-in browser.[33] WebKit is used to render HTML and run JavaScript in the Adobe Integrated Runtime application platform. In Adobe Creative Suite CS5, WebKit is used to render some parts of the user interface. As of the first half of 2010, analyst estimates place the cumulative number of mobile handsets shipped with a WebKit-based browser at 350 million.[34] WebKit will continue to dominate the mobile industry as the market penetration of smartphones, the engine's primary contributors, increases. The introduction of tablets will also be a contributing factor, since many tablets have the Android or Apple iOS operating system (iPad, iPad 2) installed. In 2011, from January to August, the market share of Android OS alone increased from 15% to 20%. Combining the increase of smartphone and tablet sales, coupled with the increasing market share of Chrome, WebKit could become the dominant web browser engine in 2012. Consider, for example, that for the period of January to September 2011, the market share of Google's Chrome browser went from 15% to 23.5%, and Safari maintained a 5-6% share while usage of both Internet Explorer and Mozilla decreased significantly. If this growth continues, total usage of WebKit (Chrome, Safari, and smartphones/tablets) will surpass 50% by the end of 2012. [35]


No comments: