Wednesday, November 16, 2011

网页浏览器 功能 标准

网页浏览器史


蒂姆·伯纳斯-李(Tim Berners-Lee)是第一个使用超文本来分享资讯的人。他于1990年发明了第一个网页浏览器WorldWideWeb。在1991年3月,他把这个发明介绍给了他在CERN工作的朋友。从那时起,浏览器的发展就和网络的发展联系在了一起。
当时,网页浏览器被视为能够处理CERN庞大电话簿的实用工具。在与用户交互的前提下,网页浏览器根据gopher和telnet协议,允许所有用户能轻易地浏览别人所编写的网站。可是,其后插入图片到浏览器的举动,使之成为了互联网的“杀手级应用”。
NCSA Mosaic使互联网得以迅速发展。它最初是一个只在Unix运行的图像浏览器;很快便发展到在Apple MacintoshMicrosoft Windows亦能运行。1993年9月发表了1.0版本。NCSA中Mosaic项目的负责人马克·安德生辞职并创建了网景通信公司
网景公司在1994年10月发布了他们的旗舰产品网景导航者。但第二年Netscape的优势就被削弱。错失了互联网浪潮的微软在这个时候匆促的购入了Spyglass公司的技术,改成Internet Explorer,掀起了软件业巨头微软和网景之间的浏览器大战。这同时加快了万维网发展。

这场战争把网络带到了千百万一般电脑用户面前,但同时显露了互联网商业化如何妨碍统一标准的制定。微软和网景都在他们的产品中加入了许多互不兼容的HTML扩展代码,试图以这些特点来取胜。1998年,网景公司承认其市场占有率已经无法挽回,这场战争便随之而退出。微软能取胜的其中一个因素是它把浏览器与其操作系统一并出售(OEM,原始设备制造);这亦使它面对反垄断诉讼。
网景公司以开放源代码迎战,创造了Mozilla,但此举未能挽回Netscape的市场占有率。1998年底美国在线收购了网景公司。发展初期,Mozilla计划为了吸引开发者而挣扎;但至2002年,它已经发展成一个稳定而强大的互联网包。Mozilla 1.0的出现被视为其里程碑。同年,派生出Phoenix(后改名Firebird,最后又改为Firefox)。Firefox 1.0于2004年发表。及至2008年,Mozilla及其派生产品约占20%网络流量。
Opera是一个灵巧的浏览器。它发布于1996年。目前它在手持电脑上十分流行,在个人电脑网络浏览器市场上的占有率则稍低。
Lynx浏览器仍然是Linux市场上十分流行的浏览器。它是全文字模式的浏览器,视觉上并不讨喜。还有一些有着高级功能的同类型浏览器,例如Links和它的分支ELinks
Konqueror是一个由KDE开发的浏览器,KDE开发人员在开发KDE2时意识到一个良好的桌面环境必须搭配一个良好的网络浏览器及文件管理员,便投入不少力量开发了Konqueror,这个浏览器使用了自家开发的排版引擎KHTML,由于Konqueror是属于KDE的一员,并只常见于Unix-like下的KDE桌面环境,所以Konqueror并未普及。
纵然Macintosh的浏览器市场现在亦同样被Internet Explorer和Firefox占据,但苹果电脑自行推出的Safari也不容小觑。Safari是基于Konqueror这个开放源代码浏览器的KHTML排版引擎而制成的。Safari是Mac OS X的默认浏览器。




网页浏览器 Web Browsers


网页浏览器是个显示网站服务器或文件系统内的文件,并让用户与此些文件交互的一种应用软件。它用来显示在万维网局域网等内的文字、图像及其他信息。这些文字或图像,可以是连接其他网址的超连结,用户可迅速及轻易地浏览各种信息。大部分网页为HTML格式,有些网页需特定浏览器才能正确显示。
个人电脑上常见的网页浏览器按照2010年1月的市场占有率[1]依次是微软Internet ExplorerMozillaFirefoxGoogleChrome苹果公司SafariOpera软件公司Opera。浏览器是最常用的客户端程序万维网是全球最大的连结文件网络文库。
source: http://zh.wikipedia.org/zh-cn/Web%E6%B5%8F%E8%A7%88%E5%99%A8


Based on Trident layout engine

Avant Browser

Internet Explorer Mobile

Internet Explorer

Greenbrowser

Maxthon

Slimbrowser

Based on Gecko layout engine

Classila

Camino

SeaMonkey

Firefox


Based on  KHTML/WebKit layout engine

RockMelt

Epiphany

Chrome

Konqueror

Shiira

Safari

OmniWeb

iCab Mobile

rekonq


Based on Presto layout engine

Opera

Opera Mini

Opera Mobile


Others


Lynx

w3m

Links

Dillo

Netsurf

Contiki

source: http://upload.wikimedia.org/wikipedia/commons/7/74/Timeline_of_web_browsers.svg


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]