HTML and CSS Reference
A Brief Overview of Web Applications
This topic is designed to teach you how to write rich web applications utilizing the tools and
technologies available natively in web browsers (as opposed to plugins). This topic will fo-
cus solely on the languages and libraries available in the latest versions of the following web
Many of the examples in this topic will not work in older browsers, and in many cases there
are no workarounds. When writing a web application the obvious first question to ask is
“What browsers, and which versions of those browsers do I need or want to support?”
There is an obvious trade-off involved:
• The more browser and browser versions you support, the more users can use your web
application. Remember, some users, particularly in corporate environments, do not choose
either their browser or their browser version.
• The more browser and browser versions you support, the more restrictions you will en-
counter in terms of availability and compatibility of APIs. Later in this topic we will en-
counter an approach called polyfills that allow you to “upgrade” the features offered by a
user's browser, but this approach will not always work.
All major browsers now support auto updates. Although this feature can be turned off, it
does mean that it is no longer a wild assumption to assume that most users will have the
latest version of their favourite browser, at least outside corporate environments.
The main exception to this is Internet Explorer. Internet Explorer 10 is not available on older
versions of Windows; therefore many users will have older versions of Internet Explorer. In
general, most of the examples in this topic will work in Internet Explorer 9, some will work
in Internet Explorer 8, but supporting Internet Explorer 6 and 7 becomes a more daunting
The web site http://caniuse.com/ is an invaluable resource for understanding the features
offered by various browsers and browser versions.