Jeg ble i en kommentar i en tidligere post spurt om hva jeg syntes om Bulletproof Ajax (hjemmeside, amazon), som jeg i teksten nevnte at jeg holdt på å lese. Nå er boka ferdiglest og jeg er klar til å uttale min omtale om boken. Det vil si, jeg leste boka ferdig for en uke siden eller så, men har først nå tatt meg tiden til å skrive dette. Har også latt lærdommen fra boken få leke seg i hodet gjennom denne uka.
Ajax er et velkjent ord som er blitt brukt i flere tilfeller, men innenfor webteknologien var det først en forkortelse for Asynchronous Javascript and XML, og ble først smidd av Jesse James Garrett i februar 2005. Han beskrev en ny måte å behandle nettsiders interaksjon med serveren gjennom bruk av javascript og den til da ukjente funksjonen XMLHttpRequest. En vanlig misforståelse av forkortelsen er at XML er essensielt for begrepet. Først og fremst er det begrepet XMLHttpRequest som det refereres til, for det andre har Ajax utvidet sitt begrep til å omfatte langt mer enn XML-formaterte filer (som f.eks. JSON).
Ajax er blitt et moteord godt brukt av webteknologi-nerder rundt om på det store nett. Jeg skal innrømme at jeg hadde en misoppfatning av ordet før jeg leste boka. Heldigvis begynner boka med å nettopp greie ut om begrepet. En viktig egenskap med boka er at så lenge du tar forfatterens ord for god fisk (festlig uttrykk forresten), så kan du forvente en fin gjennomgang av begreper og uttrykk. Så sier også Keith i innledningen at denne boka ikke er for hardcore-programmererer, men snarere for nettside-utviklere som ønsker en introduksjon til Ajax og tilgangen til noen eksempler slik at de selv kan begynnne å kode med Ajax-teknologien i hende.
Jeremy Keith leverer varene. Starten av boka går for det meste ut på å beskrive begreper og introdusere leseren for javascript så vel som DOM (Document Object Model). Han legger opp til at skriptene skal skrives gjennomført og “bulletproof”. Boka lever da også opp til navnet sitt ved at alle ferdige eksempler som presenteres for leseren skal være skuddsikre.
Men det viktigste som kommer frem i boken, mener jeg, er begrepet Keith presenterer; Hijax. Dette må ikke forveksles med javacsript-biblioteket Hijax, men snarere et begrep Keith bruker for å forklare sin fremgangsmåte for å implementere Ajax på nettsider. For begrepet Bulletproof betyr ikke bare at nettsider skal være sikre for hackere, det betyr også at alle skal kunne bruke nettsider, uavhengig av nettleser, operativsystem og lesevansker (fra de med dårlig syn til de blinde). Dette er et konsept som ofte blir forbigått av mange webutviklere, da vi ser sider som er begrenset til enkelt nettlesere (for det meste IE og Firefox). Det er forståelig at man tar denne predisposisjonen, da disse nettleserne har flest brukere, men det er også dumt siden du da utelukker evt. brukere. Dette mener Keith ikke er akseptabelt for nettsider som skal ha profitt.
Hijax går ut på at sider skal være backward compatible (kom ikke på noe godt norsk ord i farta (bakover kompatible? høres ikke bra ut)), altså at de skal levere alle sine funksjoner uavhengig om Ajax er til stede eller ikke. Dette er for å gjøre opp for Ajax’s akilleshæl: er javascript skrudd av funker det ikke.
Hijax-fremgangen er da at man gjennom DOM “tar over” deler av siden, som f.eks. lenker og submit-knapper, de delene av sidene som vanligvis fører til at serveren blir bedt om å sende en ny side med informasjon. Keith leverer da også hele skript i boka som skal gjøre denne jobben for oss.
Jeg er veldig fornøyd med boka, siden den har presentert begrepet Ajax på en ordentlig måte for meg og har introdusert meg fremgangsmåten Hijax. Jeg har ikke prøvd ut eksemplene noe særlig enda, men har tiltro at de skal fungere som Keith forklarer. Jeg vil anbefale boka for dem som identifiserer seg med å være på mitt “nivå” av webteknologi, altså at jeg aldri har hatt det som studie, men har en interesse for det som hobby. For folk som koder mye med javascript og føler at de behersker DOM, gir ikke denne boken mye nytt. Trolig er da eneste interessante lærdommen Hijax-fremgangen.