Thursday, March 11, 2010

One reason why web developers hate IE.

The image above graphs how well a browser conforms to the ECMA standard. The ECMA standard defines how a browser should execute JavaScript code. JavaScript is very important in the development in interactive web pages, and helps blur the lines between a web application and a desktop application.

The close a browser is to the middle, the more in line it is with the ECMA standard. The closer a browser is to another browser, the more its JavaScript engine is like the other browser.

Conforming to standards is important to web developers because it means we can write code once and it will run anywhere that supports those standards. When different browsers behave differently, it means we have to know what those differences are and code around them if we want to ensure our user-base can use our products regardless of platform.

Notice IE sitting way out there on the edge far away from everyone else. This should give non-developers a good idea what the life of a web developer looks like. When I write web applications, I do all my initial testing in Chrome. Chrome has a lot of good developer tools built in that make troubleshooting easier. Once I am done getting everything working right I fire up Firefox and make sure I don't have any missing or broken functionality. I almost never do, so I then up Internet Explorer. Things start getting really interesting at this point. I have to start hunting down each problem, looking through the code, and hunt down what it is about my code that IE doesn't like and begin writing exceptions.

The problems with IE go well beyond how it implements JavaScript, but I won't get into that. Make your web developers happy and use anything but IE. The day we can stop coding for IE, or at least get IE on board with the rest of the team, web developers will be able to kick out awesome web applications much faster.

License

All content on this blog is licensed under the Creative Commons Attribution Share Alike license, unless cited from an external source or noted otherwise. Please click here for full licensing information.

All software code published on this blog is public domain, and may be used at will as one sees fit.