Innan jag börjar ge mig in på mitt lilla projekt så skulle jag vilja ställa lite frågor runt Jaxer och besvara dem, så att man har lite större uppfattning vad Jaxer skulle kunna vara bra för.

  • Vad är Jaxer?
    • Jaxer är en produkt från gruppen som utvecklar Aptana Studio som är ett verktyg som byggs på Eclipse. Kort och gott kan man kalla Jaxer för: ”The Ajax Server”.
  • Vad gör Jaxer?
    • Jaxer låter mig att använda Javascript (typisk client-side skriptspråk) på servern, så jag kan bland annat ha tillgång till HTML DOM Modellen innan sidan skickas till klienten.
    • Förutom det så han jag tillgång till ett API som låter mig bland annat koppla mig upp mot databaser, läsa tabeller i databaser, skriva / läsa till filer med mera.
  • Hur fungerar Jaxer?
    • Jaxer läser HTML sidor från webbservern (t.ex. Apache, Jetty), bearbetar dem och skickar dem tillbaka till servern som i sin tur skickar dem till klientens webbläsare, allt detta händer med hjälp av AJAX.
    • Det som är intressant är att Jaxer har integrerat Mozilla engine, samma motor som Mozilla Firefox 3 använder för erbjuda ett standardiserad väl testad ”parsing”  samt APIer for HTML, CSS samt Javascript.
    • För att man skall kunna anropa server-side Javascript från klienten  infogar Jaxer en del Javascript på sidan, så att server-side Javascript kan ligga säkert på servern.
    • När man anropar en server-side Javascript funktion så ”wrappar” Jaxer funktionsnamnet samt alla parametrar som tillhör den till en JSON sträng, skickar den genom XMLHttpRequest tillbaka till Jaxern (genom webbservern) som ”unwrappar” informationen, kör server-side funktionen, ”wrappar” resultatet tillbaka till en JSON sträng och returnerar den till webbläsaren som ”unwrappar” och skickar resultatet tillbaka, precis som att server-site funktionen skulle har kört i webbläsaren. I korthet ser det ut såhär.
  • Hur tänker jag använda Jaxer?
    • Eftersom jag inte var 100% säker på vad jag skulle göra så valde jag att göra något som skulle vara intressant, roligt att utveckla, samt nytt.
    • Det som jag tänker skapa är en single-page applikation som kommer fungera som ett online-skrivbord.
    • Från det vill jag kunna skapa filer, ändra dem, hantera kataloger samt till exempel läsa mina RSS-flöden.
    • Eftersom Jaxers API har det mesta jag behöver så kommer det att gå (nog) bra.
    • Till min hjälp kommer jag att använda jQuery – ett gratis Javascriptbibliotek.
  • Hur tänker jag skriva bloggen?
    • Jag tänker bit för bit presentera samt beskriva det som jag har gjort i projektet.
    • Inläggen bör komma en gång om vecka, kanske lite oftare, beroende på min ”arbets-flow”.

Än så länge så har jag inte gjort så mycket, kanske bara testat för det mesta.

Jag har tänkt mig att applikationen skulle se ut ungefär så där:

(Single-page application i Mozilla Firefox, Full Screen Mode)

källor: