Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Web Development

Ajax, RIAs, and the Future of Web Development

The Impact of Browsers

Unlike desktop applications, web developers rely on "middle men" to deliver applications to users in the form of web browsers. Changes to browsers significantly impact web applications, so understanding the current and future landscape of browser technology is an important aspect of web development. With the introduction of new browsers like Google Chrome and Mobile Safari, developers find themselves working in the middle of the Internet's second "browser war."

A lot has changed since the last browser war in 1999, though.

During the first browser war between Microsoft and Netscape, browsers differentiated by adding proprietary features designed to create application "lock-in" to a specific browser. In today's browser war, the opposite behavior exists. Browsers are racing to implement standards of the web -- CSS2/3, HTML4/5, EMCA Script -- and are instead differentiating on performance, security, and quality of standards support. This commitment to implementing standards is a good thing for developers and for standards-based development. The more consistently browsers adopt and implement standards, the more usable new Internet standards become. Web developers are often forced to develop to the lowest common denominator to ensure their apps run on all Internet devices, and today's focus on raising the "standards bar" gives developers the green light to use CSS and JavaScript in applications that target the masses.

The other side effect of this "standards focus" is that it no longer matters who "wins" the browser war. If all browsers are more or less rendering pages consistently and the key differentiators are speed, performance, reliability, and end-user "chrome" features, then web developers can sit back and enjoy the benefit of increasingly powerful application delivery "middle men." Web applications will be built to run on any browser that supports standards, and companies will not be locked-in to a specific browser vendor. But it's not all goodwill and cooperation in today's browser war.

While standards do exist and browser makers are building browsers to implement them, there can be significant variation in implementation. The best example of this is the notoriously varying support for CSS in today's browsers. Web developers have developed all variety of unusual "hack" to work around the differences of each browser's CSS implementation, and each of those hacks represents wasted development time. It's this "hack" mentality that has helped drive developers to the emerging RIA platforms where they're not burdened with the inconsistencies of browsers.

The next true test for browsers is HTML5. If browser makers can come together and begin delivering uniform support for the standards outlined in HTML5, standards-based development has a very serious possibility of reducing interest in RIA plug-in development. But if the past is a lesson for how long it can take browsers to uniformly implement a standard, developers can reasonably expect it to take another 12 to 24 months before browsers begin to offer enough next-generation standards support to compete with RIAs.

Impact on the Future

As Ajax, RIAs, and browsers evolve, they are forming the foundation for web applications that will become mainstream in the future. Whether there is greater potential in RIAs or standards-based development, there are four clear future trends these key technologies reveal:

  • Offline Web Applications. It's clear that in the future offline web applications will be common. The HTML5 standard focuses heavily on providing a standards-based infrastructure for enabling offline applications, and RIAs like Flash and Silverlight are quickly maturing APIs for offline scenarios.
  • More Mobile Browsing. The explosion of Internet connected mobile devices today will only continue in the future. As more users connect to the Internet on-the-go, it will become increasingly important to offer tailored mobile experiences to users. A 2008 Nielsen report revealed that mobile access to web sites extends a site's reach by 13% on average. Ignoring mobile in the future will not be an option.
  • Better Standards Support. The Internet is quickly finding its way to more devices than just PCs. Today you find the Internet in cars, appliances, TVs, and, of course, phones. In order to deliver consistently rich experiences to all of these devices, web applications will continue to require better, more uniform standards support. And for RIAs to compete, vendors must work quickly to put their plug-ins on as many devices as possible, aiming for ubiquity on par with JavaScript.
  • More Rich Interactivity Over the Web. Whether it's HTML5's new <video>, <audio>, and <canvas> tags, or Silverlight and Flash's powerful plug-in based rendering engines, the web is getting richer. Users increasingly expect "desktop-like" experiences for web-delivered applications, and providing those rich experiences will be a basic requirement of future web development.

In short, the future of the web will be visually rich, interactive applications that can be accessed through almost any Internet connected device, and used even when an active connection to the Internet is not available. RIAs and standards, and the browsers delivering both, are all heading in that direction. Developers will need to weigh the pros and cons of each approach to decide how to build applications for the future.

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.