Hvordan oppnår du harmoni i forholdet til AJAX?
Obs! Dette er en eldre artikkel som jeg publiserte tilbake i 2005. Den ble vel generelt ganske misforstått og enkelte av digi.no sine mindre begavede lesere ble veldig forvirret av formen den var skrevet på. Artikkelen er fremdeles relevant og det er ingen tvil om at markedet har tatt samme retning som anbefalt i artikklene. I den siste tiden har mange erklært sin kjærlighet til den nye teknikken AJAX (Asynchronus Javascript And XML). Rådene om hvordan organisasjoner skal forholde seg til den nye teknikken har vært enda flere. Kombinasjonen av XML og asynkrone HTTP kall fra klientside kode skal være teknologien som igjen skal revolusjonere måten man lager “rike” applikasjoner. Mange hevder dette er tilfelle. Når forelskelsen går over Den meget omtalte “nettleser-krigen” dreide seg i stor grad om implementasjon av JavaScript, HTML og etterhvert også Cascading Stylesheets (CSS). Krigen ble avsluttet da de mest utbredte nettleserne fikk et minste felles multiplum som gjorde det enklere å utvikle løsninger som fungerer på alle disse nettleserne med samme kode. I dag finner man de største ulikhetene i implementasjonen av CSS når man utvikler tradisjonelle løsninger. I tiden etter krigens slutt har mange utviklet et kjærlighetsforhold til teknikken AJAX. Den første tiden i et forhold er alltid den beste, man er forelsket og alt er rosenrødt. Forelskelsen går etterhvert over og man begynner se den andre parten i forholdet på en ny måte. Dagens nettlesere har de største ulikhetene i implementasjonen når det gjelder XML-standarder. Dette gjelder dokument-objekt-modellen (DOM) og eXtensible stylesheets (XSL). Utviklere av applikasjoner kan ikke manipulere XML på samme måte i de ulike nettleserne. Denne utfordringen fører til spenninger i forholdet til AJAX for mange utviklere. Partneren som tidligere var ufeilbarlig viser seg å være menneskelig med både positive og negat ive sider. Bli lykkelig og kvitt deg med X’en Hvorvidt man skal lykkes med et nytt forhold avhenger ofte av om man er villig til å legge fortiden bak seg. Blant annet må man forsøke å kvitte seg med gamle flammer som kan skape unødvendig spenning i et nytt forhold. Dersom du starter et nytt forhold, så må du først kvitte deg med X’en. Dette gjelder også for kjærlighetsforhold til AJAX. X’en bør settes på dør inntil den er moden nok til å bli introdusert i forholdet. Forskjeller fra ulike nettleser-leverandører i sine implementasjoner av webstandarder har alltid skapt utfordringer for de som utvikler nettleser-baserte løsninger. Den senere tiden har forskjellene blitt mindre når det gjelder HTML og JavaScript, slik at dette ikke lengre er et stort problem. AJAX metoden sier at man skal sende XML fra serversiden og la klienten håndtere XML-responsen. Dersom man ser dette på en tegning så er det lett å være enig i prinsippet. I praksis er det derimot enda enklere å være uenig i denne måten å bygge en løsning på. Dette fordi de ulike nettleserne varierer veldig i forhold til hvilken funksjonalitet de har valgt å bygge inn i nettleseren for å jobbe med XML. Hvordan kan man så bli kvitt gammel bagasje når man skal forsøke dyrke frem et nytt varig forhold? Gjør X’en din til et helt vanlig objekt Å bli kvitt gamle flammer kan være vanskelig for mange, en måte som fungerer er å se på sin X som et helt vanlig objekt. Møter du X’en din på gaten så må du behandle han/henne på samme måte som alle andre. Forholdet til AJAX vil bedre seg dersom du gjør om responsen til et vanlig objekt og ikke en X. Søkemotor-leverandøren Yahoo! har valgt en smart måte å komme seg rundt problemene med håndtering av XML på klienten. De sender ganske enkelt ikke noe XML tilbake til klienten og dermed unngår de problemstillingen ved å møte X’en. Java Script Object Notation (JSON) er et av begrepene som har fått vind i seilene takket være AJAX. JSON er egentlig en beskrivelse på hvordan man kan utnytte en del av ECMA Script standarden for å opprette objekter basert på en streng. Denne teknikken gjør det mulig å sende objekter fra serverside kode til klientside kode uten problemer. Yahoo! sine webtjenester tilbyr JSON-strenger som et alternativt resultat format fra sine tjenester. Dette gjør at utviklere av applikasjoner kan bruke Yahoo! sine webtjenester uten å måtte håndtere XML. Utviklerne får tilbake en streng som direkte evalurerer til Javascript objekter, helt enkelt og uten problemer. Din nye partner vil sette pris på din abstrahering av X’en. Du vil kunne fokusere på å ditt nye forhold og ikke bruke energi på å dekke over X’er. Når du fokuserer all enerig på din nye partner så har dere alle muligheter til å dyrke frem et langvarig kjærlighetsforhold. Storebror har jo et godt forhold til sin X, hvorfor kan ikke jeg ha det? Du hører historier om folk som har gode forhold til sine X’er og tenker kanskje: hvorfor kan ikke jeg også ha et godt forhold til min X? Når man ser på selskaper som har lykkelige samvær med X’en i AJAX så blir man fristet til å ta X’en med seg inn i sitt nye kjærlighetsforhold til AJAX. Men er det slik at de faktisk har et godt forhold til X’en? Søkemotor- og programvare produsenten Google har tilsynelatende det. Dette er dog en sannhet med visse modifikasjoner. Google har nemlig innsett at hånd tering av XML på klienten ikke er uten problemer. Derfor har de skrevet sitt eget rammeverk for håndtering av XML som ikke baserer seg på innebygde mekanismer i nettleseren. Åpen kildekode prosjektet Google-XSLT inneholder en egen XML-parser som støtter Xpath-spørringer og XSL-transformasjoner. Prosjektet er relativt nytt, men i den nærmeste fremtid vil det være mulig å benytte dette rammeverket dersom man ønsker det. Gode forhold til X’er er mulig, men det er ofte noe som kan etableres etter at du og din partner er trygge på hverandre. I tillegg må både du og X’en være modne nok til å kunne ha et vennskaplig forhold. Derfor kan det være lurt å ta tiden til hjelp dersom du ønsker å ha et godt forhold til X’en. Et solid forhold bygges stein for stein Kjærligheten til AJAX blomstrer som aldri før i disse dager, men hvordan skal vi klare å bygge videre på forelskelsen, og gjøre den om til et langvarig forhold? Utviklere som er i en tilstand av blind kjærlighet til AJAX ønsker gjerne å gå direkte til ekteskap uten noe mer mellomspill. Denne tilnærmingen kan føre til store skuffelser den dagen man våkner og begynner se små sprekker i den tidligere herlige fasaden. Mange av de som uttaler seg om AJAX virker være i fasen hvor man er vilt forelsket i sin nye partner, og hevder at man kun etter kort tid kommer vi til å lage alle applikasjoner basert på AJAX. De mer skeptiske påpeker at man forsøkte seg på dette allerede tidlig i Internetts historie. Man sluttet imidlertid å lage disse fordi mangelen på gode utviklerverktøy gjorde arbeidet svært ineffektivt. I tillegg var det mangel på gode verktøy for feilsøking. Disse to faktorene er ikke endret i særlig grad i dag. Mozilla-nettleserne kan benytte seg av Wenkman’s JavaScript Debuger, og i andre nettlesere må man i stor grad ordne støtte for feilsøking selv. Mange maner til forsiktighet, og at man i stedet bør bruke AJAX kun på enkelte deler av en applikasjon. Et godt eksempel er Googles Suggest-tjeneste, som benytter AJAX for å tilby rikere funksjonalitet for en liten del av applikasjonen. En forsiktig og nøktern tilnærming til AJAX vil berede grunnen for et varig forhold. Oppskriften på et lang og lykkelig samliv med AJAX 3 råd for å hindre at du sitter med en ekkel smak i munnen når du utvikler din første løsning med AJAX metoden:
- Forsøk å minimalisere håndtering av XML i på klientsiden, og bruk heller alternative formater som JSON inntil de ulike nettleserne håndterer XML likt.
- Utvikle komponenter og ikke applikasjoner dersom det er mulig.
- Har man en løsning som krever en såkalt “rik brukeropplevelse” bør man også se på alternativer, som for eksempel Flash.
Disse enkle reglene vil gjøre at det som nå er en het og heftig forelskelse vil utvikle seg til et forhold som vil gro til noe fantastisk. Lykke til! Opprinrenelig publisert for Bekk Consulting As Publisert på digi.no