Home
Home Page
Than differ id and class
Creation WAP of a page
Passions around AJAX are heated
Answers to often asked questions on XHTML and HTML
The sanction of the screen and marking of pages
Two styles ajax'?
Business Macromedia lives
XHTML+CSS. Advantages are obvious
Microformats
The semantic network based on microformats
Fonts and CSS
CSS from And up to I
Properties of the text
Illumination of the link
Change of a background in the table
Fixation of fonts on page with the help of the table of styles
Krossbrauzernoe alignment on the center
Polling with help AJAX
HTML
Links
 

Passions around AJAX are heated

In the beginning of this year abbreviation AJAX (Asynchronous JavaScript + XML, it is in Russian said as "Ajax") was familiar to only narrow circle of experts on last novelties in the field of development of Web-applications, and now she, apparently, has turned to the most popular term in computer mass-media. And, that is interesting, around of this in general not so complex{difficult}, though also original technology (see PC Week/RE, ¹ 6/2006, with. 33) serious struggle in which suppliers are involved not only conducting{leading} softvernye, but also the numerous small specialized companies - developers of toolkit is developed{unwrapped}.


The idea of application of asynchronous model of Web-interaction the server - the client is known enough for a long time, and the first such technology in a Web-browser realized at the end of 90th years corporation Microsoft in the Internet Explorer (IE) 5.0. It has been made with the help of the additional ActiveX-object which has received name XmlHttpRequest. But nevertheless the ancestor actually AJAX should be counted company Google which in practice has shown efficiency of its{her} application in a number of the Internet - projects, including in such popular, as Google Maps (maps.google.com). Term AJAX began to be used in professional publications approximately from the beginning of 2005. But nevertheless it was a stage of " laboratory researches “.



AJAX-boom


The first bell about the future approach of "industrial" operation has sounded in June, 2005 when Microsoft has declared intention to create the base environment of development and execution{performance} of client AJAX-applications (the tool has received code name Atlas), integrated with Visual Studio 2005 both ASP.NET 2.0. And in September at conference PDC ' 2005 corporation has presented the prototype of this tool.


Reciprocal steps on the part of Java-community have followed immediately. In October Sun Microsystems informed about intention to realize support AJAX in the means of development, including in Java Studio Creator. In December fund Apache Software has declared realization of own set Kabuki AJAX Toolkit Project. In autumn IBM also informed about intention to use technologies AJAX in products Lotus, WebSphere and Rational, and in January, 2006 announced new project AJAX Toolkit Framework.


The stage of development AJAX which can be named ” the period of declarations on intentions “, has come to the end in February of this year. First Microsoft has published the first public preliminary version of tool Atlas. And then at once three companies - Infragistics, FarPoint Technologies and Syncfusion present the AJAX-tools as modules of expansion Visual Studio 2005. almost simultaneously with it, on February, 1, the group of the conducting{leading} IT-companies (including BEA Systems, Borland, Eclipse Foundation, Google, Mozilla, Novell, Oracle, Red Hat and Yahoo) at obvious leading role IBM has declared new industrial initiative Open AJAX with the purpose of support of the given technology on principles of open standards.


Since this moment term AJAX has strongly located in computer mass-media and materials of the IT-companies. In news almost messages from the big and small companies and even individual software developers about development of the next AJAX-toolkit every week began to appear. Other softvernye leaders (for example, Oracle and Software AG) in announcements of the new products also do not overlook to mention last half-year an opportunity in them AJAX-access. And suppliers of the equipment also consider necessary to show the basic support of AJAX-ideas.


The spectrum of suppliers of AJAX-toolkit is rather wide, we shall result two characteristic examples. So, even the autumn of the last year had been submitted the private{individual} German project Ajax.NET Framework (www.schwarz-interactive.de), including necessary libraries of functions for creation of AJAX-applications in .NET Framework environment. And in the beginning of this May the mite in this direction was brought by two leaders of IT-branch: company Adobe Systems has issued a preliminary variant of set Spry Framework for AJAX, being expansion of platform Adobe Engagement, and Google has declared an output{exit} of free-of-charge set Google Web Toolkit for development of AJAX-programs on Java.


For last months there was, apparently, not one ten "communities" and "initiatives" on development and promotion AJAX. An example to that - project OpenAJAX (www.openajax.ca), sold by a trio of developers from California. On the site they inform, that it is not necessary to confuse their job to initiative Open AJAX from IBM as they have declared themselves before the Blue giant. And they are completely right, as today the name of corporate community is designated in both variants: with a blank and without him{it}. In general, is from what to get confused …


How to provide compatibility


In growing interest of public to technologies AJAX a considerable role the marketing skill of IT-branch perfected for last decades plays, skill "to warm up" the subjects necessary to her. But here is, certainly, and the objective reasons. If to see at a history of computer facilities it is possible to see easily in her periodicity of displacement of computing capacities from the center to periphery and back. And so, now, after a long-term wave aside a server part of systems, there is a return movement in a direction of client stations. But as on base Windows nobody wants amplification{strengthening} of positions of the thick client (Microsoft it is not counted!), there are concepts such as Rich Client Platform (or, in terminology IBM, Workplace Client Technology) on base Eclipse and AJAX for Web-browsers.


The problem of mass introduction of technologies AJAX rests that they in their primary kind while are too complex{difficult} for application by the broad audience of developers. Necessity of the decision of two problems{tasks} in upgrades and to development AJAX from here follows:


* Increase in functionality and speed (these are inconsistent requirements!) executions{performances} of AJAX-applications on the client party{side};

* Increase of efficiency of process of development of AJAX-applications at the expense of transition with nizkourovnevogo JavaScript-programming on application of universal languages, in particular Java and .NET.


However movement in a direction of the decision of these problems{tasks} at once places under a threat main advantage AJAX - its{her} platform independence. Thus the question of compatibility certainly depends not on tools for creation of AJAX-applications, and first of all from Wednesday of their execution{performance} - Web-browsers.


As is known, the main role in realization of AJAX-technology belongs to object XmlHttpRequest (or XHR) which allows to carry out HTTP-searches in language JavaScript to the removed server without perezagruzki HTML-pages (fig. 1). However different browsers use various methods of realization of this object.



Fig. 1. The key role in AJAX belongs to object XmlHttpRequest


In fact, as it was already spoken, for the first time support XmlHttpRequest has been built - in in Microsoft Internet Explorer 5.0, and at a level of separate component ActiveX. In other popular browsers (all over again in Mozilla, then in FileFox and be relative recently in Opera and Safari) this function has appeared later, but already at a level of the built - in object and in more perfective aspect. In result creation XmlHttpRequest in them is carried out by different ways.



var req = new ActiveXObject (" Microsoft. XMLHTTP ");


And in other browsers more simple syntax is used:



var req = new XmlHttpRequest ();


The reason of such divergences consists in many respects that until recently questions of standardization of dynamic Web-applications have been concentrated basically on the server party{side}, and to a client part paid obviously insufficient attention. In the beginning of this April consortium W3C has published a preliminary variant of new specifications XmlHttpRequest. It creates a good basis for maintenance of compatibility of AJAX-applications, but nevertheless on this way it is necessary still more very many questions. As with growth of sphere of application AJAX there was a question on necessity of expansion funkcionala and specifications XmlHttpRequest. And to do{make} it it is necessary operatively as software developers, not expecting recommendations W3C, go on use of own expansions, that rather often results in incompatibility of applications.


Business here consists in the following. Actually the AJAX-application will consist of two parts: an applied code (basically realizing the user interface) and a AJAX-cursor, ispolnjajuhhego this code (fig. 2). Today each such cursor is done{made} by different developers and is unikal`nym*. Thus, by a call of the AJAX-application on a client computer in a Web-browser both components - an applied code and a cursor should be passed every time through the Internet. Obviously, what is it imposes the certain restrictions on the sizes, so, and on functionality of a cursor.


The idea of development AJAX consists just in unifying cursors, to create the uniform environment of execution{performance} AJAX with a set of base functions (Framework, a skeleton) which can be built in all Web-browsers (to not pump over cursors on the Internet). That is the question is the requirement of creation new vysokourovnevogo a layer atop of present base technologies of browsers. But a problem here that optimum realization new funkcionala demands not only higher level of standardization of already available means, but also their some updating in view of new requirements. And if to speak about XmlHttpRequest as about key object AXAJ his{its} updating in turn pulls behind itself necessity of the certain correction even of some more "deep" functions of a browser.



And one in a field the soldier


Position Microsoft among numerous community of AJAX-suppliers at times looks as ” one against all “ **. But it, certainly, at all so. First, the corporation leans{bases} on support of huge army of the partners. Second, its{her} special position on a AJAX-field will be defined{determined} by that, that the company in one person is the supplier both the most popular Web-browser, and client Windows, having practically a monopoly position, and one of conducting{leading} toolkits Visual Studio/.NET Framework.


Accordingly as Atlas Client Script Framework (ACSF) she tries to adhere the realization of a AJAX-cursor maximum to Visual Studio and Windows. Certainly, new Atlas-applications can work in any not - Microsoft-brauzere, but only for this purpose they will need to load each time ACSF environment which size is already completely not small. And its{her} own browser Internet Explorer will use for certain built - in variant ACSF and consequently can work with Atlas-programs essentially faster. To put it briefly, we shall collide{face} a situation typical for strategy Microsoft when Visual Studio and Internet Explorer will advance not only, but also each other ***.


However, it is quite probable, that ACSF becomes standard component Windows Vista (already today there is a speech about his{its} inclusion in structure Windows Presentation Foundation). But what sense to the user to put on Windows one more browser when in her already is familiar IE?


Let's note, that though in final variant Atlas will appear only in the beginning of 2007 as an additional component of following version Visual Studio for Windows Vista (code name Orcas), this tool today has a high degree of readiness. So, his{its} March version CTP (Community Technology Preview) is distributed with license Go-Live that will allow software developers to create now already on its{her} base of the application and to distribute them on a commercial basis. Usually this type of licensing is applied to last beta-versions with a sufficient level of stability of job.



Conference independent ajaksovcev


In the beginning of May the three-day conference AJAX Experience organized by independent fund Ajaxian.com (it{him} two private{individual} experts have based in the field of Web-development) has passed to San Francisco (USA). As a matter of fact this one of the first scale actions devoted to questions of development of AJAX-technolog.ies to tell the truth, in his{its} job representatives of the "individual" companies though there there were also large players, including Microsoft and IBM have taken part basically.


In one of reports the general{common} review of offers in area AJAX has been submitted. If in December of the last year it was totaled such 90 projects now their number has grown up to 134. From them 58 it is realized directly on base JavaScript, the others on the basis of other languages (including on 22 - on Java and PHP, 13 - on .NET).


At conference discussion of structure of new opportunities of a browser of the following generation was interesting also. It:


* The accelerator 2D-schedules (Canvas) which should work atop of present technologies DirectX, Quartz and Cairo/xgl;

* The operative JIT-compiler (Just-in-Time) for JavaScript;

* Application of transparent model of memory in a combination to a tooling of introspection and debugging;

* A set of functions API for job with external memory.


In one of performances{statements} the caustic criticism to address of future Internet Explorer 7.0 (see PC Week/RE, ¹ 18/2006 has sounded, with. 1), it was spoken, that Microsoft does not hurry at all to include in the browser the newest technologies (were called Scalable Vector Graphics, Canvas, Vector Markup Language), already used in many Web-observers. On the other hand, approval going{gathered} has called intention Microsoft to issue set Windows Presentation Foundation Everywhere - portiruemyj variant Windows Presentation Foundation which can work on different platforms.


Let's note, that the subjects of conference has left far for frameworks of a circle of problems AJAX. In this connection in a number of performances{statements} the wish somehow has sounded to change the name of action. Organizers have reasonably answered it: ” who will pay attention to us, if in the name there will be no word AJAX? “.



Whether will be united Open AJAX and Microsoft?


Despite of an abundance of offers and ideas be relative AJAX, it is quite obvious, that in this market all of them will be polarized around of two poles - Microsoft and communities Open AJAX. Taking into account strong positions Microsoft in this area, IBM has traditionally staked on formation of a branch coalition.


In the beginning of May it became known, that 13 more companies have joined initiative Open AJAX (including Adobe, Intel, Opera, SAP and Software AG), in result the number of its{her} participants has increased up to 28. Certainly, it is very serious grouping which Microsoft cannot already ignore in any way. It is no wonder, that almost simultaneously with this information in computer mass-media data that Microsoft has received from Open AJAX the official invitation to join community have appeared. Representatives Microsoft while were limited to the evasive comment on readiness for cooperation.


In the middle of May participants Open AJAX for the first time gathering in San Francisco on a two-day internal meeting. As one of its{her} results the community has received the official name - OpenAJAX Alliance. also has been solved, that the organization will have informal character - for development{manufacture} more likely the general{common} strategy directed on the decision of questions of compatibility and an openness of technology, i.e. she does not become something to similar projects Eclipse or Apache. All questions of standardization will be solved through W3C, meaning achievement of an overall objective: an opportunity of support AJAX the widest spectrum of desktop and server platforms, Web-browsers and means of development.


To this meeting were invited and Microsoft, and another "non-aligned" - Sun Microsystems, but apparently, they have not accepted participation in this assembly. Nevertheless example Web Services shows, that cooperation of competitors in IT-branch - quite real thing. We shall see, as affairs with AJAX will be.