2005-5-2
AJAX:a new approach to web applications
AJAX
or Asynchronous JavaScript and XML is a term coined by the Adaptive
Path consultancy
describing a web development technique for creating interactive web applications
using a combination of:
1.HTML
(or XHTML) and
Cascading Style Sheets for presenting information
JavaScript to
dynamically display and interact with the information presented
3.XML,
XSLT and the
XMLHttpRequest object
to interchange and manipulate data asynchronously with the web server (although
AJAX applications can use other technologies, including plain text and
JSON , as alternatives to XML/XSLT).
Like DHTML or LAMP, AJAX is not a technology in itself, but a
term that refers to the use of a group of technologies
together.
AJAX applications use web
browsers that support the above technologies as a platform to run on. Browsers
that support these technologies include Mozilla Firefox, Internet Explorer,
Opera, and Safari.
There are critics of the
term AJAX, claiming that it is an acronym coined for techniques that were
already in use, although an acceptable term for these methods was not in regular
use beforehand. Others claim that the Adaptive Path consultancy who created the
term are using it as a marketing vehicle.
Contents
1 How AJAX applications differ from traditional web applications
How AJAX applications differ from traditional web applications
Traditional web
applications allow users to fill out forms, and when these forms are submitted,
a request is sent to a web server. The web server acts upon whatever was sent by
the form, and then responds back by sending a new web page. A lot of bandwidth
is wasted since much of the HTML from the first page is present in the second
page. Furthermore, this method can impede creating rich user interfaces.
AJAX applications, on the
other hand, can send requests to the web server to retrieve only the data that
is needed, usually using SOAP or some other XML-based web
services dialect, and using JavaScript in the client to process the web server
response. The result is more responsive applications, since the amount of data
interchanged between the web browser and web server is vastly reduced. Web
server processing time is also saved, since a lot of this is done on the
computer from which the request came.
Pros and cons
Like DHTML
applications, AJAX applications have to be tested rigorously to deal with the
quirks of different browsers. The advantage of using the technology, however, is
the speed at which an application runs and responds to user interaction.
Some application
developers argue that AJAX ignores a common web development technique of
separating presentation markup and code fragments (architectures such as
Model-view-controller adhere to this philosophy). Defenders of AJAX state that
developers shouldn't be overly strict when using such architectures, and that
some code on an HTML page can be beneficial to the usability of a web
application, as long as this is not abused.
Adoption of AJAX
Whilst it has existed for
some time, in early 2005 a number of seminal events have popularised the
technique. Firstly, Google used
asynchronous communication as a basis for prominent interactive applications
including Google Groups,
Google Maps and
Secondly, the name AJAX was coined in
AJAX: A new approach for a new application , which quickly came into popular
use and helped raise consciousness of the technique.
There are now a rapidly
growing group of applications which use AJAX as a method for improving web page
interactivity, in part due to the increasing number of application toolkits
(e.g. Ruby on Rails)
that allow programmers to easily implement it.
External links
Ajax: A New Approach to Web Applications,
by Jesse James Garrett. The original article which coined the term
AJaX: Two steps forward... Two steps back?
by John Reynolds.
Ajax, promise or hype? by Peter-Paul
Koch.
Is AJAX worth adopting? by Harshad
Oak.
AJAX MattersCase study of using AJAX in a CRM system
by Espen Antonsen.
NotesManagement consulting (sometimes
also called strategy consulting) refers to both the practice of helping
companies to improve performance through analysis of existing business problems
and development of future plans, as well as to the firms that specialize in this
sort of consulting. Management consulting may involve the identification and
cross-fertilization of best practices, analytical techniques, change management
and coaching skills, technology implementations, strategy development or even
the simple advantage of an outsider's perspective. Management consultants
generally bring formal frameworks or methodologies to identify problems or
suggest more effective or efficient ways of performing business tasks.
HyperText Markup Language (HTML) is
a markup language designed for the creation of web pages and other information
viewable in a browser. The focus of HTML is on the presentation of
information—paragraphs, fonts, italics, tables, and so forth—rather than the
semantics—what the words mean.
XHTML,
or Extensible Hypertext Markup Language, is a markup language that has the
same expressive possibilities as HTML, but a stricter syntax. Whereas HTML was
an application of SGML, a very flexible markup language, XHTML is an application
of XML, a more restrictive subset of SGML. XHTML 1.0 became a World Wide Web
Consortium (W3C) Recommendation on January 26, 2000.
Cascading Style Sheets (CSS) is a
stylesheet language used to describe the presentation of a structured document
written in markup languages like HTML and XHTML. In addition, the language can
be applied to any application of XML, e.g. SVG, XUL, etc.
Document Object Model (DOM) is a form of
representation of structured documents as an object-oriented model. DOM is the
official World Wide Web Consortium (W3C) standard for representing structured
documents in a platform- and language-neutral manner.
JavaScript, in its more modern form, is an object-based scripting
programming language based on the concept of prototypes. The language is best
known for its use in websites, but is also used to enable scripting access to
objects embedded in other applications. It was originally developed by Brendan
Eich of Netscape Communications under the name Mocha, then LiveScript and then
renamed to JavaScript. Some are of the opinion that JavaScript has a syntax
close to that of Sun Microsystems’ Java programming language. But beside name
and syntax the language has more in common with the Self programming language
than with Java.
Extensible Markup Language (XML) is
a W3C-recommended general-purpose markup language for creating special-purpose
markup languages (it is a metaformat). It is a simplified subset of SGML,
capable of describing many different kinds of data. Its primary purpose is to
facilitate the sharing of structured text and information across the Internet.
Languages based on XML (for example, RDF, RSS, MathML, XSIL and SVG) are
themselves described in a formal way, allowing programs to modify and validate
documents in these languages without prior knowledge of their form.
XSLT,
or XSL Transformations, is an XML-based scripting language used for
transforming XML documents. It is the XML transformation language part of the
XSL specification (the other parts being XSL-FO and XPath). As with XML and
HTML, the XSLT specification is a Recommendation developed by the W3C.
XMLHTTP is a set of APIs that can be used by JavaScript, JScript,
VBScript and other web browser scripting languages to transfer XML or other data
to and from a web server using HTTP. The biggest advantage of XMLHTTP is the
ability to dynamically update a webpage without reloading the entire webpage or
using software plugins. It is used by many websites to implement responsive and
dynamic web applications. Examples of XMLHTTP applications include Google's
Gmail service and Google Suggest dynamic lookup interface.
JSON,
which stands for "JavaScript Object Notation", is a lightweight computer data
interchange format. JSON has the advantage, over XML, as a data interchange
format in that it can be trivially parsed, by JavaScript, with JavaScript's
built in eval() procedure. (This is important because of JavaScript's
ubiquitousness amoung web browsers.) JSON is JavaScript's object literal format.
DHTML
or Dynamic HTML designates a technique of creating interactive web sites by
using a combination of the static markup language HTML, a client-side scripting
language (such as JavaScript) and the style definition language Cascading Style
Sheets.
LAMP
is an acronym for a set of free software programs commonly used together to run
dynamic Web sites:
1. Linux, the operating system;
2.Apache, the Web server;
3.MySQL, the database management system (or database server);
4.Perl, PHP, and/or Python, scripting languages.
SOAP
is a standard for exchanging XML-based messages over a computer network,
normally using HTTP. SOAP forms the foundation layer of the web services stack,
providing a basic messaging framework that more abstract layers can build on.
Ruby on Rails is an open source web
application framework written in Ruby that closely follows the Model View
Controller (MVC) architecture. It strives for simplicity, allowing real-world
applications to be developed in less code than other frameworks and with a
minimum of configuration.