Ajax (Asynchronous JavaScript and XML)
- Luentotaltiointi
- Mikä on Ajax?
- Mitä Ajaxilla voi tehdä
- Miten Ajax-ohjelmia tehdään
- Ajax-sovelluksien virheitä ja ongelmia
- Ajax-esimerkkejä
- Tunnettuja Ajax-sovelluksia
- Lisätietoa
Perehdymme dynaamisten (DHTML) WWW-sovellusten tuottamiseen Javascriptin ja asynkronisten XMLHTTP-kutsujen avulla.
Luentotaltiointi
- sovellukset17.mp3 14M
- sovellukset17.wmv 30M
- sovellukset17_xvid.avi 97M
Mikä on Ajax?
- Ajax on lyhenne sanoista Asynchronous Javascript and XML
- Ajax on vain yleisnimitys monen vanhan tekniikan yhteiskäytölle:
- Javascript (Ecmascript)
- XML
- XHTML
- CSS
- XMLHTTPRequest
- DOM
Mitä Ajaxilla voi tehdä
- Ajaxin avulla muutetaan perinteinen WWW-sovelluksen toimintatapa muistuttamaan paremmin tavallisia tietokoneohjelmia
- Ajax-sovellus muokkaa käyttäjän näkemää WWW-sivua dynaamisesti ilman, että käyttäjän tarvisi navigoida sivulta toiselle.
- Voi teettää www-palvelimella asioita joita pelkällä Javascriptillä on hankalaa tehdä. Esim. voi kutsua mitähä tahansa php/perl/python-funktiota.
- Voi tarkistaa lomakkeen syötteet heti eikä vasta kun käyttäjä on täyttänyt koko lomakkeen
- Lomakkeen sisältöä voidaan muuttaa dynaamisesti käyttäjän syötteiden perusteella
Miten Ajax-ohjelmia tehdään
- Kirjoitetaan normaali Javascript-sovellus, joka tarvittaessa kutsuu WWW-palvelinta XMLHTTPRequestin avulla.
- XMLHTTPRequest-kutsua ei ole standardoitu joten selainten toteutustavoissa on suuria eroja. On syytä käyttää kirjastoa, joka piilottaa erot. Esim. Mochikit.
- XMLHTTPRequest-Kutsut voidaan osoittaa vain samalle www-palvelimelle mistä javascript-ohjelma haettiin.
- Ohjelman suoritus ei pysähdy XMLHTTPRequest-kutsun suorittamisen ajaksi vaan kutsu suoritetaan asynkronisesti ohjelman taustalla
- XMLHTTPRequest-kutsun vastauksen saavuttua suoritetaan haluttu Javascript-funktio.
Ajax-sovelluksien virheitä ja ongelmia
- Selaimen back-painike ei toimi enää odotetulla tavalla
- Kirjanmerkkien tekeminen on ongelmallista
- Toimintojen vasteaika voi olla windows-sovelluksiin tottuneelle liian pitkä. Käyttäjälle pitää visuaalisesti vihjata, että nyt täytyy odottaa.
- Esteettömyys - sovelluksen pitää toimia myös ilman javascriptiä
- Linkit muuttavat sovelluksen tilaa
- Liian paljon Javascript-koodia aiheuttaa selaimen hidastumista
- Kehitetään uusia käyttöliittymäkikkoja, jotka eivät ole käytettäviä
- Tietoturva
Ajax-esimerkkejä
Tunnettuja Ajax-sovelluksia
Lisätietoa
- Ajax Matters
- Ajax: A New Approach to Web Applications Artikkeli josta Ajax-hype alkoi
- Ajax (programming)
- Ajaxian
- Ajax Patterns
- SAJAX
- Ajax Mistakes
- Mastering Ajax, Part 1: Introduction to Ajax
- XMLHTTPRequest & Ajax Working examples
- Very Dynamic Web Interfaces
- AJAX and Accessibility
- Why Ajax Sucks (Most of the Time)
- Basic AJAX examples
- Ajax Tutoria: Ajax What Is It Good For?
- Introducing JSON
- A Simpler Ajax Path
- Getting Started with Ajax
- Rasmus' 30 second AJAX Tutorial
- Rich Ajax slide shows with DHTML and XML
- AJAX Applications vs Server Load?
- AJAX/DHTML Tutorial: Should I Render My UI On The Server or the Client
- 10 Places You Must Use Ajax
- XMLHTTP
- The XMLHttpRequest Object - W3C Working Draft 05 April 2006
- The SVG Terminal
- Suckerfish HoverLightbox
- Document Object Model (DOM) Level 3 Load and Save Specification

