The evolution of web applications through rich internet applications
As demands keep growing, many of today’s web applications are running up against
the limits of the technology their clients provide,
in the form of web browsers.
HTML became the language those clients understand. It’s primarily suited
to describing general information, and its options for richer descriptions
in more complex user interfaces are very limited.
Even the many supporting technologies such as DOM, ECMAScript, and CSS don’t change that fact.
Interaction between users and a web application presents further problems, because each change in state
brings another reload of the whole page. Add in the need to handle
things like the back, forward, and reload buttons, and you inevitably
have to work to keep information around through session management or by laboriously
passing state data back and forth.
In a multilayer architecture, solving these problems falls to the client, or in the case of
web applications, the browser. Extending the browser with a rich
presentation layer (a Rich Client Presentation Tier) makes many of these problems solvable. It’s this
layer that transforms the ugly duckling into an application that’s easy and comfortable to use.
A rich presentation layer should offer logic for displaying content. It should also let the other parts
of the application communicate with the server independently of one another. This mechanism, based on
asynchronous messaging, is important for letting those parts behave autonomously. Add to that
an event-driven model that frees us from having to generate specific
HTML for every response.
Of course, I’ve only sketched a fraction of what a rich presentation layer does. Just as the middle tier evolved
over time into its present form with all the design patterns that solve its problems, the rich presentation layer
has started to evolve and will continue to do so.
Web applications took off largely because web browsers became
widespread. With rich applications, I expect the trend to follow one that
Macromedia has started with Macromedia Flex, which represents that
rich presentation layer.
More information is available in the Macromedia Flex article Extending Design Patterns into RIA, which
I heartily recommend reading.
Related articles
Related CZ Podcast episodes
- #217 · Ivo Lukačovič
On Windy, JavaScript and building companies. · Czech audio
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi and Filemon discuss Java 6 and web application frameworks. · Czech audio