The new approach to webs - applications

If also it is possible to name "glamurnym" something in modern designing interfaces, this creation of webs - applications. Eventually, when last time you heard that someone admired with the interface of a product not placed in the Internet? (Good, except for iPod.) All freshest and innovative jobs are in a network.


Despite of it, developers of webs - interfaces cannot do{make} anything with envy to the colleagues who create desktop-applications. Usual programs have all that force and speed of the response which, seem inaccessible to webs - applications. The same simplicity which promoted fast distribution of a worldnet now creates break meanwhile the user interaction which we can give, and interaction of users with desktop applications.


This break is reduced. Look on Google Suggest. See, prospective offers are almost continuously updated as you enter the text. Now go on Google Maps. Increase scale. Grasp the cursor a map and move her  there - here. Besides, all occurs almost instantly, without any expectation perezagruzki pages. Google Suggest and Google Maps - two examples of the new approach to designing webs - applications which we in company Adaptive Path name Ajax. This concept is formed as reduction from <Asynchronous JavaScript + XML> and represents fundamental break of our performances about opportunities of a web.


What is Ajax


Ajax - not technology. Actually it is some technologies succeeding everyone in the area, collected in a new strong direction. Ajax unites:


* Standardized performance with use XHTML and CSS;

* Dynamic mapping and interaction with help Document Object Model;

* An exchange and management of the data through XML and XSLT;

* Asynchronous data acquisition with use XMLHttpRequest;

* And JavaScript, connecting all this together.


The classical model of the web - application operates as follows: the majority of actions of the user send back on the server HTTP-search. The server makes necessary processing - obtains the data, processes numbers, cooperates with the various inherited systems and then gives out HTML page to the client. This model is borrowed from initial application of a web as hypertext environment, but those who read the book know, that does{makes} a web suitable for a hypertext not necessarily do{make} his  good for program applications.



Figure 1: Comparison of traditional model of webs - applications (at the left) with model Ajax (on the right).


In this approach a lot of the technical sense, but is not reached{achieved} by him  good interaction with the user. While the server does{makes} the job, than the user is engaged? Correctly, waits. And with each following step the user waits more and more.


It is obvious, if we created a web from zero would not began to keep waiting for users all time. If the page is loaded, why interaction with the user should stop each time when the program needs something from the server? Really, what for to the user in general to see that the application incorporates to the server?


In what difference Ajax


Application Ajax excludes interaction of type start - stop-start-JAF«» by introduction of mechanism Ajax as intermediate layer between the user and the server. Can seem that adding a new level in the application it is possible to slow down only his  reaction, but actually on the contrary.


Instead of loading page in the beginning of the user session a browser loads cursor Ajax written on JavaScript and usually hidden in the latent frame. This cursor is responsible for formation of the user interface and interaction with the server from a login name. Cursor Ajax allows to make interaction with the user asynchronously, that is irrespective of interaction with the server. Thus the user does not need to observe an empty window of a browser any more and the cursor as a sand-glass pending actions of the server.



Figure 2: Comparison of diagrams of interaction of the traditional web - application (from above) and asynchronous application Ajax (from below).


Each action of the user which usually makes HTTP-search, now instead of it takes the form of a JavaScript-call of cursor Ajax. Each answer to the action of the user which is not demanding the reference{manipulation} to the server as that simple check of the data, editing of the data in memory, and even some navigation, is carried out by a cursor independently. If the answer needs the information from the server, for example loading of an additional interface code, data transfer for processing, or reception of the new data the cursor makes necessary searches asynchronously, is usual with help XML, not interrupting interaction of the user with the application.


Who uses Ajax


Huge investments into development of approach Ajax does{makes} Google. All largest products anonsirovannye for last year - Orkut, Gmail, last beta-versions Google Groups, Google Suggest, and Google Maps - applications Ajax. (For technical details of realization Ajax address to excellent{different} researches Gmail, Google Suggest and Google Maps.) the Others do not lag behind: many properties of service Flickr liked by all rely on Ajax, and search engines A9.com from Amazon use similar technology.


These projects show, that Ajax works not only in the theory, but also in practice for real applications. It not the next laboratory theory. Applications Ajax can accept any scale from simple and with consisting of one function Google Suggest up to very complex  and intricate Google Maps.


Working with Ajax the last some months, we in Adaptive Path have understood, that have opened only a top of an iceberg of those riches of interaction and speed of the response which give applications Ajax. Now this important direction of development of webs - applications, and his  importance will grow only. And taking into account a plenty of developers which already are able to use these technologies, we expect to see as all more than the organizations will follow the lead Google and use competitive benefits which offers Ajax.


That is farther


The primary goal of creation of applications Ajax not technical. In fact basic technologies Ajax are sustained by time, stable and well investigated. On the contrary, the problem  for developers of these applications consists in forgetting about the performances about restrictions of webs - applications and to start to think more widely, the big spectrum of opportunities.


It will be interesting.