14. oktober 2006 - 23:15Der er
25 kommentarer og 2 løsninger
Gode bøger om AJAX
Hey, jeg ville såmen blot høre folket herinde, om der var nogle der kan anbefale gode bøger omkring AJAX-teknologien, alternativt rigtigt gode web-sites, helst med tutorials selvfølgelig? :)
Skal siges jeg har kigget på to fra Amazon, "Ajax in action" og "Ajax and PHP: Building Responsive Web Applications", måske en eller to har erfaringer med disse bøger?
Jeg har læst w3scholls.com's lille tutorial omkring AJAX, og forstår principperne i det, men vil gerne skridtet videre, altså dybere ned i hvad der egentligt foregår, og hvad mulighederne er i AJAX:)
Det bør nok lige siges, at w3schools.com's tutorial ikke har så meget med Ajax at gøre. Et af grundprincipperne bag teknikken er, at man nøjes med at sende rå data frem og tilbage mellem klient og server (i XML- eller JSON-format) - og overlader al HTML-formatering til klienten. I omtalte tut HTML-formaterer man netop data på serveren, inden de sendes tilbage til klienten :)
Tjah, det kommer jo an på, hvad man skal ud i, men f.eks. i http://www.eksperten.dk/spm/738536#rid6470918 kan du se et kort eksempel på javascript brugt til at skabe html va DOM !-)
Som roenving antyder, behøver det ikke at være svært - specielt ikke, hvis man bruger template-elementer, som klones - fyldes med data - og indsættes. Den nøjagtige løsnings anvisning kræver dog, man kender koden :)
Template-elementer?:) Snakker vi hr om divs, hvor man så bruger appendChild og den slags fuinktioner, i stedet for innerHTML?
Så i bund og grund, for at det skal være rigtigt AJAX, så drejer det sig om, at man bruger JavaScript (HTTP-request), til at sende forespørgsler ti databasen (hvis det er det man vil), hvorved man med PHP kan foretage selve forespørgsel, der sendes retur i XML format. Returværdierne behandles så af JavaScript og "tilføjes" så i f.eks. divs der er præ-defineret i HTML-koden på forhånd?
I det hele taget behøver det ike være bøger vi her taler om, men rigtig gode tutorials kan bestemt også bruges:) Hvis w3c's ikke har så meget med AJAX at gøre, så skal det self være noget andet:)
Med template-elementer mener jeg elementer, du kan klone med ELEMENT.cloneNode(true) og derefter append'e med ELEMENT.appendChild(ELEMENT_2) - så slipper du for at oprette dem fra bunden :)
innerHTML er en komplet invalid property, der aldrig har været del af nogen standard (og iøvrigt strider lodret mod hele idéen bag W3C's DOM) ... den burde der ikke være nogen seriøse kodere, der bruger mere.
Nu kan det godt være at de 2 JavaScript kodere ser anderledes på det end mig.
Men for mig er AJAX noget man laver ved at man henter et AJAX kit, og i sin web app smider man nogle .js og .css ind og i sine sider bruger man noget server side kode der ikke indeholder en linie JavaScript men som outputter det nødvendige HTML/JavaScript til browser.
D.v.s. at den udvikler som laver en web side med AJAX slet ikke behøver vide noget om JavaScript og AJAX. Det er kun dem som har lavet AJAX kittet der har måttet gøre det.
-- kan være at sporene skræmmer, når man har bevæget sig meget i (d)html- og javascript-kategorierne ...
-- for principielt har du selvfølgelig ret i, at den almindelige hobby-koder ikke skal sætte sig ind i hjørnerne, og kunne klare hvadsomhelst i koderne, men til gengæld er det jo så også erfaringen, at de fleste biblioteker til den slags benytter sig af forældede teknikker på _alle_ andre områder end netop httpxmlrequest-objektet ...
-- hver gang jeg ser noget, der minder mig om FrontPage (hvilket denne kommentar gør !-), gyser det i mig, for det er ikke ret lang tid siden, at den eneste linje, man kunne regne med, at FrontPage ikke f****de op, var: </html> ...
-- og det var kun, hvis brugeren ikke lavede noget efter koden, for det har (havde ?-) FP ikke nogen problemer med ...
-- og en af verdens største forbrugere af AJAX, google, laver stadig skod-kode à la html3.2 -- anno 1995, selvom de benytter sig af teknikker, der slet ikke har været til rådighed før vi kom langt ind i det nuværende årtusind, hvor man mindst burde benytte sig af 1998-kode (html4.01 !-)
arne_v >> for såvidt er det rigtig nok, man kan gøre som du beskriver, men dels er de nødvendige libs ofte meget store (og ikke videre godt skrevet i de versioner, jeg har set) - og dels er mulighederne i dem ret begrænsede.
Man kan derimod fint have et halvfærdigt skelet liggende, som man så udbygger/skræddersyer til den applikation, det skal virke i. Det er i hvertfald den måde, jeg selv foretrækker at arbejde på =)
nu ser jeg editor->frontpage som et paradigme skift, mens jeg ser håndkodet AJAX->AJAX kit som kun værende et niveau skifte ligesom assembler->HLL
mange assembler programmører syntes sikkert også at de der nymodens compilere genererede noget slam kode for 40 år siden, men man vænnede sig til dem (og måske blev compilerne også lidt bedre med tiden)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.