Even if we do not aim to be a “technical blog” about Web 2.0, focusing on benefits for end-users, we cannot avoid to talk about Ajax.
As Wikipedia says, it is a web development technique used for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change. This is intended to increase the web page’s interactivity, speed, functionality, and usability.
Ajax is asynchronous in that XML data loading does not interfere with normal HTML and JavaScript page loading. JavaScript is the programming language in which Ajax function calls are made. Data retrieved using the technique is commonly formatted using XML, as reflected in the naming of the XMLHttpRequest object from which Ajax is derived.
Ajax is a cross-platform technique usable on many different operating systems, computer architectures, and Web browsers as it is based on open standards such as JavaScript and XML, together with open source implementations of other required technologies.
AJAX: WHY?
Tired of having to wait for the next HTML page to show up before seeing the effect of your actions? Ajax style programming overcomes the page loading requirements of HTML/HTTP-mediated web pages. Ajax creates the necessary initial conditions for the evolution of complex, intuitive, dynamic, data-centric user interfaces in web pages—the realization of that goal is still a work in progress.
Web pages, unlike native applications, are loosely coupled, meaning that the data they display are not tightly bound to data sources and must be first marshaled (set out in proper order) into an HTML page format before they can be presented to a user agent on the client machine. For this reason, web pages have to be re-loaded each time a user needs to view different datasets. By using the XMLHttpRequest object to request and return data without a re-load, a programmer by-passes this requirement and makes the loosely coupled web page behave much like a tightly coupled application, but with a more variable lag time for the data to pass through a longer “wire” to the remote web browser.
For example, in a classic desktop application, a programmer has the choice of populating a tree view control with all the data needed when the form initially loads, or with just the top-most level of data—which would load more quickly, especially when the dataset is very large. In the second case, the application would fetch additional data into the tree control depending on which item the user selects. This functionality is difficult to achieve in a web page without Ajax. To update the tree based on a user’s selection would require the entire page to re-load, leading to a very jerky, non-intuitive feel for the web user who is browsing the data in the tree.
AJAX: LINKS
Dmoz editors accepted these Ajax-related links in their directory:
- Adaptive Path - AJAX: A New Approach to Web Applications - Seminal article which popularized “AJAX” as a term.
- Ajax and XUL - Ajax and XML-related tutorials. XUL authoring. The Xul Dev project.
- AJAX by Mozilla Developer Center - A comprehensive guide on getting started with AJAX including articles, tutorials and links to other useful websites.
- Ajax Cookbook - A web site devoted to publishing small, reusable snippets of JavaScript, HTML, and CSS that are generally useful to developers of Ajax web sites.
- AJAX Courseware - Full color AJAX courseware suitable for 3-day training focusing on real-world topics such as using SOAP envelopes, processing JSON data and building an online word processor.
- AJAX Cross-browser Implementation - A guide to implementing cross-browser AJAX websites using the Sarissa library.
- Ajax Daddy - Offers a collection of scripts using Ajax.
- AJAX Goals - AJAX community website featuring articles, books, blogs, news and libraries.
- Ajax Impact - A portal on Ajax containing news, articles, tutorials, toolkits, sites using Ajax, Ajax Demos etc.
- AJAX in Java - Jaxcent provides a Java API for DOM. Allows trusted sites to do AJAX style programming without JavaScript.
- Ajax Lessons - Resource for ajax tutorials as well as information surrounding Ajax and web 2.0.
- AJAX Magazine - Reference for AJAX, Asynchronous Javascript and XML, with news, articles, tutorials, and implementations.
- AJAX Matters - An informational site providing Asynchronous JavaScript and XML development information including code libraries, sites using ajax, and books on ajax.
- Ajax Patterns - A wiki with principles, gotchas, frameworks, and common techniques. Also the homepage for the “Ajax Design Patterns” book.
- Ajax Projects - Ajax portal for all ajax projects frameworks toolkits and tutorials.
- Ajax Training - In this Ajax training course, students learn to make calls to the server with JavaScript and to manipulate XML content returned from the server.
- Ajax Training Course by Marakana - Ajax Training Course explains how to distribute the application between the client and the server by using the nested MVC design pattern. You will learn how to make your application to be flexible and maintainable.
- AJAX Training in San Francisco - A hands-on instructor led training class offered in San Francisco Bay Area. Course emphasizes practical experience and covers topics like JSON and SOAP.
- Ajax Tutorial - Ajax programming tutorials for newbies
- AJAX: Usable Interactivity with Remote Scripting - Tutorial article about AJAX, including a discussion about usability.
- AjaxApp.com - A forum-site for the discussion of interactive web-based application development based on Open Source Technology such as PHP, J2EE, DHTML & AJAX (Asynchronous JavaScript And XML)technology
- Ajaxdo - Provides an easy, open source database persistency framework for JavaScript objects. Enables runtime loading, saving, deleting, and listing of JavaScript objects stored on the server database.
- Ajaxium - Makes ASP.NET pages and all controls AJAX-enabled but leaves them accessible to all search engines and old browsers.
- Ajaxlines - Ajaxlines is a project focused on providing its audience with a database of most of Ajax related articles, resources, tutorials and services from around the world.
- Ajax.NET - Documentation and downloads for an AJAX library that uses .NET for the backend.
- Ajax.NET Professional Library - Ajax.NET Professional is the first available .NET AJAX framework. As it is working with .NET 1.1 and 2.0 and with all common web browsers including mobile devices it is one of the greatest libraries available.
- Ajaxtalk - Asynchronous Javascript and XML discussion board.
- Anaa Framework - An AJAX API
- AsH: Top 126 Ajax Tutorials - Collection of Ajax Tutorials.
- Aspects of AJAX - Aspects of AJAX is a platform and engine for developing responsive and interactive web applications by using and extending the browser platforms to a Rich Client System.
- Atlas - Provides the implementation of AJAX technology introduced by Microsoft.
- BestAjaxScripts.com - Ajax scripts & tutorials. All scripts are absolutely free and have demos, so you can try before installing it. Also ,it has a great search tool to find the scripts and tutorials you need.
- Dajax - an ajax framework, provides a set of simple interfaces for creating web UI components and rich internet application.
- Developing Rich Internet Applications with AJAX Training Course - Hands-on AJAX training course for developers who are looking to develop Rich Internet Applications using Asynchronous JavaScript and XML technologies. Public courses available in London, UK and custom courses delivered globally.
- Direct Web Remoting - DWR - A Java open source library which helps developers wanting to write web sites that include AJAX technology.
- Dojo - the Javascript Toolkit by the Dojo Foundation
- Dynamic HTML and XML: The XMLHttpRequest Object - Introduction and documentation from Apple Developer Connection.
- Encosia - ASP.NET AJAX tutorials and code examples.
- Feather Ajax - An easy-to-use light AJAX library
- Fork JavaScript - A general purpose, namespaced JavaScript library with Ajax, Events, DOM manipulation. Good documentation, subversion source repository and download.
- Free ajax scripts & tutorials - A collection of free ajaxscripts & tutorials.
- Gaia Ajax Widgets - An ASP.NET 2.0 Ajax Widget library
- Google AJAXSLT - Google’s AJAXSLT is an implementation of XSL-T in JavaScript for AJAX applications. Includes links for downloading.
- Google Web Toolkit - Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers taking care of browser and platform incompatibilities and modularity issues.
- Introducing the Dojo Tree Widget - An introduction to the dojo tree widget. Includes building in HTML and programmatically in javascript. Also covers RPC data binding (ala ajax)
- Jigsaw - A simple JavaScript framework for AJAX. Includes download, brief overview, and examples.
- jQuery - A fast, concise, JavaScript library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax.
- JSLog - Lightweight ajax logger. takes the place of alert() boxes for AJAX and DHTML applications.
- KFM - Kae’s File Manager - An Ajax file manager for PHP, which may be used stand-alone, or as a plugin for a rich text editor.
- Linb Framework - Provides a framework designed to allow developers to code in a more targeted, clear and efficient manner.
- miniAJAX - A showroom of nice looking simple downloadable DHTML and AJAX scripts
- MyAJAX - An object-oriented implementation for AJAX JavaScript made for ease of use.
- NanoAjax - An open source AJAX (XMLHTTPRequest) Framework with an object oriented PHP Backend. Package multiple (virtual) requests in one real AJAX request. Uses JSON for smallest data transfer.
- ONLamp.com: Ajax on Rails - Curt Hibbs demonstrates the use of Ajax within Ruby on Rails applications.
- OpenAjax Alliance - An organization of vendors, open source projects, and companies that are dedicated to the successful adoption of open and interoperable Ajax-based web technologies. Includes list of members, news, and details of events.
- Prototype JavaScript Framework - Provides class-style OO and Ajax, freely distributable under the terms of an MIT-style license.
- Purefect Desktop - Open Source Web Desktop (a.k.a Webtop and Web “OS”) that provides Web-based AJAX IDE, Instant Messenger, and its APIs.
- Rialto - Rich Internet Application Toolkit - Rialto is a cross browser javascript widgets library. Because it is technology agnostic it can be encapsulated in JSP, JSF, .Net or PHP graphic components.
- SAJA - Secure AJAX for PHP - A lightweight AJAX framework for PHP allowing encrypted data to be trasmitted over non-encrypted channels.
- SAJAX - Simple Ajax Toolkit by ModernMethod - An open source XMLHTTPRequest toolkit with PHP, Perl, and Python backends.
- Sardalaya - Cross-browser interface that aims to make dynamic HTML programming easy and fun.
- Script.aculo.us - A collection of Web 2.0 style JavaScript libraries that help web developers add AJAX functionally to projects.
- Sote Design using prototype - The Web 2.0 style website designing using Prototype Javascript framework
- Two Birds - Provides contact info, download area for framework and link to technology prototype.
- The very popular Mastering Ajax series from IBM - The author, an Ajax expert, demonstrates how Ajax technologies work together — from an overview to a detailed look — to make extremely efficient Web development an easy reality and make you the Master of Ajax.
- wddxAJAX - ColdFusion library for AJAX - an AJAX framework for ColdFusion using WDDX protocol for exchanging data between ColdFusion and HTML page
- WebPasties : XmlHttpRequest - Detailed tutorial that explains how to creating an AJAX ZIP code database including a PHP/MySQL backend.
- xajax PHP Class Library - xajax is an open source PHP class library that allows you to easily create Ajax applications using HTML, CSS, JavaScript, and PHP.
- XMLHttpRequest and AJAX Applications - Fiftyfoureleven.com - A blog with code snippets and proofs of concept.
- The XMLHttpRequest object - Specification by W3C, of the base of AJAX.
- xWire Framework (AJAX Toolkit) - xWire is a mature, object-oriented, enterprise-class open source AJAX toolkit that contains numerous useful features and widgets.