IE 8 was officially released on March 19, 2009. Since that time IE 8 has gained around 7% market share. Market share will only continue to increase since the browser will be available through Windows Update. Despite having a similar look and feel to IE 7, IE 8 is a completely new browser. Everything from the process model to the rendering engine has been significantly changed with the goals of improving stability, performance, and standards compliance. IE 8 is the first Microsoft browser to pass the Acid2 test. This is a huge step forward for Web developers since all current versions of the major browsers are now relatively standards compliant.
IE 8 Modes
However, all is not well in Web development land. IE 8 does present some new challenges for developers. The first is understanding IE 8's rendering modes.
Standards Mode
The default mode in IE 8 is Standards mode. Standards mode is pretty self explanatory: it's IE 8's best attempt at complying with Web standards. Standards mode has better support for CSS 2.1 and does away with IE 7's challenging hasLayout DOM property.
Compatibility View
The other major mode of rendering is Compatibility View. This mode exists to allow backward compatibility with sites that are optimized for IE 7. In a nutshell, this mode forces IE 8 to render pages as much like IE 7 as possible. Sites can force the browser into this mode through the use of meta tags and HTTP headers (see below).
Internet Explorer 7
The developer toolbar that ships with IE 8 makes a third rendering mode available, Internet Explorer 7 mode. This mode forces IE 8 to use the IE 7 rendering engine. While this is intended to let developers see what sites look like in IE 7, there are still some slight differences in the rendering particularly in the width of tables.
Testing
The next hurdle for developers to overcome is one of testing. The new rendering modes essentially mean that we now have three new browsers to test rather than just one. Users can choose to display all Web sites using Compatibility View so we must ensure that sites function properly and look correct in both Standards mode and Compatibility View. Of lesser importance is testing in Internet Explorer 7 mode since it is only available through the toolbar and cannot be used as a permanent setting. We will need to test separately for IE 7.
Sites in production
Most sites currently in production should continue to function and render correctly in IE 8. Notable exceptions to this are sites that make heavy use of Javascript or third party controls. Regardless of a site's reliance on outside code, we will need to verify that supported production sites are functional.
Force Compatibility
For sites that do not work in Standards mode, we can quickly fix them with an "IE=EmulateIE7" tag. This tag can be set on a page-by-page basis using a meta tag. Sites that have master pages should have the tag set in the master's head element. The tag can be applied site wide using an HTTP header. It's important to note that forcing IE 7 compatibility is a short term fix for existing code bases only. New development must be IE 8 compliant.
Third Party Tools
One of the last major issues with IE 8 is with integrating 3rd party products. Presumably, as IE 8 matures and other developers have a chance to catch up this will be less of an issue. The two libraries that we have had trouble with in the office are Google Maps API and Telerik controls.
Google Maps API
There appear to be some problems with handling click events, locating pins, and generally rendering maps with the API. At the moment there does not appear to be a good fix for these problems short of forcing Compatibility View. This appears to be the one valid exception to the rule of new development needs to be compliant with IE 8.
Telerik Controls
Any version of Telerik prior to Q1 2009 SP1 are not guaranteed to work in IE 8. Older versions of the RadGrid control's client side API and the RadComboBox control, in particular, fail miserably in IE 8. Even in Compatibility View, IE 8 will not correctly render older versions of the RadComboBox. Telerik has been very aggressive in fixing these kinds of errors so upgrading is the only fix for problems in existing sites. There is a caveat to upgrading: skins for older versions of the controls are not compatible with Q1 2009 SP1. Fortunately, Telerik has provided an online skin converter to assist in the upgrade. New sites should use Q1 2009 SP1.
More Information
The definitive source of IE 8 information from Microsoft is the Developer Information Index for IE 8.