2005-5-2-AJAX:a new approach to web applications
2005-5-2-AJAX:a new approach to web applications 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) andCascading Style Sheets for presenting information
2.Document Object Model,JavaScript to dynamically display and interact with the information presented
3.XML,XSLT and theXMLHttpRequest object to interchange and manipulate data asynchronously with the web server (although AJAX applications can use other technologies, including plain text andJSON , 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
2 Pros and cons
3 Adoption of AJAX
4 External links
5 Notes
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 andGmail. Secondly, the name AJAX was coined inAJAX: 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 Matters
Case study of using AJAX in a CRM system by Espen Antonsen.
Notes
Management 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.