2005-5-2-AJAX:a new approach to web applications
AJAX:a new approach to web applications
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
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.
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.
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 Gmail. 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.
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.
Case study of using AJAX in a CRM system by Espen Antonsen.
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.
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.
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.