Cos è Ajax? Nasce Ajax

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Cos è Ajax? Nasce Ajax"

Transcript

1 1 Cos è Ajax? Dal 2001 al 2005 il World Wide Web è passato attraverso una crescita spaventosa in termini di tecnologie e metodologie utilizzate per portare questo strumento statico alla vita. Le brochure e i cataloghi online hanno smesso di dominare il Internet nel momento in cui le applicazioni web sono divenute una parte significativa delle destinazioni online. Le applicazioni web si differenziavano dai loro antenati siti web nell offrire ai propri utenti un servizio immediato non solo di tipo informativo. Che lo scopo fosse la gestione di procedure commerciali o l interesse personale, gli sviluppatori erano costretti a creare nuovi paradigmi di interazione, visto che gli utenti iniziavano ad aspettarsi funzionalità più avanzate. Stimolato da tecnologie poco note e ancor meno utilizzate, già presenti nei browser web da tempo, il Web ha compiuto un notevole progresso, sconvolgendo il modo d uso tradizionale che necessitava il caricamento completo di una pagina ogni volta che si accedeva a nuove informazioni o a una nuova parte della logica dell applicazione. Le varie aziende cominciarono a effettuare esperimenti con la ricarica dinamica di porzioni di pagine web, per trasmettere al client solo una quantità ridotta di dati, realizzando in questo modo un esperienza utente più veloce e migliore. A condurre questo movimento è stato Google. Dopo che il gigante dei motori di ricerca uscì allo scoperto, iniziarono ad apparire nuovi esperimenti condotti dai suoi ingegneri da una sezione del sito chiamata Google Labs (labs.google.com). Molti dei progetti dei Google Labs, come Google Suggest e Google Maps, consistevano di un unica pagina web che pur non venendo mai scaricata veniva tuttavia costantemente aggiornata. Tali innovazioni, che cominciarono a portare le affordance delle interfacce dei software desktop entro i confini di un browser, furono elogiate in tutto il Web e considerate come l avvento di una nuova era dello sviluppo web. E lo furono davvero. Svariati prodotti open source e commerciali diedero il via allo sviluppo per approfittare di questo nuovo modello di applicazione web. Tali progetti tentarono di spiegare la propria tecnologia servendosi di espressioni quali JavaScript remoting, web remote procedure calls, e dynamic updating. Presto però avrebbe prevalso un nuovo termine. Nasce Ajax Nel febbraio 2005 Jesse James Garrett di Adaptive Path LLC pubblicò online un articolo intitolato Ajax: A New Approach to Web Applications ( Ajax: Un nuovo Approccio alle Applicazioni Web ), tuttora disponibile all indirizzo In questo scritto Garrett spiegava come, a suo avviso, le applicazioni web stessero colmando lo scarto fra il Web e le applicazioni desktop tradizionali. Citava poi le nuove tecnologie e molti dei progetti Google come esempi del fatto che modelli di interazione utente tipicamente basati

2 Capitolo 1 su applicazioni desktop fossero ora impiegati nel Web. Di seguito venivano le due frasi che avrebbero sollevato un polverone di interesse, agitazione e controversie: Google Suggest e Google Maps sono due esempi di un nuovo approccio alle applicazioni web che noi di Adaptive Path abbiamo chiamato Ajax. Il nome è una contrazione di Asynchronous JavaScript + XML e rappresenta un passaggio fondamentale in ciò che è possibile realizzare sul Web. Da quel momento, un ondata di articoli su Ajax, di esempi di codice e di discussioni apparve ovunque sul Web. Gli sviluppatori ne parlavano nei propri blog, le riviste di tecnologia nelle proprie pagine, e le aziende iniziarono a legare ad Ajax i propri prodotti. Ma per comprendere che cosa sia Ajax, occorre anzitutto sapere come l evoluzione di svariate tecnologie web abbia portato al suo sviluppo. L evoluzione del Web Quando Tim Berners-Lee preparò la prima proposta per il World Wide Web nel 1990, l idea di base era piuttosto semplice: creare una ragnatela (web) di informazioni collegate fra loro attraverso ipertesti e URI (Uniform Resource Identifiers). La possibilità di collegare i documenti più disparati in ogni parte del mondo rappresentava un enorme potenziale da un punto di vista accademico: studiosi e ricercatori avrebbero potuto avere accesso quasi istantaneo ai materiali di riferimento bibliografico. La prima incarnazione del linguaggio HTML (HyperText Markup Language) non presentava granché oltre a comandi per la formattazione del testo e per i collegamenti, e non si trattava certo di una piattaforma per realizzare software riccamente interattivo, bensì per condividere semplicemente le varie tipologie di informazioni testuali ed esplicative che dominavano la tarda era della stampa. Furono queste pagine web statiche il terreno di crescita del Web. Con l evolversi del Web, le varie imprese commerciali non tardarono a notare un grosso potenziale nella possibilità di distribuire alle masse informazioni su prodotti e servizi. La generazione successiva del Web vide un aumento della capacità di formattare e visualizzare informazioni grazie all evoluzione congiunta dell HTML, che rispondeva sempre più alle esigenze e alle aspettative di questi utenti più abili nell utilizzo dei nuovi media. Ma una piccola compagnia chiamata Netscape avrebbe presto accelerato considerevolmente l evoluzione del Web. JavaScript Netscape Navigator fu il primo browser web tradizionale di successo, e come tale fece progredire rapidamente le tecnologie web. Tuttavia Netscape veniva frequentemente derisa dalle organizzazioni di standard per la sua implementazione di nuove tecnologie e di estensioni per le tecnologie esistenti prima che venissero approvati standard veri e propri (analogamente a Microsoft, che oggi viene condannata perché lo sviluppo del suo Internet Explorer ignora gli standard esistenti). Una di quelle tecnologie era JavaScript. Originariamente chiamato LiveScript, JavaScript fu creato da Brendan Eich di Netscape e incluso nella versione 2.0 del browser (rilasciata nel 1995). Per la prima volta, gli sviluppatori erano in grado di manipolare l interazione di una pagina web con l utente. Invece di compiere ripetuti andirivieni fra server e client per semplici funzioni come la convalida di dati, divenne possibile trasferire questa piccola quantità di elaborazione dati al browser. Tale capacità era importantissima in un epoca in cui la maggior parte dei navigatori in Internet si collegava con modem da 28,8 Kbps e in cui ogni richiesta al server equivaleva a un certo intervallo di attesa. Ridurre il numero di occasioni in cui l utente doveva attendere una risposta fu il primo grande passo verso l approccio Ajax.

3 Cos è Ajax? I Frame La versione originale dell HTML stabiliva che ogni documento fosse a sé stante, e solo con HTML 4.0 furono introdotti ufficialmente i frame. L idea che la visualizzazione di una pagina web potesse essere suddivisa in molteplici documenti era radicale, e scaturirono delle polemiche per il fatto che Netscape decise di implementare tale funzionalità prima che lo standard HTML 4.0 venisse completato. Netscape Navigator 2.0 fu il primo browser a supportare sia i frame sia JavaScript. Ciò si rivelò essere un passaggio importante nell evoluzione di Ajax. Quando iniziarono le guerre dei browser fra Microsoft e Netscape alla fine degli anni Novanta, Java- Script e i frame vennero formalizzati. Con l aggiunta di nuove funzionalità per entrambe le tecnologie, gli sviluppatori più creativi cominciarono a fare esperimenti utilizzandoli congiuntamente. Dato che un frame rappresentava una richiesta al server del tutto distinta, la capacità di controllare un frame e i relativi contenuti mediante JavaScript diede il via a diverse possibilità affascinanti. La tecnica del frame nascosto Mentre gli sviluppatori iniziavano a manipolare i frame in modi sempre più raffinati, emerse una nuova tecnica per facilitare la comunicazione client-server. La tecnica del frame nascosto consisteva nell impostare un frameset in cui a un frame veniva assegnata un altezza o una larghezza pari a 0 pixel, il cui unico scopo era quello di avviare la comunicazione con il server. Il frame nascosto conteneva un form HTML con campi specifici che potevano essere compilati dinamicamente da JavaScript e rinviati al server. Al suo ritorno, il frame avrebbe chiamato un altra funzione JavaScript per informare la pagina chiamante che i dati erano stati restituiti. La tecnica del frame nascosto rappresentò il primo modello richiesta/risposta asincrono per applicazioni web. Questo fu il primo modello di comunicazione di Ajax, ma un altro progresso tecnologico era appena dietro l angolo. L HTML Dinamico e il DOM Nel 1996, il Web era ancora principalmente un universo statico. Malgrado JavaScript e la tecnica del frame nascosto avessero ravvivato l interazione con l utente, non esisteva ancora nessuna possibilità di modificare l aspetto di una pagina senza doverla ricaricare, a parte cambiando i valori dei campi del form. Poi comparve Internet Explorer 4.0. A questo punto, Internet Explorer aveva colmato il divario con la tecnologia del leader del mercato Netscape Navigator e l aveva persino superata in un aspetto importante con l introduzione dell HTML Dinamico (DHTML). Pur essendo ancora in fase di sviluppo, il DHTML rappresentò un significativo passo avanti rispetto all epoca delle pagine web statiche, permettendo agli sviluppatori di alterare qualsiasi porzione di una pagina caricata grazie a JavaScript. Unitamente all apparizione dei fogli di stile CSS (Cascading Style Sheets), il DHTML diede nuovo vigore allo sviluppo per il web, malgrado le profonde disparità dei percorsi che Microsoft e Netscape intrapresero agli albori di queste due discipline. L eccitazione nella comunità degli sviluppatori era però giustificata, perché combinare il DHTML con la tecnica del frame nascosto significava poter aggiornare qualsiasi parte di una pagina con informazioni dal server. Questo fu un autentico cambiamento di modello per il Web. DHTML non riuscì mai a diventare uno standard, anche se l influenza di Microsoft si sarebbe fatta sentire in maniera decisa con l introduzione del Document Object Model (DOM) come elemento centrale del progetto per la standardizzazione di tale tecnologia. A differenza del DHTML, che cercava solamente di modificare le sezioni di una pagina web, il DOM aveva un obiettivo molto più ambizioso: fornire una struttura per l intera pagina web. La manipolazione di tale struttura avrebbe permesso modifiche di tipo DHTML alla pagina stessa. Questo fu il successivo passo avanti verso Ajax.

4 Capitolo 1 Gli iframe Malgrado la tecnica del frame nascosto si diffuse incredibilmente, presentava uno svantaggio: occorreva pianificarla per tempo e scrivere un frameset che anticipasse l utilizzo di frame nascosti. Quando l elemento <iframe/> venne introdotto come componente ufficiale di HTML 4.0 nel 1997, esso rappresentò un altra tappa importante nell evoluzione del Web. Invece di definire frameset, gli sviluppatori potevano sistemare iframe in qualsiasi punto della pagina. Ciò permise loro di rinunciare del tutto ai frameset e di disporre semplicemente iframe invisibili (attraverso l utilizzo di CSS) in una pagina per attivare la comunicazione client-server. E quando il DOM fu definitivamente implementato in Internet Explorer 5 e Netscape 6, introdusse la possibilità di creare al volo iframe in modo dinamico; si poteva cioè impiegare una funzione JavaScript per creare un iframe, formulare una richiesta e ottenere la risposta, il tutto senza aggiungere codice HTML extra alla pagina. Così si arrivò alla seconda generazione della tecnica del frame nascosto: la tecnica dell iframe nascosto. XMLHttp Gli sviluppatori del browser di Microsoft dovevano essersi resi conto della popolarità della tecnica del frame nascosto e della nuova tecnica dell iframe nascosto, poiché decisero di fornire agli sviluppatori web uno strumento migliore per l interazione client-server. Tale strumento arrivò nel 2001 sotto forma di un oggetto ActiveX chiamato XMLHttp. Una delle estensioni Microsoft per JavaScript permetteva la creazione di controlli ActiveX, gli oggetti di programmazione proprietari di Microsoft. Quando Microsoft iniziò a supportare lo XML attraverso una libreria chiamata MSXML, venne incluso l oggetto XMLHttp. Pur avendo XML nel nome, tale oggetto non era soltanto uno dei tanti modi per manipolare dati XML: si trattava più di una richiesta HTTP ad hoc che poteva essere controllata da JavaScript. Gli sviluppatori avevano così accesso ai codici di stato e agli header HTTP, così come a qualsiasi dato restituito dal server. Quei dati potevano essere XML strutturato, blocchi di codice HTML preformattato, oggetti JavaScript serializzati, oppure dati in qualsiasi formato scelto dallo sviluppatore. Invece di utilizzare frame o iframe nascosti, ora era possibile accedere al server sistematicamente servendosi di JavaScript puro, svincolato dal ciclo di caricamento/ ricaricamento della pagina. L oggetto XMLHttp divenne uno strumento incredibile per gli sviluppatori di Internet Explorer. Vista la sua crescente diffusione, gli sviluppatori del progetto open source Mozilla lavorarono a un proprio porting di XMLHttp. Invece di permettere l accesso ad ActiveX i programmatori di Mozilla ne replicarono i metodi e le proprietà principali in una richiesta objectxmlhttprequest nativa del browser. Con il supporto di XMLHttp nei due browser più importanti (seppur in forme diverse), lo sviluppo di interfacce di tipo Ajax prese decisamente piede e costrinse altri browser più marginali, come Opera e Safari, a supportare una qualche forma di XMLHttp (entrambi optarono per un supporto nativo con un oggetto XMLHttpRequest, sulla scia di Mozilla). Abbastanza ironicamente la popolarità di questo clone di XMLHttp ritornò a Microsoft, che introdusse nativamente l oggetto XMLHttpRequest in Internet Explorer 7. Il vero Ajax Malgrado la presenza di svariate FAQ a supplemento dell articolo di Garrett, rimane tuttora una certa confusione su ciò che concerne la vera essenza di Ajax. In parole semplici, Ajax non è altro che un approccio all interazione web. Tale approccio riguarda la trasmissione di solo una piccola quantità di informazioni da e verso il server, in modo da offrire all utente l esperienza più reattiva possibile.

5 Cos è Ajax? Invece del modello di applicazione web tradizionale, in cui il browser stesso si occupa di avviare richieste al server web e di processare le richieste provenienti da quest ultimo, il modello Ajax prevede un livello intermedio, che Garrett chiama motore Ajax (Ajax engine), atto a gestire tale comunicazione. Un motore Ajax è in realtà un semplice oggetto o funzione JavaScript che viene chiamato ogni qual volta è necessario richiedere informazioni al server. A differenza del modello tradizionale, che fornisce un collegamento a un altra risorsa (per esempio un altra pagina web), ogni collegamento esegue una chiamata al motore Ajax, che programma ed esegue la richiesta. Essa viene eseguita in modo asincrono, ovvero l esecuzione del codice non attende una risposta prima di continuare. Il server, che solitamente servirebbe HTML, immagini, CSS o JavaScript, viene configurato per inviare dati che il motore Ajax può utilizzare. Questi dati possono essere testo puro, XML, o qualsiasi altro formato di informazioni necessario. L unico requisito è che il motore Ajax possa comprenderlo e interpretarlo. Quando il motore Ajax riceve la risposta del server, passa all azione, spesso esaminando i dati e apportando svariati cambiamenti all interfaccia utente basandosi sulle informazioni ricevute. Dato che questo processo comporta il trasferimento di una minore quantità di informazioni rispetto al tradizionale modello di applicazione web, l interfaccia utente viene aggiornata più velocemente, e l utente è in grado di svolgere il proprio lavoro con maggiore efficienza. La Figura 1.1 è un adattamento della figura presente nell articolo di Garrett che mostra le differenze fra il modello di applicazione web tradizionale e quello di Ajax. Modello di applicazione Web Tradizionale Web Browser HTML, Images, CSS, JavaScript Dati Richiesta HTTP Richiesta dati/interrogazione Web Server Database Modello di applicazione Web Ajax Web Browser HTML, CSS Dati Dati Interfaccia utente Chiamata JavaScript Motore Ajax Richiesta HTTP Database Richiesta dati/interrogazione Web Server Figura 1.1 I principi di Ajax Essendo un nuovo modello di applicazione web, Ajax è ancora nella sua prima infanzia. Tuttavia molti sviluppatori web hanno considerato questo nuovo sviluppo come una sfida. La sfida è distinguere ciò che rende ottima un applicazione web Ajax da ciò che la rende pessima o mediocre. Michael Mahemoff (www.mahemoff.com), sviluppatore di software ed esperto di usabilità, ha identificato svariati principi chiave di ottime applicazioni Ajax; vale la pena ripeterli qui:

6 Capitolo 1 Traffico minimo: le applicazioni Ajax dovrebbero ricevere e inviare la minor quantità di informazioni possibile da e verso il server. Insomma, Ajax può minimizzare il traffico fra client e server. Assicurarsi che la propria applicazione Ajax non invii e riceva informazioni inutili ne favorisce la robustezza. Niente sorprese: le applicazioni Ajax solitamente introducono modelli di interazione utente diversi rispetto alle applicazioni web tradizionali. A differenza dello standard web di fare clic e attendere, alcune applicazioni Ajax si servono di altri paradigmi di interfaccia, quali il drag and drop o il doppio clic. A prescindere da quale modello di interazione utente si scelga, si mantenga una generale coerenza, in modo che l utente sappia sempre come agire. Convenzioni prestabilite: non si perda tempo a inventare nuovi modelli di interazione utente che risulteranno estranei agli utenti finali. Meglio prendere a prestito il più possibile da applicazioni web e desktop tradizionali, così da avere una curva d apprendimento minima. Nessuna distrazione: evitare elementi di pagina inutili e che distraggono come animazioni continue e sezioni di pagina lampeggianti. Espedienti di questo tipo distolgono l utente da ciò che sta cercando di realizzare. Accessibilità: tenere presente chi saranno i propri utenti primari e secondari e come interagiranno con l applicazione Ajax. Evitare di progettare un applicazione che possa tagliare fuori completamente un tipo di pubblico inaspettato. I propri utenti impiegheranno browser più datati o software speciali? Meglio saperlo con anticipo e regolarsi di conseguenza. Evitare interi caricamenti di pagina: tutta la comunicazione con il server dopo l iniziale caricamento di pagina deve essere gestita dal motore Ajax. Non si comprometta l esperienza utente caricando piccole quantità di dati in un punto ed eseguendo interi caricamenti di pagina in un altro. L utente innanzi tutto: progettare l applicazione Ajax pensando all utente prima di ogni altra cosa. Cercare di semplificare al massimo gli utilizzi più comuni, senza farsi prendere troppo da questioni come l inserimento di pubblicità o di effetti piacevoli. Il comune denominatore di tutti questi principi è l usabilità. Lo scopo primario di Ajax è migliorare l esperienza web dei propri utenti; la tecnologia che lo permette è semplicemente un mezzo per tale fine. Attenendosi ai principi qui elencati, si può essere ragionevolmente sicuri che la propria applicazione Ajax risulterà utile e usabile. Le tecnologie alla base di Ajax L articolo di Garrett cita diverse tecnologie che egli vede come parti di una soluzione Ajax: HTML/XHTML: linguaggi di rappresentazione del contenuto primario. CSS: fornisce formattazione stilistica allo XHTML. DOM: aggiornamento automatico di una pagina caricata. XML: formato di interscambio dati. XSLT: trasforma XML in XHTML (con stili forniti dai CSS). XMLHttp: agente di comunicazione primario. JavaScript: linguaggio di scripting utilizzato per programmare un motore Ajax. In realtà, tutte queste tecnologie possono essere sfruttate in soluzioni Ajax, ma soltanto tre sono fonda-

7 Cos è Ajax? mentali: HTML/XHTML, DOM e JavaScript. XHTML è ovviamente necessario per la visualizzazione delle informazioni, mentre DOM è richiesto per cambiare porzioni di una pagina XHTML senza ricaricarla. L ultimo componente, JavaScript, è indispensabile per avviare la comunicazione client-server e manipolare il DOM per aggiornare la pagina web. Le altre tecnologie dell elenco precedente sono utili per affinare una soluzione Ajax, ma non sono necessarie. Vi è un componente importante che Garrett ha dimenticato di citare nel suo articolo: la necessità dell elaborazione lato server. Tutte le tecnologie summenzionate si relazionano direttamente al motore Ajax lato client, ma non vi è Ajax senza un server stabile e reattivo in attesa di inviare contenuti al motore. Per questo scopo è possibile utilizzare l applicazione server che si desidera. Che si scelga di scrivere i componenti lato server come pagine PHP, servlet Java o componenti.net, occorre solo assicurarsi che venga inviato in risposta al motore Ajax il formato di dati corretto. Gli esempi presenti in questo volume fanno uso di quante più applicazioni lato server possibili, per offrire informazioni sufficienti a impostare sistemi di comunicazione Ajax sulle tipologie di server più varie. La maggior parte degli esempi presenti in questo libro sono disponibili nelle versioni PHP, JSP e ASP.NET su Chi utilizza Ajax? Molti siti web commerciali si servono di tecniche Ajax per rendere più efficace l esperienza utente. Tali siti si comportano molto più come applicazioni web che non come siti dalla tradizionale presentazione a brochure dei prodotti e che visualizzano informazioni solo perché il visitatore li consulta con uno scopo ben preciso. Le seguenti sono alcune delle applicazioni web più conosciute e meglio realizzate che fanno uso di Ajax. Google Suggest Uno dei primi esempi che viene citato dagli sviluppatori quando parlano di Ajax è Google Suggest (www.google.com/webhp?complete=1). L interfaccia è semplicemente una copia della pagina principale di Google, che mette in evidenza una casella di testo per inserire i termini della ricerca. Tutto appare come al solito, finché non si inizia a scrivere nella casella. Mentre si scrive, Google Suggest richiede suggerimenti al server e mostra un elenco di termini di ricerca di potenziale interesse. A fianco di ogni suggerimento viene riportato il numero di risultati associati al termine, così da poter meglio decidere (Figura 1.2). Questa semplice interazione client-server è molto potente ed efficace senza essere d intralcio all utente. La reattività dell interfaccia è superiore a qualsiasi aspettativa in ambito di applicazioni web: si aggiorna sempre a prescindere dalla rapidità con cui si scrivono i termini e, analogamente alle funzioni di autocompletamento dei software desktop, si possono utilizzare i tasti freccia su e freccia giù per evidenziare e selezionare ogni termine nell elenco dei suggerimenti. Pur essendo ancora in beta, è ragionevole aspettarsi questo approccio nella pagina principale di Google in un futuro prossimo. Gmail Gmail, il servizio gratuito di Google, è stato entusiasticamente definito come una meraviglia dell interazione client-server nell era di Ajax. Quando si effettua il login in Gmail per la prima volta, un motore di interfaccia utente viene caricato in uno dei pochi iframe utilizzati dall applicazione. Tutte le ulteriori richieste al server avvengono attraverso questo motore di interfaccia utente mediante un oggetto XMLHttp. I dati che vengono scambiati tra client e server sono codice JavaScript, che prevede un esecuzione molto rapida una volta scaricato dal browser. Tali richieste istruiscono il motore di interfaccia utente su ciò che deve essere aggiornato a video. In più, l applicazione Gmail utilizza diversi frame e iframe per gestire e archiviare in cache i cambiamenti più notevoli dell interfaccia utente. L uso estremamente complesso dei frame permette a Gmail di funzionare correttamente con i pulsanti Indietro e

8 Capitolo 1 Avanti, uno dei vantaggi dell utilizzo di frame e iframe al posto di XMLHttp (trattato più avanti) o in congiunzione a esso. Il successo più grande di Gmail è la sua usabilità. L interfaccia utente (Figura 1.3) è semplice e ordinata. L interazione con l utente e la comunicazione con il server sono molto fluide. Ancora una volta, Google ha impiegato Ajax per migliorare ulteriormente un concetto già semplice, così da fornire un esperienza utente eccezionale. Figura 1.2 Figura 1.3

9 Cos è Ajax? Google Maps Un altra parte delle applicazioni web Ajax di Google è Google Maps (maps.google.com). Ideata per concorrere con affermati siti cartografici, Google Maps si serve di Ajax per evitare completamente il ricaricamento della sua pagina principale (Figura 1.4). A differenza di altre applicazioni web di cartografia, Google Maps permette all utente di trascinare la mappa per spostarla in varie direzioni. Il codice per il trascinamento non è nulla di nuovo per sviluppatori JavaScript, ma la segmentazione della mappa e l effetto di scorrimento apparentemente infinito sono tutta un altra faccenda. La mappa è suddivisa in una serie di immagini che vengono affiancate fra loro per creare l aspetto di un immagine contigua. Il numero di immagini utilizzate per visualizzare la mappa è limitato, dato che la creazione di nuove immagini a ogni spostamento della mappa da parte dell utente porterebbe rapidamente a problemi di memoria. Vengono invece impiegate in continuazione le stesse immagini per mostrare segmenti diversi della mappa. La comunicazione client-server viene effettuata mediante un iframe nascosto. Ogni volta che viene compiuta una ricerca o si richiedono nuove indicazioni, queste informazioni vengono inviate e restituite all interno di quell iframe. I dati restituiti sono in formato XML e vengono passati a una funzione JavaScript (il motore Ajax) per la gestione. Tale XML è quindi utilizzato in svariati modi: una parte di esso richiama le immagini-mappa corrette, un altra viene trasformata in HTML attraverso XSLT e visualizzata nella finestra principale. Insomma, si tratta di un applicazione Ajax che nel 2006 si è confermata al secondo posto per il mapping di destinazioni su Web. Figura 1.4 A9 Amazon.com è noto in tutto il mondo per essere un mercato online tramite il quale acquistare praticamente di tutto. Quando però inaugurò un motore di ricerca, lo fece senza troppa ostentazione. L introduzione di A9 (www.a9.com) presentò una forma di ricerca avanzata che permette di cercare

10 Capitolo 1 contemporaneamente diversi tipi di informazioni. Per le ricerche web e di immagini si serve di MSN per recuperare i risultati. Effettua ricerche di libri su Amazon.com e di film su IMDb (Internet Movie Database). Dalla metà del 2005 sono state aggiunte ricerche nelle Pagine Gialle, nella Wikipedia e in Answers.com. Ciò che rende unico A9 è il metodo di funzionamento dell interfaccia. Quando si effettua una ricerca, i vari tipi di risultati vengono visualizzati in aree differenti della pagina (Figura 1.5). Nella pagina dei risultati della ricerca è presente l opzione di selezionare altre ricerche da svolgere secondo gli stessi criteri. Quando si seleziona una casella di controllo corrispondente a un tipo di ricerca, la ricerca viene eseguita dietro le quinte mediante una combinazione di iframe nascosti e di XMLHttp. L interfaccia utente si sposta per fare spazio ai nuovi risultati di ricerca, che vengono caricati non appena ricevuti dal server. Ciò che si ottiene è una pagina di risultati di ricerca molto più reattiva e che non occorre ricaricare quando si vogliono cercare tipologie differenti di informazioni. Figura 1.5 Yahoo! News Anch esso introdotto nel 2005, il sito Yahoo! News (news.yahoo.com) presenta un design rinnovato. L innovazione consiste in un interessante funzionalità: quando l utente muove il puntatore del mouse su un determinato titolo, appare un piccolo riquadro che offre un riassunto dell articolo ed eventualmente una fotografia associata alla notizia (Figura 1.6). I dati relativi a foto e riassunto vengono recuperati dal server mediante XMLHttp e inseriti dinamicamente nella pagina. Questo è un esempio perfetto di come si possa impiegare Ajax per migliorare una pagina web. Invece di rendere Ajax la modalità di utilizzo primaria, il sito Yahoo! News è totalmente usabile senza Ajax; la funzionalità Ajax viene utilizzata solo per aggiungere un esperienza utente più reattiva per quei browser che la supportano. Sotto la superficie si trova una pagina HTML semanticamente corretta che viene arrangiata anche senza formattazione CSS. 10

11 Cos è Ajax? Figura 1.6 Figura

12 Capitolo 1 Bitflux Blog Un altro esempio notevole dell uso di Ajax come semplice miglioria aggiuntiva è Bitflux Blog (blog. bitflux.ch/), che presenta una tecnologia chiamata LiveSearch. LiveSearch lavora congiuntamente alla casella di ricerca del sito. Mentre si scrive nel campo di ricerca, un elenco di possibili risultati viene visualizzato immediatamente al di sotto di essa (Figura 1.7). I risultati della ricerca vengono recuperati utilizzando XMLHttp come una stringa HTML che viene poi inserita nella pagina. Si possono effettuare ricerche nel sito anche alla vecchia maniera: scrivendo nell apposito campo e premendo Invio. La funzionalità Ajax LiveSearch è soltanto una miglioria del sito e non è indispensabile per le ricerche. Confusione e polemiche Malgrado la popolarità del termine Ajax, il concetto ha incontrato una buona dose di polemica e dissenso. Alcuni ritengono che Ajax sia un aberrazione di ciò verso cui il Web si stava muovendo prima dell avvento di Ajax. I proponenti dell HTML semantico, dell accessibilità e della separazione di contenuti e presentazione stavano guadagnando terreno e consensi fra gli sviluppatori web, e alcuni credono che la popolarità di Ajax abbia ricacciato quel movimento in una posizione di sfondo. La convinzione di questi detrattori è che Ajax promuova la creazione della presentazione all interno di JavaScript, convertendola quindi in un miscuglio disordinato simile agli albori dello scripting lato server. Molti ritengono che l accessibilità possa risentirne se un numero maggiore di sviluppatori passerà a soluzioni Ajax. Altri hanno dedicato molto tempo a sviscerare l articolo di Garrett e a confutare svariate sue presupposizioni. Per esempio, l articolo più volte identifica nell utilizzo di XML e di XMLHttp il nucleo del modello Ajax, ma molti degli esempi portati da Garrett non si servono dell una o dell altra di queste due tecnologie. Gmail e Google Maps utilizzano queste tecnologie molto moderatamente; Google Suggest utilizza soltanto XMLHttp e per l interscambio dati si serve di vettori JavaScript e non dello XML. I critici fanno notare inoltre che la spiegazione tecnica di Ajax data nell articolo è del tutto fuorviante, nominando svariate tecnologie non solo superflue (come XML e XMLHttp) ma il cui uso è improbabile in molti casi (come XSLT). Un altra grande controversia che circonda Ajax e l articolo di Garrett riguarda il fatto che Ajax sia semplicemente un nome nuovo per una tecnica in uso ormai da tempo. Anche se questo tipo di recupero di informazioni poteva essere attivato in Netscape Navigator 2.0, esso divenne molto più importante nel , specialmente con la pubblicazione di un articolo sul sito Apple Developer Connection dal titolo Remote Scripting With IFRAME ( Scripting remoto con IFRAME ), disponibile all indirizzo Questo scritto viene ampiamente considerato come il primo articolo pubblicato riguardante metodologie di tipo Ajax. L espressione remote scripting non ha mai preso piede con la stessa potenza ed efficacia di Ajax. Altri ancora si fanno beffe del termine Ajax e dell articolo di Garrett, ritenendo che la sua creazione sia stata poco più che un espediente di marketing per favorire l azienda di Garrett, Adaptive Path LLC. Alcuni pensano che il coniare un nome per una tecnica già esistente sia un atto insincero e un chiaro segno di cattive intenzioni. A prescindere da questa e molte altre polemiche intorno ad Ajax, tale approccio ora possiede un nome sempre più familiare a molti sviluppatori. Di qui l esigenza di un approfondimento e di una spiegazione, così che questo nome possa essere impiegato nei modi migliori. Ajax e il Web 2.0 Poco tempo dopo che fu coniato il termine Ajax comparve un altro nuovo lemma: Web 2.0. Inizialmente Web 2.0 fu il nome di una conferenza tenuta da O Reilly Media e CMP Media nel Successivamente il termine rimase in vita e divenne popolare su tutta Internet come descrizione dei cambiamenti che 12

13 Cos è Ajax? il Web avrebbe effettuato. Per fare in modo che non si dessero i significati più disparati al termine Web 2.0, Tim O Reilly (fondatore e CEO di O Reilly) scrisse un articolo intitolato What is Web 2.0 (disponibile online su what-is-web-20.html) descrivendo i concetti che credeva rappresentassero il Web 2.0. Questi concetti includono: Il Web inteso come insieme di servizi e non come software. La mentalità di gruppo del Web; gli utenti incoraggiati a partecipare (a commentare, a scrivere blog, a connettersi in rete e così via). Separazione dei dati dalla presentazione; i dati possono essere rappresentati in tanti modi diversi e combinati con altre sorgenti di dati (chiamate mashup). Esperienze dell utente più ricche e sensibili. Ajax è legato all ultimo punto, creando esperienze utente più ricche. Per chiarire il concetto, Ajax non è un sinonimo di Web 2.0, e il Web 2.0 d altra parte non parla mai di Ajax. Il Web 2.0 tratta il cambiamento di comportamento del Web. Mentre Ajax è una parte importante per creare le esperienze utente di prossima generazione che il Web 2.0 promuove; è come una tessera di un grande puzzle. Riepilogo Questo capitolo è servito da introduzione alla premessa fondamentale di Ajax. Forma contratta di Asynchronous JavaScript + XML, il termine Ajax è stato coniato da Jesse James Garrett in un articolo pubblicato sul sito web dell azienda Adaptive Path LLC. L articolo ha presentato Ajax come un nuovo modello di interazione utente per applicazioni web in cui non sono più necessari i caricamenti completi delle pagine. Il presente capitolo ha inoltre trattato l evoluzione del Web in relazione allo sviluppo di tecnologie che hanno permesso ad Ajax di essere una realtà oggi. Ajax deve la propria esistenza all introduzione di JavaScript e dei frame nei browser web, che resero teoricamente possibile il recupero dati asincrono in Netscape Navigator 2.0. Attraverso l evoluzione di nuove tecnologie web, si svilupparono metodologie Ajax come la tecnica del frame nascosto. L introduzione degli iframe e di XMLHttp diede una forte spinta allo sviluppo di Ajax. Sebbene Ajax possa essere impiegato per realizzare moltissime funzioni, lo si utilizza in maniera più efficace per migliorare l esperienza utente, e non per creare piacevoli effetti visivi. Questo capitolo ha trattato svariati principi di Ajax, tutti accomunati da un requisito basilare, ovvero che sia l utente il centro dello sviluppo di applicazioni web. Sono state presentate inoltre alcune delle più note applicazioni Ajax, fra cui Google Suggest, Gmail, Google Maps, Yahoo! News e Bitflux Blog. Infine nel capitolo si è parlato delle polemiche e delle controversie che circondano Ajax, l articolo di Garrett, e il ruolo di Ajax nel Web. Alcuni ritengono che la diffusione di Ajax porterà a una generale mancanza di accessibilità, mentre altri criticano le motivazioni che hanno spinto Garrett a scrivere questo articolo ormai famoso. Come per ogni approccio, Ajax dà il meglio di sé quando viene impiegato nel perfezionamento logico di una applicazione web ben progettata. 13

Indice PARTE PRIMA L INIZIO 1

Indice PARTE PRIMA L INIZIO 1 Indice Introduzione XIII PARTE PRIMA L INIZIO 1 Capitolo 1 Esplorare il World Wide Web 3 1.1 Come funziona il World Wide Web 3 1.2 Browser Web 10 1.3 Server Web 14 1.4 Uniform Resource Locators 15 1.5

Dettagli

CONTROLLO REMOTO DI UNA TELECAMERA IP

CONTROLLO REMOTO DI UNA TELECAMERA IP Scuola Media Pietro Coppo Isola CONTROLLO REMOTO DI UNA TELECAMERA IP Tesi di maturità professionale Indirizzo Tecnico Informatico Alunno: Massimiliano Bevitori Mentore: Maurizio Škerlič Anno Scolastico:

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 1. Introduzione a Internet e al WWW Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica

Dettagli

Appunti di Informatica Gestionale per cl. V A cura del prof. ing. Mario Catalano. Internet e il Web

Appunti di Informatica Gestionale per cl. V A cura del prof. ing. Mario Catalano. Internet e il Web Appunti di Informatica Gestionale per cl. V A cura del prof. ing. Mario Catalano Internet e il Web 1 Internet Internet è un insieme di reti informatiche collegate tra loro in tutto il mondo. Tramite una

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0 AJAX Goy - a.a. 2006/2007 Servizi Web 1 Cos'è il Web 2.0 Web 2.0 = termine introdotto per la prima volta nel 2004 come titolo di una conferenza promossa dalla casa editrice O Reilly L'idea è che ci si

Dettagli

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

INTRODUZIONE AL WEB DINAMICO

INTRODUZIONE AL WEB DINAMICO INTRODUZIONE AL WEB DINAMICO Internet: la rete delle reti Internet rappresenta oggi l espressione del forte bisogno dell uomo di comunicare, al fine, non solo di incrementare le conoscenze, ma anche di

Dettagli

Dichiarazione di Accessibilità

Dichiarazione di Accessibilità Dichiarazione di Accessibilità Il sito web del comune è stato progettato e realizzato con particolare attenzione a quanto prescritto dalla Legge 4/2004 (cosiddetta Legge Stanca ), contenente "Disposizioni

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza

Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza I riferimenti riguardano quanto indicato nelle Recommendation del World Wide Web Consortium (W3C) ed in particolare in quelle

Dettagli

Come funziona internet

Come funziona internet Come funziona internet Architettura client server URL/URI Richiesta (Request) Risposta (Response) Pagina url e uri Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa

Dettagli

La realizzazione di WebGis con strumenti "Open Source".

La realizzazione di WebGis con strumenti Open Source. La realizzazione di WebGis con strumenti "Open Source". Esempi di impiego di strumenti a sorgente aperto per la realizzazione di un Gis con interfaccia Web Cos'è un Web Gis? Da wikipedia: Sono detti WebGIS

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

venerdì 31 gennaio 2014 Programmazione Web

venerdì 31 gennaio 2014 Programmazione Web Programmazione Web WWW: storia Il World Wide Web (WWW) nasce tra il 1989 e il 1991 come progetto del CERN di Ginevra affidato a un gruppo di ricercatori informatici tra i quali Tim Berners- Lee e Robert

Dettagli

Introduzione al corso

Introduzione al corso Laboratorio di Tecnologie Web Introduzione al corso Dott. Stefano Burigat www.dimi.uniud.it/burigat Cosa faremo L'obbiettivo del corso di Laboratorio di Tecnologie Web è quello di fornire le competenze

Dettagli

Conformità: Conforme; tutte le pagine sono realizzate con linguaggio XHTML 1.0 Strict.

Conformità: Conforme; tutte le pagine sono realizzate con linguaggio XHTML 1.0 Strict. Tasti di accesso rapido Al fine di migliorare l'accessibilità del sito sono stati definiti i seguenti tasti di accesso rapido, per attivare le principali funzionalità offerte: [H] = Homepage [R] = Ricerca

Dettagli

Introduzione. In questo capitolo

Introduzione. In questo capitolo Introduzione I CSS ( Cascading Style Sheets, fogli di stile a cascata) sono la tecnologia elaborata dal W3C (World Wide Web Consortium; http://www.w3.org/) per definire l aspetto (caratteri, colori e impaginazione)

Dettagli

Relazione sulla verifica accessibilità

Relazione sulla verifica accessibilità Relazione sulla verifica accessibilità Sito web: www.comune.stresa.vb.it Premessa Il presente rapporto e l effettiva attività di controllo requisiti per l accessibilità, sono stati effettuati seguendo

Dettagli

CONTROLLO REMOTO DI UNA TELECAMERA IP

CONTROLLO REMOTO DI UNA TELECAMERA IP Scuola Media Pietro Coppo CONTROLLO REMOTO DI UNA TELECAMERA IP Tesi di Maturità Professionale Alunno: Salben Kamberi Mentore: Maurizio Škerlič Anno scolastico 2013/2014 INDICE INDICE... 2 INTRODUZIONE...

Dettagli

Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0)

Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0) Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0) Nota Bene: Si raccomanda di leggere queste dispense di fronte al computer, provando passo dopo passo le funzionalità descritte. Per

Dettagli

Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0)

Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0) Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0) Nota Bene: Si raccomanda di leggere queste dispense di fronte al computer, provando passo dopo passo le funzionalità descritte. Per

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Asynchronous JavaScript Technology and XML: Ajax Corso di Applicazioni Telematiche A.A. 2010-11 Prof. Simon Pietro Romano Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rich Internet

Dettagli

tratteremo di... Definizione di Internet e Web Linguaggio HTML e Siti web Statici Siti web Dinamici e codice PHP Breve accenno ai CMS Server Locale

tratteremo di... Definizione di Internet e Web Linguaggio HTML e Siti web Statici Siti web Dinamici e codice PHP Breve accenno ai CMS Server Locale LET S GO Progetto del corso Il web: introduzione ad Internet; i linguaggi digitali; siti statici e siti dinamici; i programmi CMS. Approfondimento di HTML e CSS. Web di qualità: tecniche di web writing;

Dettagli

WEB2.0 e AJAX. Il Web è già cambiato. LIL: Laboratorio di Informatica Libera Centro Oltre e Altro P.zza Matteotti, 14 Siena

WEB2.0 e AJAX. Il Web è già cambiato. LIL: Laboratorio di Informatica Libera Centro Oltre e Altro P.zza Matteotti, 14 Siena Siena, 23 Febbraio 2006 WEB2.0 e AJAX Il Web è già cambiato LIL: Laboratorio di Informatica Libera Centro Oltre e Altro P.zza Matteotti, 14 Siena Paolo Sammicheli Licenza d'uso

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

Rilevazione automatizzata delle timbrature di presenza

Rilevazione automatizzata delle timbrature di presenza Direzione Servizi Interni Rilevazione automatizzata delle timbrature di presenza MANUALE DI UTILIZZO DELLA PROCEDURA TIMBR@WEB Versione 2.0 del 09 Gennaio 2012 A cura di Luigi D Elia SOMMARIO ACCESSO ALL

Dettagli

SITI WEB DEL COMUNE DI PESARO, RAPPORTO DI CONFORMITA' AI REQUISITI TECNICI DELLA LEGGE N.4-9 GENNAIO 2004

SITI WEB DEL COMUNE DI PESARO, RAPPORTO DI CONFORMITA' AI REQUISITI TECNICI DELLA LEGGE N.4-9 GENNAIO 2004 SITI WEB DEL COMUNE DI PESARO, RAPPORTO DI CONFORMITA' AI REQUISITI TECNICI DELLA LEGGE N.4-9 GENNAIO 2004 Le pagine del sito istituzionale e dei siti tematici del Comune di Pesaro sono state progettate

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Introduzione al Web WWW World Wide Web CdL Economia A.A. 2012/2013 Domenica Sileo Università degli Studi della Basilicata Introduzione al Web : WWW >> Sommario Sommario 2 n World

Dettagli

Dichiarazione di Accessibilità

Dichiarazione di Accessibilità Dichiarazione di Accessibilità Requisito n. 1 Realizzare le pagine e gli oggetti al loro interno utilizzando tecnologie definite da grammatiche formali pubblicate nelle versioni più recenti disponibili

Dettagli

Dall hosting al cloud computing: storia del protocollo HTTP

Dall hosting al cloud computing: storia del protocollo HTTP Dall hosting al cloud computing: storia del protocollo HTTP Il protocollo HTTP: dall idea di un ricercatore del CERN ai giorni nostri, in cui velocità, performance e multimedialità impongono le evoluzioni

Dettagli

UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE

UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE UNIVERSITÀ DEGLI STUDI DI TORINO FACOLTÀ DI SCIENZE DELLA FORMAZIONE CORSO DI STUDIO TRIENNALE IN SCIENZE DELL EDUCAZIONE Curriculum: Esperto di formazione a distanza DISSERTAZIONE FINALE Raccontami :

Dettagli

Il World Wide Web. Il Web. La nascita del Web. Le idee di base del Web

Il World Wide Web. Il Web. La nascita del Web. Le idee di base del Web Il World Wide Web Il Web Claudio Fornaro ver. 1.3 1 Il World Wide Web (ragnatela di estensione mondiale) o WWW o Web è un sistema di documenti ipertestuali collegati tra loro attraverso Internet Attraverso

Dettagli

Manuali.net. Nevio Martini

Manuali.net. Nevio Martini Manuali.net Corso base per la gestione di Siti Web Nevio Martini 2009 Il Linguaggio HTML 1 parte Introduzione Internet è un fenomeno in continua espansione e non accenna a rallentare, anzi è in permanente

Dettagli

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II Macchine per l elaborazione dell informazion e Sistemi di Elaborazione delle Informazioni Informatica II Ing. Mauro Iacono Seconda Università degli Studi di Napoli Facoltà di Studi Politici e per l Alta

Dettagli

Siti web e Dreamweaver. La schermata iniziale

Siti web e Dreamweaver. La schermata iniziale Siti web e Dreamweaver Dreamweaver è la soluzione ideale per progettare, sviluppare e gestire siti web professionali e applicazioni efficaci e conformi agli standard e offre tutti gli strumenti di progettazione

Dettagli

Internet e World Wide Web

Internet e World Wide Web Alfonso Miola Internet e World Wide Web Dispensa C-02 Settembre 2005 1 Nota bene Il presente materiale didattico è derivato dalla dispensa prodotta da Luca Cabibbo Dip. Informatica e Automazione Università

Dettagli

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved WEB TECHNOLOGY Il web connette LE persone Indice «Il Web non si limita a collegare macchine, ma connette delle persone» Il Www, Client e Web Server pagina 3-4 - 5 CMS e template pagina 6-7-8 Tim Berners-Lee

Dettagli

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

AJAX e altre applicazioni di Javascript. Luca Fabbri

AJAX e altre applicazioni di Javascript. Luca Fabbri AJAX e altre applicazioni di Javascript Luca Fabbri 1 Definizione di AJAX? AJAX, acronimo di Asynchronous JavaScript and XML, è una tecnica di sviluppo per creare applicazioni web interattive. 2 Perché

Dettagli

Progettare un sito web

Progettare un sito web Progettare un sito web Fasi della progettazione La progettazione di un sito web dovrebbe passare attraverso 4 fasi differenti: 1. Raccolta e realizzazione dei contenuti e delle informazioni da pubblicare

Dettagli

Su Internet, oggi, se il vostro sito Web non è dotato di funzionalità ricche o contenuti. I sistemi CMS e un introduzione a Joomla! In questo capitolo

Su Internet, oggi, se il vostro sito Web non è dotato di funzionalità ricche o contenuti. I sistemi CMS e un introduzione a Joomla! In questo capitolo 1 I sistemi CMS e un introduzione a Joomla! In questo capitolo Su Internet, oggi, se il vostro sito Web non è dotato di funzionalità ricche o contenuti aggiornati, è svantaggiato. L idea di potenziare

Dettagli

MX: COSA SIGNIFICA IL NOME?

MX: COSA SIGNIFICA IL NOME? Introduzione Nel 1989, Tim Berners-Lee dello European Particle Physics Laboratory (CERN) scrisse un piccolo e innocente documento dal titolo Information Management: A Proposal (Gestione dell informazione:

Dettagli

Verifica di Accessibilità del sito www.aots.sanita.fvg.it

Verifica di Accessibilità del sito www.aots.sanita.fvg.it Verifica di Accessibilità del sito www.aots.sanita.fvg.it NOTE: Verifica effettuata in base ai requisiti descritti nell allegato A del Decreto Ministeriale 8 luglio 2005, ai sensi della legge n.4 del 9

Dettagli

COMUNE DI COMACCHIO. Provincia di Ferrara. Settore III Servizio Finanziario e Partecipate. Servizio Informatico Ufficio CED

COMUNE DI COMACCHIO. Provincia di Ferrara. Settore III Servizio Finanziario e Partecipate. Servizio Informatico Ufficio CED COMUNE DI COMACCHIO Provincia di Ferrara Settore III Servizio Finanziario e Partecipate Servizio Informatico Ufficio CED Accessibilità L'accessibilità di un sito web è il frutto di un insieme di tecniche

Dettagli

Corso Creare Siti WEB

Corso Creare Siti WEB Corso Creare Siti WEB INTERNET e IL WEB Funzionamento Servizi di base HTML CMS JOOMLA Installazione Aspetto Grafico Template Contenuto Articoli Immagini Menu Estensioni Sito di esempio: Associazione LaMiassociazione

Dettagli

Ipertesto, navigazione e cenni HTML. Lezione Informatica I CLAWEB

Ipertesto, navigazione e cenni HTML. Lezione Informatica I CLAWEB Ipertesto, navigazione e cenni HTML Lezione Informatica I CLAWEB 1 Il concetto di Ipertesto (1/2) Definizione: Modello testuale in cui le diverse unità di contenuti non sono articolate secondo un ordine

Dettagli

Introduzione. A chi si rivolge questo libro. Gli argomenti trattati

Introduzione. A chi si rivolge questo libro. Gli argomenti trattati Introduzione Il successo straordinario di iphone e ipad degli ultimi quattro anni ha confermato che gli sviluppatori di applicazioni si trovano al centro di un nuovo mondo di soluzioni mobili, sofisticate

Dettagli

Introduzione ad AJAX

Introduzione ad AJAX Introduzione ad AJAX Asynchronous Javascript And XML (PWLS 6.9, 6.10) Complementi di Tecnologie Web A.A. 2011-2012 M.Franceschet, V.Della Mea e I.Scagnetto - 1 Limitazioni delle applicazioni web tradizionali

Dettagli

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013 Corso di HTML Modulo L3 1-Concetti generali 1 Prerequisiti Browser Rete Internet Client e server 2 1 Introduzione In questa Unità introduciamo alcuni semplici elementi del linguaggio HTML, con il quale

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

REQUISITO DI ACCESSIBILITA

REQUISITO DI ACCESSIBILITA ISTITUTO COMPRENSIVO Pascoli - Crispi Via Gran Priorato, 11-98121 Messina Via Monsignor D'Arrigo, 18-98122 Messina Tel/Fax. 09047030 090360037 e-mail: meic87300t@istruzione.it / meee00800r@istruzione.it

Dettagli

Dichiarazione di Accessibilità

Dichiarazione di Accessibilità Dichiarazione di Accessibilità Requisito n. 1 : Realizzare le pagine e gli oggetti al loro interno utilizzando tecnologie definite da grammatiche formali pubblicate nelle versioni più recenti disponibili

Dettagli

Personalizzare l area di lavoro

Personalizzare l area di lavoro 1 Personalizzare l area di lavoro Panoramica della lezione In questa lezione conoscerai l interfaccia del programma Dreamweaver CS6 (Creative Suite 6) e imparerai come: Passare fra le viste documento Gestire

Dettagli

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Corso di Tecnologie Web Prof.ssa Anna Goy - WEB 2.0 e AJAX

Corso di Tecnologie Web Prof.ssa Anna Goy - WEB 2.0 e AJAX Corso di Tecnologie Web Prof.ssa Anna Goy - WEB 2.0 e AJAX ESTRATTO DA: Giulia Biamino, Tecnologie Web 2.0 - Ajax: una nuova possibilità di sviluppo, Tesi di Laurea in Scienze della Comunicazione, a.a.

Dettagli

Architetture Web I Server Web e gli Standard della Comunicazione

Architetture Web I Server Web e gli Standard della Comunicazione Architetture Web I Server Web e gli Standard della Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 27 Marzo 2012 Architetture Architetture Web Protocolli di Comunicazione Il Client Side

Dettagli

ACCADEMIA DI BELLE ARTI DI PALERMO

ACCADEMIA DI BELLE ARTI DI PALERMO ACCADEMIA DI BELLE ARTI DI PALERMO Corso di Web Design INTRODUZIONE Da oltre dieci anni Internet rappresenta uno dei mezzi di comunicazione più importante ed in continua evoluzione, uno strumento divenuto

Dettagli

La Top Ten dei suggerimenti per la progettazione Web

La Top Ten dei suggerimenti per la progettazione Web In questo capitolo Impostare l obiettivo Mantenere le pagine libere e pulite Non travolgere i visitatori con i colori Usare meno di quattro tipi di carattere Essere coerenti Semplificare Essere rapidi

Dettagli

Il linguaggio HTML - Nozioni di base

Il linguaggio HTML - Nozioni di base Corso IFTS Informatica, Modulo 3 Progettazione pagine web statiche (50 ore) Il linguaggio HTML - Nozioni di base Dott. Chiara Braghin braghin@dti.unimi.it What is HTML? HTML (HyperText Markup Language)

Dettagli

HTML 1. HyperText Markup Language

HTML 1. HyperText Markup Language HTML 1 HyperText Markup Language Introduzione ad HTML Documenti HTML Tag di markup Formattazione del testo Collegamenti ipertestuali Immagini Tabelle Form in linea (moduli) Tecnologie di Sviluppo per il

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica CL3 - Biotecnologie Orientarsi nel Web Prof. Mauro Giacomini Dott. Josiane Tcheuko Informatica - 2006-2007 1 Obiettivi Internet e WWW Usare ed impostare il browser Navigare in internet

Dettagli

Tecniche Multimediali

Tecniche Multimediali Chiedersi se un computer possa pensare non è più interessante del chiedersi se un sottomarino possa nuotare Edsger Dijkstra (The threats to computing science) Tecniche Multimediali Corso di Laurea in «Informatica»

Dettagli

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET 18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso ai database

Dettagli

Relazione finale del progetto Sito Alunni Segrè

Relazione finale del progetto Sito Alunni Segrè Relazione finale del progetto Sito Alunni Segrè 1. Descrizione di contenuti, tempi, luoghi, fasi, modalità, strumenti e protagonisti Il progetto ha previsto la realizzazione da parte degli alunni dell

Dettagli

EUROPEAN COMPUTER DRIVING LICENCE. WebEditing. Syllabus

EUROPEAN COMPUTER DRIVING LICENCE. WebEditing. Syllabus EUROPEAN COMPUTER DRIVING LICENCE WebEditing Syllabus Scopo Questo documento presenta il syllabus di ECDL Standard WebEditing. Il syllabus descrive, attraverso i risultati del processo di apprendimento,

Dettagli

Web Content Management and E- Learning

Web Content Management and E- Learning Web Content Management and E- Learning Dott. Fabio Fioravanti fioravanti@sci.unich.it http://www.sci.unich.it/~fioravan Corso di Laurea in Economia e Management Facoltà di Scienze Manageriali UNICH - AA

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

Layout dell area di lavoro

Layout dell area di lavoro Layout dell area di lavoro In Windows, Dreamweaver fornisce un layout che integra tutti gli elementi in una sola finestra. Nell area di lavoro integrata, tutte le finestre e i pannelli sono integrati in

Dettagli

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

Dettagli

Basi di dati. Introduzione. Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database

Basi di dati. Introduzione. Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database Basi di dati Introduzione Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database OpenOffice.org (www.openoffice.org) è un potente software opensource che ha, quale scopo primario,

Dettagli

I Principali Servizi del Protocollo Applicativo

I Principali Servizi del Protocollo Applicativo 1 I Principali Servizi del Protocollo Applicativo Servizi offerti In questa lezione verranno esaminati i seguenti servizi: FTP DNS HTTP 2 3 File Transfer Protocol Il trasferimento di file consente la trasmissione

Dettagli

Lezione di Basi di Dati 1 18/11/2008 - TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP

Lezione di Basi di Dati 1 18/11/2008 - TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP EVOLUZIONE DEL WEB: PAGINE STATICHE vs PAGINE DINAMICHE Il Web è nato a supporto dei fisici, perché potessero scambiare tra loro le informazioni inerenti le loro sperimentazioni. L HTTP è nato inizialmente

Dettagli

CONTENT MANAGMENT SYSTEMS

CONTENT MANAGMENT SYSTEMS CONTENT MANAGMENT SYSTEMS ESTRATTO DA: Ileana D'Incecco, Progettare la comunicazione web per organizzazioni non-profit con strumenti open source: ideazione e realizzazione del sito web della Casa delle

Dettagli

Web Programming Specifiche dei progetti

Web Programming Specifiche dei progetti Web Programming Specifiche dei progetti Paolo Milazzo Anno Accademico 2010/2011 Argomenti trattati nel corso Nel corso di Web Programming sono state descritti i seguenti linguaggi (e tecnologie): HTML

Dettagli

CAPITOLO 10 - TECNOLOGIA ASP.NET - WEB FORM

CAPITOLO 10 - TECNOLOGIA ASP.NET - WEB FORM INTRODUZIONE Nel capitolo 5, dedicato all ambiente di sviluppo, si è descritto come implementare un progetto Web tramite lo strumento di sviluppo Microsoft Visual Studio 2010. Un progetto web (o sito web)

Dettagli

Ajax. Introdotta da Microsoft nel 1998 è stata standardizzata e adottata da tutti i browser moderni.

Ajax. Introdotta da Microsoft nel 1998 è stata standardizzata e adottata da tutti i browser moderni. Ajax AJAX (Asynchronous JavaScript And XML) è una tecnica fondamentale per la creazione di siti e applicazioni web ad alta interattività, che consente di evitare di ricaricare intere pagine ad ogni richiesta

Dettagli

GIOVANNI CALABRESE. Sito E-learning Istituto Tridente. Guida all utilizzo di Moodle per gli studenti

GIOVANNI CALABRESE. Sito E-learning Istituto Tridente. Guida all utilizzo di Moodle per gli studenti GIOVANNI CALABRESE Sito E-learning Istituto Tridente Guida all utilizzo di Moodle per gli studenti Sommario 1. COS È MOODLE... 1 1.1 Requisiti necessari...1 1.2 Configurazione del browser...1 Impostazione

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

CAPITOLO 6 - LINGUAGGIO HTML INTRODUZIONE

CAPITOLO 6 - LINGUAGGIO HTML INTRODUZIONE INTRODUZIONE Le pagine web sono scritte in HTML, un semplice linguaggio di scrittura. In pratica, un documento HTML non è nient'altro che un file di testo. L'HTML permette di scrivere un documento come

Dettagli

INTRODUZIONE: ALL INCLUSIVE

INTRODUZIONE: ALL INCLUSIVE INTRODUZIONE: ALL INCLUSIVE è l insieme di servizi, strumenti e tecniche che rendono un sito web accessibile e ottimizzato per assicurare che venga rinvenuto nelle prime posizioni sui motori di ricerca.

Dettagli

Porre fine ai cicli continui di obsolescenza

Porre fine ai cicli continui di obsolescenza Introduzione Questo libro si rivolge a progettisti web, sviluppatori software, imprenditori e manager che vogliono disporre di siti web a costi ridotti, che funzionino al meglio e che siano in grado di

Dettagli

EUROPEAN COMPUTER DRIVING LICENCE WEB EDITING - Versione 2.0

EUROPEAN COMPUTER DRIVING LICENCE WEB EDITING - Versione 2.0 EUROPEAN COMPUTER DRIVING LICENCE WEB EDITING - Versione 2.0 Copyright 2010 The European Computer Driving Licence Foundation Ltd. Tutti I diritti riservati. Questa pubblicazione non può essere riprodotta

Dettagli

Creare un Web di FrontPage con un modello

Creare un Web di FrontPage con un modello P RO G E T TO 1 Creare un Web di FrontPage con un modello OBIETTIVI In questo progetto imparerete a: Descrivere FrontPage e spiegare le sue funzioni principali Definire HTML e spiegare l uso dei tag HTML

Dettagli

Introduzione allo sviluppo ios con tecnologie web

Introduzione allo sviluppo ios con tecnologie web Capitolo 1 Introduzione allo sviluppo ios con tecnologie web L introduzione di iphone e la presentazione successiva di ipod touch e ipad hanno rivoluzionato il modo con il quale le persone interagiscono

Dettagli

Classificazione del software

Classificazione del software Classificazione del software Classificazione dei software Sulla base del loro utilizzo, i programmi si distinguono in: SOFTWARE Sistema operativo Software applicativo Sistema operativo: una definizione

Dettagli

DOM (Document Object Model) manipolato attraverso un linguaggio ECMAScript come JavaScript o JScript per mostrare le informazioni ed interagirvi;

DOM (Document Object Model) manipolato attraverso un linguaggio ECMAScript come JavaScript o JScript per mostrare le informazioni ed interagirvi; Capitolo 5 AJAX AJAX è uno strumento di sviluppo per la realizzazione di applicazioni web interattive. La sua tecnologia si basa su uno scambio asincrono di dati in background fra web browser e server,

Dettagli

Navigare in Internet

Navigare in Internet Navigare in Internet ICT per la terza età Le video lezioni della Fondazione Mondo Digitale Diapositiva Introduzione Word Wide Web = WWW = Ragnatela estesa a tutto il mondo In questo argomento del nostro

Dettagli

Programmazione Web. Introduzione

Programmazione Web. Introduzione Programmazione Web Introduzione 2014/2015 1 Un'applicazione Web (I) 2014/2015 Programmazione Web - Introduzione 2 Un'applicazione Web (II) 2014/2015 Programmazione Web - Introduzione 3 Un'applicazione

Dettagli

Contenuti. Applicazioni di rete e protocolli applicativi

Contenuti. Applicazioni di rete e protocolli applicativi Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

Dettagli

Introduzione alle Applicazioni Web

Introduzione alle Applicazioni Web Introduzione alle Applicazioni Web di Mary Ercolini Con il termine Applicazione Web si intende un applicazione risiedente in un Server Web alla quale si accede tramite un browser Internet o un altro programma

Dettagli

ISTRUZIONI PER L USO DEL SITO WWW.QUITITROVO.IT

ISTRUZIONI PER L USO DEL SITO WWW.QUITITROVO.IT ISTRUZIONI PER L USO DEL SITO WWW.QUITITROVO.IT Benvenuto nell area istruzioni per l uso del sito QuiTiTrovo. In questo documento potrai trovare la spiegazione a tutte le funzionalità contenute nel sito

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Internet Web!" Il web è solo uno degli aspetti di internet." In particolare, chiamiamo web tutta l informazione che riusciamo a ottenere collegandoci ad

Dettagli

Internet: applicazioni e servizi web

Internet: applicazioni e servizi web Capitolo Quinto Internet: applicazioni e servizi web Sommario: 1. Le componenti tecnologiche (browser, web/application server). - 2. Realizzazione di pagine statiche e dinamiche. - 3. Linguaggi di marcatura

Dettagli

UNIVERSITA' DEGLI STUDI DELL'INSUBRIA. Facoltà di Informatica

UNIVERSITA' DEGLI STUDI DELL'INSUBRIA. Facoltà di Informatica UNIVERSITA' DEGLI STUDI DELL'INSUBRIA Facoltà di Informatica Anno accademico 2009/2010 Corso di Web 2.0 Barboni Stefano 702499 Castiglioni Andrea 700484 Modugno Manlio 701896 Sommario Introduzione... 3

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

Il Panorama tecnologico web 2.0

Il Panorama tecnologico web 2.0 UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTÀ DI SOCIOLOGIA - CORSO DI LAUREA IN CULTURE DIGITALI E DELLA COMUNICAZIONE Il Panorama tecnologico web 2.0 Le infrastrutture tecnologiche del web di

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli