Trident (layout engine)

Trident (layout engine)
Trident
Developer(s) Microsoft
Written in C++[1]
Operating system

Microsoft Windows:

Solaris and HP-UX (discontinued)
Type Application framework / software component
License Proprietary MS-EULA
Website msdn.microsoft.com

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

It was first introduced with the release of Internet Explorer version 4.0 in October 1997; it has been steadily upgraded and remains in use today. For versions 7 and 8 of Internet Explorer, Microsoft made significant changes to the Trident layout engine to improve compliance with web standards and add support for new technologies.[2][3][4] With version 9 of Internet Explorer, Microsoft intends to comply with many modern web standards, and also intends to significantly update the layout engine to be more competitive and modern compared to other current layout engines.[citation needed]

Contents

Use in software development

Trident was designed as a software component to allow software developers to easily add web browsing functionality to their own applications. It presents a COM interface for accessing and editing web pages in any COM-supported environment, like C++ and .NET. For instance, a web browser control can be added to a C++ program and Trident can then be used to access the page currently displayed in the web browser and retrieve element values. Events from the web browser control can also be captured. Trident functionality becomes available by linking the file mshtml.dll to the software project.

Versions

Trident version MSHTML.dll version Internet Explorer version Internet Explorer Mobile version Notes
No version[5] 4.0.x 4.0 N/A Initial version.
5.0.x 5.0 N/A Improved CSS1 support and had sweeping changes in CSS2 rendering.
5.5.x 5.5 N/A Corrected issues with CSS handling.
6.0.x 6.0 N/A Corrected the box model and added quirks mode with DTD switching.
7.0.x 7.0 N/A Fixed many CSS rendering issues and added partial PNG alpha support.
N/A N/A 6.0 IEMobile 6 combines many features of IE 6,7 and 8.[6]
3.1[7][8] 7.0 N/A 7.0 Second port on a mobile system of Trident. IE Mobile version for Windows Phone 7.
4.0[9] 8.0.x 8.0 N/A First version to pass the Acid 2 test.[10] Added almost full support for CSS 2.1.
5.0[11] 9.0.x 9.0 9.0 Added support for SVG, XHTML, HTML5, and CSS 3. Added a new hardware-accelerated JScript engine named Chakra. Scores 100/100 on the Acid3 test. Included with IE 9 Mobile in Windows Phone 7.5 "Mango".
6.0[12] 10.0.x 10.0 N/A Support for CSS3 multi-column layout, CSS3 grid layout, CSS3 flexible box layout, CSS3 gradients, ES5 strict mode, Positioned Floats, CSS stylesheet limit lifted, CSSOM Floating Point Value support, Improved hit testing APIs, Media Query Listeners, HTML5: Support for async attribute on script elements, HTML5 Drag and Drop, HTML5 File API, HTML5 Sandbox, HTML5 Web Workers and some Web Performance APIs.

Trident-based applications

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). In Windows 98, Windows 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:

  • AOL Explorer, a web browser
  • AOL Instant Messenger 6.x, which uses Trident to render conversation and profile windows, and advertisement panels
  • Avant Browser
  • Bento Browser (built into Winamp)
  • EA Link, incompatible with Trident as of Internet Explorer 7 RC2
  • Enigma, a web browser
  • Google Talk, which uses Trident to render chat windows and profile cards
  • GreenBrowser, which is also presented at the BrowserChoice.eu page
  • IE Tab, a Firefox and Google Chrome add-on used to render pages with Trident within the Firefox user interface.
  • Impulse (content delivery), uses Trident to render "Explore" page, as well as several of the "Community" pages
  • iRider, a web browser
  • LimeWire, which renders the page 'New@Lime'
  • Lunascape, developed by Lunascape Corporation
  • Maxthon, which uses the Trident engine while adding features not built into IE7
  • MediaBrowser, customized browsers, especially for Nintendo
  • MenuBox, a web browser
  • Microsoft Compiled HTML Help
  • Microsoft Encarta and related products
  • Microsoft InfoPath
  • Microsoft Outlook which uses Trident to render HTML Messages (prior to Outlook 2007) and the "Outlook Today" screen
  • Microsoft Outlook Express, which uses Trident to render HTML Messages
  • Microsoft Visual InterDev 6 uses Trident in editing mode as visual HTML designer
  • Microsoft Visual Studio 2002-2005 use Trident in editing mode to provide visual ASP.NET/HTML designer
  • MSN Messenger, which uses it to produce Flash-based "winks" and games, and for all advertisements shown in the advertisement banner
  • NeoPlanet, a web browser
  • NetCaptor, a web browser
  • Netscape Browser (Netscape 8), which used Trident to render web pages in IE mode
  • Pyjamas, a python Widget set Toolkit. Embedding IWebBrowser2 as an Active-X component and accessing the COM interface, Pyjamas uses Trident for the Desktop version, through the python win32 "comtypes" library.
  • RealNetworks
  • Sleipnir, a web browser
  • SlimBrowser, a web browser
  • Skype, a VoIP software renders HTML data with Trident.
  • TheWorld Browser, a web browser
  • TomeRaider, an ebook reader
  • Tencent Traveler, a web browser
  • ThreeTeeth Browser, a lightweight web browser.
  • UltraBrowser, a web browser
  • Valve's Steam client, previous versions of which used Trident to render the "Store", "Update News" and "Community" sections as well as the Steam in-game browser and MOTD screens in Valve games. The Steam client was recently updated to use WebKit instead of Trident for these features.
  • WebbIE, a web browser
  • Windows Live Writer, which uses Trident for its editor.
  • Windows Media Player, which uses Trident to render the "Media Information" pages.

Standards compliance

Although each version of IE has improved standards support, including the introduction of a "standards-compliant mode" in version 6, the core standards that are used to build web pages (HTML and CSS) are sometimes implemented in an incomplete fashion. For example, there was no support for the <abbr> element which is part of the HTML 4.01 standard prior to IE 8. There are also some CSS attributes missing from Trident, like min-height, etc. as of IE 6. As of Internet Explorer 8 CSS 2.1 is fully supported as well as some CSS 3.0 attributes.[13] Internet Explorer 9 has introduced support for CSS 3, HTML5, and SVG, as well as other modern web standards. This lack of standards compliance has been known to cause rendering bugs and lack of support for modern web technologies, which often increases development time for web pages.[14]

Microsoft alternatives

Apart from Trident, Microsoft also has and uses several other layout engines. One of them, known as Tasman, was used in Internet Explorer 5 for Mac. Development of Internet Explorer for Mac was halted in roughly 2003, but development of Tasman continued to a limited extent, and was later included in Office 2004 for Mac. Office for Mac 2011 uses the open source WebKit engine. Microsoft's new web design product, Expression Web as well as Visual Studio 2008 and later do not use Internet Explorer's Trident engine, but rather a different engine.[15]

See also

References

  1. ^ Hachamovitch, Dean (2007-12-14), Internet Explorer 8 and Acid2: A Milestone, Microsoft, http://blogs.msdn.com/ie/archive/2007/12/19/internet-explorer-8-and-acid2-a-milestone.aspx 
  2. ^ "Details on our CSS changes for IE7". http://blogs.msdn.com/ie/archive/2006/08/22/712830.aspx. Retrieved 2010-02-23. 
  3. ^ "Overview of Platform Improvements in IE8 RC1". http://blogs.msdn.com/ie/archive/2009/01/29/overview-of-platform-improvements-in-ie8-rc1.aspx. Retrieved 2010-02-23. 
  4. ^ "Microsoft's Interoperability Principles and IE8". http://blogs.msdn.com/ie/archive/2008/03/03/microsoft-s-interoperability-principles-and-ie8.aspx. Retrieved 2010-02-23. 
  5. ^ Lawrence, Eric (2010-03-24), re: Introducing IE9’s User Agent String, Microsoft, http://blogs.msdn.com/ie/archive/2010/03/23/introducing-ie9-s-user-agent-string.aspx#9984436 
  6. ^ Cox, John (2008-12-21), Microsoft Tackles the Mobile Browser, PC World, http://www.pcworld.com/article/155838/msft_mobile_browser.html, retrieved 2010-04-08 
  7. ^ Warren, Tom (2010-03-16), Windows Phone 7 browser is based on Internet Explorer 7, Neowin, http://www.neowin.net/news/windows-phone-7-browser-is-based-on-internet-explorer-7, retrieved 2010-03-16 
  8. ^ Marini, Joe (2010-03-25), Ladies and Gentlemen, Please Welcome... the IE Mobile User Agent String!, Microsoft, http://blogs.msdn.com/iemobile/archive/2010/03/25/ladies-and-gentlemen-please-welcome-the-ie-mobile-user-agent-string.aspx 
  9. ^ Lawrence, Eric (2009-01-09), The Internet Explorer 8 User-Agent String (Updated Edition), Microsoft, http://blogs.msdn.com/ie/archive/2009/01/09/the-internet-explorer-8-user-agent-string-updated-edition.aspx 
  10. ^ Hachamovitch, Dean (2007-12-19), Internet Explorer 8 and Acid2: A Milestone, Microsoft, http://blogs.msdn.com/ie/archive/2007/12/19/internet-explorer-8-and-acid2-a-milestone.aspx 
  11. ^ Silbey, Marc (2010-03-23), Introducing IE9’s User Agent String, Microsoft, http://blogs.msdn.com/ie/archive/2010/03/23/introducing-ie9-s-user-agent-string.aspx 
  12. ^ Silbey, Marc (2011-04-15), Introducing IE9’s User Agent String, Microsoft, http://blogs.msdn.com/b/ie/archive/2011/04/15/the-ie10-user-agent-string.aspx 
  13. ^ "CSS Compatibility and Internet Explorer". http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx. Retrieved 2008-10-05. 
  14. ^ "Microsoft’s Internet Explorer Slows Down Web Development". http://www.onenaught.com/posts/44/microsofts-internet-explorer-slows-down-web-development. Retrieved 2010-07-27. 
  15. ^ Mauceri, Rob (April 16, 2007). "Office Live and SharePoint". Microsoft SharePoint Designer Team Blog. Microsoft corporation. http://blogs.msdn.com/sharepointdesigner/archive/2007/04/11/office-live-and-sharepoint.aspx#comments. Retrieved August 23, 2010. "SharePoint Designer doesn't use Trident. SharePoint Designer, Expression Web, and the next version of Visual Studio's Visual Web Designer (code name Orcas) all use the same standards-based web design component. This component was developed jointly by the three product teams for high fidelity rendering of web standards like CSS, XHTML, as well as ASP.net." 

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Layout 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… …   Wikipedia

  • Gecko (layout engine) — Gecko Developer(s) Mozilla Foundation / Mozilla Corporation Stable release 8.0 / November 8, 2011; 6 days ago (2011 11 08) [1] …   Wikipedia

  • Tasman (layout engine) — Tasman is the name of a layout engine developed by Microsoft, introduced with the Macintosh version of Internet Explorer 5, a new feature in the development of Internet Explorer for Mac (IE mac versions extended back to IE 2). Tasman was an… …   Wikipedia

  • Presto (layout engine) — Presto Developer(s) Opera Software ASA Stable release 2.9.168 / 28 June 2011; 4 months ago ( …   Wikipedia

  • Mariner (layout engine) — Mariner was a canceled project to add performance and stability enhancements to the layout engine used in the Netscape Communicator web browser. Mariner became open source in March 1998 when Netscape released its client code and started the… …   Wikipedia

  • Trident (disambiguation) — A Trident is a three pronged staff.Trident may also refer to:Military*Trident missile, a submarine launched ballistic missile used by the United States and United Kingdom *UK Trident programme, Britain s Trident missile weapons program *Ohio… …   Wikipedia

  • Trident — (englisch für Dreizack) bezeichnet: Trident (SLBM), U Boot gestützte Atomwaffen der USA und Großbritanniens HMS Trident, mehrere Schiffe der Royal Navy Peel Trident, dreirädriger Kleinstwagen des britischen Automobilherstellers Peel Hawker… …   Deutsch Wikipedia

  • Trident — Trident, трайдент (англ. трезубец)  многозначный термин: Trident или MSHTML  ядро отображения страниц (layout engine) для Windows версии Microsoft Internet Explorer. Трайдент (ракета)  американская баллистическая ракета… …   Википедия

  • Trident (значения) — Trident, трайдент (англ. трезубец): Trident или MSHTML ядро отображения страниц (layout engine) для Windows версии Microsoft Internet Explorer. Трайдент (ракета) американская баллистическая ракета морского базирования, стартующая из подводного… …   Википедия

  • Comparison of layout engines (Cascading Style Sheets) — Cascading Style Sheets CSS Animations Dynamic CSS Comparison of layout engines Comparison of stylesheet languages Internet Explorer box model bug CSS Zen Garden The Zen of CSS Design CSSTidy Style sheet Tableless web design Holy Grail (web… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”