Ajax - Programmazione it

Transcript

Ajax - Programmazione it
Ajax
ja
„
Ajax è il nome nuovo introdotto dal web 2.0, ma
non si tratta di un nuovo linguaggio di
programmazione piuttosto di una tecnica:
programmazione,
„
Asynchronous
„
Javascript
p
„
and XML
Ajax
ja
„
„
Il Javascript è una vecchia conoscenza del
web, introdotta da Netscape ed in seguito
adottata da tutti i browser
Spesso i webmaster del Web 1.0 ne abusavano
e molti utenti infastiditi da popup e alert lo
disattivavano
Ajax
ja
„
„
Tuttavia se Javascript viene usato bene può
arricchire l'esperienza del navigatore e
alleggerire il carico di lavoro del server
Infatti mentre PHP viene interpretato dal server,
Javascript viene interpretato dal browser
Ajax
ja
„
„
La rivoluzione iniziò quando i sviluppatori di
browser iniziarono a includere in Javascript un
oggetto capace di effettuare richieste in HTTP
al server, in maniera trasparente all'utente
Originariamente tale oggetto era stato pensato
per ottenere documenti XML
Ajax
ja
function CreateXmlHttpReq(handler) {
var xmlhttp = null;
try {
xmlhttp = new XMLHttpRequest();
} catch(e) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
p = new ActiveXObject("Microsoft.XMLHTTP");
j (
)
xmlhttp
}
}
xmlhttp.onreadystatechange = handler;
Ajax
ja
„
„
Una volta ottenuti dei dati XML tramite richiesta
PHP, è possibile cambiare certe parti della
pagina già caricata utilizzando le capacità di
Javascript di modificare gli elementi del DOM
Questo in sintesi è Ajax
Ajax
ja
function myHandler() {
if (myRequest.readyState == 4 && myRequest.status == 200) {
alert(m Req est responseTe t)
alert(myRequest.responseText);
}
}
function esempio3() {
myRequest = CreateXmlHttpReq(myHandler);
myRequest.open("GET","primo.php");
y q
(
)
myRequest.send(null);
}
Ajax
ja
„
„
Tuttavia non siamo obbligati a richiedere un
documento XML, possiamo richiedere
frammenti di HTML,
HTML testo semplice
Possiamo richiedere documenti statici ma
anche documenti generati da PHP in base a
nuove indicazioni fornite dall'utente
Ajax
ja – JSO
JSON
„
„
JSON è un formato di codifica che permette in
un linguaggio di programmazione di trasformare
ad esempio un array in una stringa da
decodificare in un altro linguaggio
In questo modo possiamo richiedere con Ajax
una stringa JSON generata da PHP e
convertirla in un array in Javascript
Ajax
ja
„
Questi esempi di Ajax provengono dal
documento ”Spaghetti Ajax” di Salvatore
Sanfilippo uno dei primi italiani a trattare
Sanfilippo,
questa tecnologia
Ajax
ja
„
„
Ci sono diversi framework Javascript che
permettono di astrarre Ajax, come Prototype, e
altri che arricchiscono l'interfaccia
l interfaccia, come
Scriptaculous
Vedere anche mootools e jquery
Problematiche
ob e at c e
„
Latenza della comunicazione
„
Javascript è interpretato quindi non è veloce
„
Diversa mentalità di programmazione
(asincrona)
WebLogiX
eb og
„
„
La WebLogiX è una ditta individuale che si
occupa di sviluppo di applicazioni web
Tutte
T
tt le
l applicazioni
li
i i sii b
basano su un fframework
k
sviluppato in proprio, STOOPHP, che fa uso di
programmazione ad oggetti e di Ajax
S OO
STOOPHP
„
„
„
Con STOOPHP la progettazione
dell'applicazione è limitata alla progettazione
del database
In base alle relazioni tra le tabelle vengono
creati elenchi e form
Unica condizione: il database deve essere
progettato con DBDesigner
S OO
STOOPHP
„
In questo modo il cliente che ha commissionato
il sito può gestire le sue attività commerciali,
turistiche divulgative e i contenuti del sito
turistiche,
stesso senza accedere in FTP o al database
S OO
STOOPHP
„
„
La pagina di gestione è unica e tramite Ajax
viene aggiornata in base alle richieste
dell utente
dell'utente
I costi di sviluppo sono abbattuti e lo stesso
codice utilizzato da più clienti segnala al
programmatore i bug in maniera trasparente
STOOPHP
S
OO
- Prospettive
ospett e
„
Scrivere documentazione per sviluppo e uso
„
Realizzare un sistema di update attraverso SVN
„
Ottimizzare le prestazioni
STOOPHP
S
OO
- Prospettive
ospett e
„
„
„
Studiare in maniera approfondita la sicurezza
Riorganizzare il codice in base all'evoluzione di
PHP
Migliorare la procedura di setup
setup, creando uno
strumento di p
progettazione
g
database che segua
g
lo standard creato