Ajax-huomioita

Viime päivien opiskelu on ollut sen verran intensiivistä, että on ehkä syytä dokumentoida päällimmäisiä linkkejä myös tänne.

Ajax on nimitys joukolle tekniikoita, joilla pystytään tekemään web-sovelluksia, joiden avulla sivulle voidaan päivittää palvelimelta saatua tietoa ilman, että sivua tarvitsee ladata uudestaan. Käytännössä, oikein käytettynä, Ajax tekee web-sovelluksista entistä käyttäjäystävällisempiä ja helppokäyttöisempiä.

Perusteet ja esimerkit

Tämänkin tekniikan perusteet ovat olleet olemassa jo useita vuosia. Googlen (esim. Gmail ja Google suggest) ja Flickrin kaltaiset palvelut olivat ensimmäisiä herättäjiä. J. Garret kutsui näitä tekniikoita nimellä Ajax ensimmäisen kerran helmikuussa 2005. Tämän jälkeen Ajax onkin levinnyt kulovalkean tavoin tuhansille sivustoille ja erilaisiin projekteihin.

Yksi parhaimmista esimerkeistä tekniikan hyödyntämisestä on avoimen lähdekoodin lisenssillä jaettava LiveSearch-skripti, joka mahdollistaa Spotlight-tyylisen ”löydä samalla kuin kirjoitat” haun rakentamisen web-sivuille.

LiveSearchin varmaankin tyylikkäin toteutus, ja samalla upeiten viimeistelty sivusto mihin olen koskaan törmännyt, on Dunstan Orchardin (edesmennyt) blogi. (Ks. sivuston headerin toteutus.) Arjen Menneet-sivun hakulomake on myös toteutettu LiveSearch-skriptiin perustuen.

Samaa ideaa hyödyntää myös TiddlyWiki, joka myöskin on avoimen lähdekoodin projekti. Ajaxille on olemassa myös useita framework-projekteja, joskin kaikki ovat tällä hetkellä enemmän tai vähemmän alkutekijöissään. JPSpan-projektin ideana on luoda yhteys JavaScriptin ja PHP:n välille niin, että php-funktioita voisi kutsua suoraan JavaScriptistä ilman että sivua tarvitsee ladata uudelleen. Frameworkeista ainakin Prototype näyttäisi toimivan kohtuulliseti myös Safarilla.

Selaintuki ja dokumentaatio

Tällä hetkellä selaintuki Ajaxille on kohtuullisen hyvää. IE 5+, Mozilla/FireFox 1.0+, Safari 1.2+ ja Opera 8+ tukevat tekniikkaa hyvin ja vanhempiakin selaimia on jossain määrin mahdollista purkata mukaan. Useimmissa tilanteissa alaspäinyhteensopivuus on kuitenkin helppoa tai erittäin helppoa järjestää (esim. ajax-hakukenttä vs. tavallinen hakukenttä), joten Ajaxin käyttö on suhteellisen turvallista. Myös back-napula ja kirjanmerkit on mahdollista ottaa huomioon.

Mozillan sivuilta löytyy dokumentaatiota ja esimerkkejä, Applen dokumenteissa keskitytään lähinnä Safariin, mutta annetaan yllättäen tekniikasta propsit Microsoftille:

Many have tortured themselves by using techniques such as hidden self-refreshing frames and ”faceless” Java applets. In lieu of a W3C standard still under development, the Microsoft-born XMLHttpRequest object fills an important gap that should inspire application development creativity.

Paljon esimerkkejä ja linkkejä löytyy myös Ajax patterns wikistä.

Lopuksi

Ja vielä, mooFLEX-julkaisujärjestelmää esittelevä flash-video antaa vähän osviittaa Ajaxin rajattomista käyttömahdollisuuksista. Toinen mielenkiintoinen uutuus, Mint-tilastointiohjelma käyttää myös Ajaxia ylläpitokäyttöliittymässään ja siitäkin on olemassa (kehno) video (.mov).

Siltä varalta, että unohdin jotain, Ajaxblogi varmaankin muistuttaa.

Muokkaus 22.9. : Lisätty Prototype.

» Lokeroissa web, nörtteily