|
|||
|

AJAX:''For other uses of the word, see Ajax'' AJAX or Asynchronous JavaScript and XML is a term describing a World Wide Web development technique for creating interactive web applications using a combination of: * HTML (or XHTML) and CSS for presenting information * Document Object Model, JavaScript to dynamically display and interact with the information presented * XML, XSLT and the XMLHttpRequest object to interchange and manipulate data asynchronously with the web server (although AJAX applications can use other technologies, including preformatted HTML, plain text, JSON and [http://oss.metaparadigm.com/jsonrpc/ JSON-RPC] 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. In fact, derivative/composite technologies based substantially upon AJAX, such as AFLAX are already appearing. AJAX applications use web browser that support the above technologies as a platform to run on. Browsers that support these technologies include Mozilla, Firefox, Internet Explorer, Opera (web browser), Konqueror and Safari (web browser). Please note: "Opera does not support XSL formatting objects, and neither does it natively support XSLT transformations" (http://www.opera.com/docs/specs/). ==Compared to 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. Because a request to the web server has to be transmitted on ''every'' interaction with the application, the application's response time is dependant on the response time of the web server. This leads to user interfaces that are much slower than their native counterparts. 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. A concrete example: Many sites use a table element to display tabular data. To change the sort order of the data with a traditional web application, the user would click on the table header which would send a request to the web server to reload the page with the new sort order. The web server would then construct a new SQL query with the new sort order, execute it and fetch the data from the database and reconstruct the web page and send it back to the user. Using AJAX technologies, this event could instead have been handled with a client-side JavaScript that dynamically generates a view of the tabular data with DHTML. ==Pros and cons== Like DHTML applications, AJAX applications have to be tested rigorously to deal with the quirks of different browsers (libraries such as the [http://sarissa.sf.net/ Sarissa] SourceForge project can ease this task). The advantage of using the technology, however, is the speed at which an application runs and responds to user interaction. Clearly it also requires the user to have JavaScript enabled in his browser. Another major issue occurs because AJAX applications break the back button (see Jakob_Nielsen_%28usability_consultant%29 [http://www.useit.com/alertbox/990530.html 1999 Top-10 New Mistakes of Web Design]). When a page is updated dynamically, returning to the previous state may not be possible. Since the normal reaction for the visitor is to hit the back button to return to a previous page, this inability may cause them to navigate off the page altogether. ==Adoption== The techniques have been in use since 1997 at least ([http://www.clientside.co.uk/ ClientSide] used HTML [http://www.w3.org/TR/html4/present/frames.html#h-16.5 IFRAMEs] and GIF requests with HTTP_cookies to mimic desktop applications before XMLHttpRequest was available on all browsers). Oddpost pioneered the use of AJAX with Web-mail. However, in early 2005 a number of seminal events have popularised the technique. First, Google used asynchronous communication as a basis for prominent interactive applications including Google Groups, Google Maps, Google Suggest and Gmail. Second, the name AJAX was coined in ''[http://www.adaptivepath.com/publications/essays/archives/000385.php AJAX: A new approach for a new application]'', which quickly came into popular use and helped raise consciousness of the technique. ==Criticism== There have been some critics of the term AJAX, claiming that the Adaptive Path consultancy who created it [http://news.com.com/2061-10798_3-5630188.html] are using it as a marketing vehicle (and as a meme) for previously used techniques [http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=018ea507-4a62-4493-b01b-321e3672d725] [http://www.fiftyfoureleven.com/weblog/news-rants-and-ephemera/on-ajax-and-marketing-technologies] [http://developers.slashdot.org/article.pl?sid=05/02/23/1859222&tid=189&tid=95&tid=217&tid=8]. It has been pointed out by some people that the AJAX technologies did not have a common name before, and they therefore welcomed a unifying term for the process. This, however, is not entirely true, since various developers have been calling the concept XMLHTTP for years. It is also reported that the Google engineers who have created the most prominent applications using this technique consider their technologies as 'Javascript' [http://asia.cnet.com/news/software/0,39037051,39222174,00.htm]. AJAX is not a new approach of building software. From a higher perspective the presentation layer is like a form and a programming layer behind handling the events, commonly known in programming terms as MVC. This kind of programming is very well known in older programming environments like Delphi, MFC, Visual Basic, Oracle ADF, and Windows Forms, just to name a few. Applications using this model of programming have been around for years: Microsoft Outlook Web Access using WebDAV and web-based ERP systems such as Costpoint Smart Business Applications [http://www.deltek.com] and P2plus [http://www.ap-ag.com], which uses web services directly from the browser. However, because there are no standards available for the communication model behind previous implementations, all use proprietary extensions. A new aspect to AJAX is that there are now multiple browsers that can be used to realize this type of application, as opposed to earlier technologies which were frequently limited only to Microsoft Internet Explorer. === Accessibility === For some uses of AJAX it's hard or impossible to create fallback for browsers that do not support AJAX technologies. This limits use of AJAX to desktop, graphical browsers and is against WAI accessibility guidelines. In other cases, web developers use AJAX to simply replace portions of a web page instead of performing heavier manipulation in the web browser. Non-AJAX users load the whole page, but AJAX users only load fragments of pages. This allows the developers to preserve the experience of users in non-AJAX environments, including all accessibility concerns, while giving those with capable browsers a much more responsive experience without full page reloads. Invision Power Services and Jelsoft are using AJAX technology to enhance their bulletin board software. It is debated if these improvements are positive improvements, or just add "bloat" to the software. More popular and known applications using the concept were created by Google. Google Mail (aka Gmail) and Google Maps are the highest profile examples as of now. More recently competitors of Google such as America Online followed by releasing AOL_Instant_Messenger Mail which uses xmlhttp as well. ==External links== *[http://www.adaptivepath.com/publications/essays/archives/000385.php Ajax: A New Approach to Web Applications], by Jesse James Garrett. The original article which coined the term *[http://www.ajaxmatters.com/ AJAX Matters] an informational site (portal) about AJAX. *[http://www.ajaxpatterns.org/ AJAX Patterns] A wiki project specifically aimed at AJAX. Web development software Software architecture AJAX==Overload of External Links== I trimmed half a dozen links out of the External Links section a week ago, and now it is creeping up again with a new one added every couple of days. I don't think Wikipedia is designed to be a Web Directory - that is what Yahoo!, dmoz, etc are for. Can we agree to keeping the External Links down to important pages - namely, origins of the term, balanced analysis of the term, perhaps an example in action - and that's it? --User:Kjd 12:24, 13 Apr 2005 (UTC) :I find myself continuing to do this on a weekly basis until anyone gives a good reason why there should be a hundred links in this article to external pages. I don't see how listing every AJAX related page on the web is encyclopaedic, as seems to have been done with some edits in the past few days. Just like to one or two of the many numerous specialist AJAX sites which in turn documents such things. --User:Kjd 11:35, 26 May 2005 (UTC) :Don't you find that you are being elitist by continuing to remove these links? Sure, Yahoo! and dmoz may be better suited for these types of references, however, the most important thing for wikipedia entries is the conveyance of information--in a clear and thorough manner. When i began to research I found these links extremely helpful. Defining these links as superfluous is obnoxious and not necessary. If you don't like them on the page just ignore them. ::No, I don't consider myself elitist, I am trying to be encyclopaedic and remove a superfluous morass of links that adds little value. Besides that, perhaps you can explain why articles such as ''What kind of language is XSLT?'', if worthy of linking at all, are more suited to an AJAX article rather than one on XSLT? --User:Kjd 07:51, 27 May 2005 (UTC) The list of links were useful and most were relevant. The problem is; where shall it end? If all links shall be included then the article will be a long list of links. And that is not what Wikipedia aim for. --User:Sleepyhead81 08:58, 27 May 2005 (UTC) :My thoughts precisely. --User:Kjd 09:42, 2 Jun 2005 (UTC) :Why not have a link that provides additional information for a SPECIFIC POINT? In other words, if one is talking about a specific AJAX technique, one can omit all the technical information about that technique in the article and add a link to the detailed technical information. Dropping in a link out of the blue that isn't touched upon in the article text makes little sense. If we're going to do that, then only one link is needed for the entire article: [http://www.google.com/search?q=AJAX Google]. User:Safety Cap 14:31, 16 Jun 2005 (UTC) ==AJAX or Ajax?== In [http://www.adaptivepath.com/publications/essays/archives/000385.php original Garret's article] he refers to the term as Ajax, not AJAX. Shouldn't we rewrite the title then? * My vote is for "Ajax". My guess is that if we persist in calling it "AJAX" people will notice and then this groundbreaking new technology will be pronounced Ay-Jay-Ay-Eks, and that would suck. User:Eric B. and Rakim 22:02, 16 Jun 2005 (UTC) * "AJAX". Despite how it is spelt in the initial article, the prevailing common usage is "AJAX", and it is in fact an acronym. I don't think pronunciation has any bearing on it. (Who pronounces LASER, DARPA, SCUBA etc by their initials?) --User:Kjd 07:29, 20 Jun 2005 (UTC) * I vote for Ajax. If you [http://www.google.lv/search?q=ajax google for for the name], it becomes apparent that the most widespread usage is not the uppercased one. So there, Ajax as the person who coined this term intended, and not "AJAX". User:Fatalis 12:48, 20 Jun 2005 (UTC) * "Ajax". No one capitalizes LASER, and no one should, despite it being an acronym. "Ajax" wasn't coined with capitals, and there's no need for them. The term makes a techie concept friendly and accessible to non-techies (which is a good thing), and capitalizing it undermines that effect. ==Criticism== The criticism here is controversial at best. "XMLHTTP" was not very common terminology, if used at all to mean a style of programming. In any event, Ajax encompasses more than XMLHttpRequest based calls. This section should at least be balanced by the benefits of the "Ajax" term - ie formation of a community, bigger push for rich browser features, a slew of new. publicly available, examples. AjaxThe name Ajax, or Aîas can refer to: * one of two figures in Homer's ''Iliad'': ** Ajax the Lesser King of Locris ** Ajax the Great King of Salamis Island, a legendary hero of ancient Greece; sometimes called "Telamonian Ajax" *''Ajax (Sophocles)'', a tragedy by Sophocles * A fictional company in the Mickey Mouse cartoons. Similar to Acme [http://disneyshorts.toonzone.net/years/1999/mickeysairplanekit.html]. *One of four different automobiles: **Ajax (1906 automobile) **Ajax (1913 automobile) **Ajax (1921 automobile) **Ajax (automobile) Nash Motors companion model *Ajax Amsterdam, the major football (soccer) team of Amsterdam * Several ships of the Royal Navy have been named HMS Ajax *Ajax, Ontario, Canada named after one of the Royal Navy ships. *Ajax cleanser, a trademarked line of household cleaning products made by Colgate-Palmolive *Ajax Duckman was a character on the animated TV series ''Duckman''. *AJAX, Asynchronous JavaScript + XML for web development. *Ajax (arcade game), a Scrolling shooter arcade game by Konami. *Ajax Records, the name of two record labels. See other meanings of words starting from letter: AAB | AC | AD | AE | AF | AG | AH | AI | AJ | AK | AL | AM | AN | AO | AP | AR | AS | AT | AU | AW | AX | AY | AZ |Words begining with Ajax: AJAX AJAX Ajax Ajax,_ON Ajax,_Ontario Ajax--Pickering Ajax-Pickering Ajax0187 Ajax_(1906_automobile) Ajax_(1913_automobile) Ajax_(1921_automobile) Ajax_(1926_automobile) Ajax_(automobile) Ajax_(GO_Station) Ajax_(Sophocles) Ajax_Amsterdam Ajax_Amsterdam Ajax_Cape_Town Ajax_Copperwater Ajax_Duckman Ajax_of_Cyprus Ajax_of_Locris Ajax_Orlando_Prospects Ajax_Records Ajax_the_correct Ajax_the_Great Ajax_the_great Ajax_the_Greater Ajax_the_Lesser Ajax_the_Lesser Ajax_the_lesser Ajax—Pickering
Sponsored links: praca.
|
|||
These materials are based on Wikipedia and licensed under the GNU FDL
YouTube.com videos better site than Turbo Tax 2007 | |||
|
|