Analysis and Testing of Ajax-based Single-page Web Applications
Analysis and Testing of Ajax-based Single-page Web Applications
Analysis and Testing of Ajax-based Single-page Web Applications
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Figure 1.6 Screen shot <strong>of</strong> Google Suggest. As a web user types search keywords,<br />
the application retrieves suggestions from the server at the background, <strong>and</strong> shows<br />
them to the user without having to refresh the whole <strong>page</strong>.<br />
The term <strong>Ajax</strong> served to highlight <strong>and</strong> give a name to a new breed <strong>of</strong> web<br />
applications that could be seen as a further evolution <strong>of</strong> the classical web.<br />
Although many <strong>of</strong> the technologies <strong>Ajax</strong> is <strong>based</strong> on are not new, this naming<br />
by Garrett made web developers aware <strong>of</strong> the possibilities for adopting a new<br />
way <strong>of</strong> developing applications on the web. Figure 1.5 depicts the classical<br />
synchronous interaction pattern compared with the asynchronous pattern <strong>of</strong><br />
an <strong>Ajax</strong> application.<br />
For more technical details we refer to Appendix A, which describes a simple<br />
single-<strong>page</strong> <strong>Ajax</strong>-<strong>based</strong> example application.<br />
Although there have been some disagreements (Koch, 2005) on what <strong>Ajax</strong><br />
is exactly, how new it is, <strong>and</strong> which essential components the technology<br />
is constituted from, a general acceptance <strong>of</strong> the fundamental concepts has<br />
been achieved within the web community. The acceptance has mainly been<br />
driven by the many concrete <strong>Ajax</strong> examples Google has been working on<br />
(even before the term <strong>Ajax</strong> was coined) from Google Suggest (Figure 1.6),<br />
Google Maps, Gmail, to porting desktop applications like Word to web-<strong>based</strong><br />
versions like Google Documents (Figure 1.7).<br />
When we take a look at such applications from a user’s perspective, the<br />
main difference, with respect to classical web applications, is the increased<br />
responsiveness <strong>and</strong> interactivity. A refresh <strong>of</strong> the entire <strong>page</strong> is generally not<br />
seen any longer for each user action <strong>and</strong> the interaction takes place at a much<br />
finer granularity level.<br />
When compared to RIA technologies such as OpenLaszlo, the main difference<br />
<strong>and</strong> advantage is that no plugin is required, since <strong>Ajax</strong> is <strong>based</strong> on web<br />
st<strong>and</strong>ards that modern browsers support already.<br />
Chapter 1. Introduction 9