Channels ▼
RSS

.NET

IE9 Unlocks HTML5


In mid March, Microsoft released version 9 of its storied Internet Explorer browser. Previous releases haven't had important implications for software developers, mostly adding new features and baubles of interest to users. But IE 9 has definite implications for programmers, focusing on the use of HTML5, the new specification of the language that defines websites.

HTML5 is widely viewed as a watershed technology that makes it easier to use multimedia and construct applications that run in the browser. These benefits hinge on the widespread expectation that complex applications increasingly will run inside the browser or the browser will function as the GUI to cloud-hosted apps. If you've used Google Docs and Zoho's online spreadsheets and word processors, then you'll understand how this scenario works.

Behind the scenes, the browser and the server exchange data and commands. The commands are generally written in JavaScript and executed in the browser, but the browser is limited in what it can do. As a result, Web applications in the pre-HTML5 world were left with two alternatives: Send over lots of JavaScript to the browser, which slows things down for the user, or force the user to install browser plugins such as the Adobe Flash plugin.

While users might be willing to download a plugin from Adobe, Google or Microsoft, they don't want to download one for every app they run in the browser. That has left many Web apps sending lots of JavaScript over the connection so that the browser will respond appropriately to actions and commands.

HTML5 changes this by specifying a range of capabilities that the browser must support, including video, drawing, text manipulation, and offline storage. The applications then simply invoke them via commands, rather than sending bits over the network to run on the client or using plugins. (For a more, see HTML5 Up and Running.)

Rendering Advances

While interest in HTML5 has been growing, Microsoft's slow adoption of the spec has been a barrier to jumping in fully. Because IE is the dominant browser in the market, any HTML5 development would have an indeterminate outcome if it couldn't be tested in the Microsoft browser. Before the release of IE9, the rendering engine in IE — known as Trident — didn't fully support several standards essential to HTML5, including several HTML5 syntactical advances. The new release of Trident, version 5.0, can render much of HTML5, as well as Cascading Stylesheets (CSS) 3.0 and Scalar Vector Graphics (SVG).

SVG uses XML to specify a drawing or text. It relies entirely on the browser to take the data elements and render them as lines, curves, colors, and shapes. For years, IE has been the only browser without native SVG support. This situation accounts for the long delay in adoption of SVG as a common format for specifying 2D graphics and illustrations. The possibility that Microsoft might similarly fail to adopt core elements of HTML5 was a concern that couldn't be ignored until the Redmond giant released an official browser version with these capabilities.

IE9 gives both HTML5 and SVG a shot in the arm. Perhaps sensing the importance of the release to developers, Microsoft added other tools that expand previous capabilities to let developers go behind the scenes and explore the execution of a Web page, by viewing and stepping through the code and even profiling its activity. As Web applications become a larger part of workers' daily lives, it appears that Microsoft's browser will remain at the forefront — no longer just based on market share, but also because of its standards support and the technology with which it equips developers.

Write to Andrew Binstock at alb@drdobbs.com.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video