Why the time has come for browser
applications
Since web applications first appeared, the standard
method of
presenting the user interface has been for each the server to generate
a new page of HTML in response to each request from the browser, so
that the browsercompletely redisplays the page after each request.
This leads to a "clunky" look and feel, with the continual
redrawing of the screen interrupting the user's natural work flow.
During 2005, the buzzword AJAX appeared, referring to a
collection of techniques for a web page in the browser to retrieve data
in the background and update itself in place, rather than causing a
complete page reload. Most of these techniques had been
available
for several years, but most developers either did not know about them
or thought they were too difficult to use.
AJAX techniques are usually used at the moment to add
small
clever features to fairly standard web pages. But it
is
time to completely rethink the way web applications work, and move to
the idea of a fully fledged client application in the browser, written
in JavaScript. This browser application makes HTTP requests
to
the server application, which contains all the business logic.
The server responds to the browser with only the data
resulting
from the request, rather than a full web page. The browser
application is responsible for displaying the data as appropriate,
using DHTML to create new elements in the page - it does not reload the
page. The browser application creates its own windows within
the
page by dynamically creating and positioning HTML elements.
Advantages
of browser applications
Browser applications bring advantages for both the
provider and the users
- Better look and feel
It is now possible to create browser applications that look very
similar to desktop applications, and that can be as responsive, if the
server and network are fast enough
- Simplicity of development
Using a browser
application enforces a very clean split between the business logic on
the server and the presentation layer in the browser
- Reduced server traffic
The browser
application can
do some work itself, such as displaying forms for data entry, that
would require a server request in a standard web application.
When it does make a server request, only the data is
returned,
which could be only 10% of the size of a full HTML page containing the
same data
- Reduced server processing
Generating HTML
can be
quite heavy processing, especially if techniques such as XSLT are used.
With a browser application, that work is spread out around
the
client computers.
Other changes
Various other changes are happening at the moment that
make browser applications more attractive
- Cross-browser capabilities
The large differences in the DHTML capabilities of browsers have now
largely disappeared, making it much easier to develop applications that
will work for nearly all users
- Broadband access
The JavaScript files containing the application have to be downloaded
when the page is first accessed, and they can be quite large.
This would have caused an unacceptable delay on a standard
modem,
but with broadband access now being widespread, most users would be
able to download a typical application in under 10 seconds
- Hosted applications
More and more applications are being delivered over the web, instead of
being installed locally on the customer's own computers.
Browser
applications will allow these systems to match the usability of a local
desktop application.