La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Interazione avanzata su web: dai plugin ad Ajax Seminario di Interazione Locale e Remota Corso di Laurea Magistrale in Informatica A.A. 2009/2010 Emanuele.

Presentazioni simili


Presentazione sul tema: "Interazione avanzata su web: dai plugin ad Ajax Seminario di Interazione Locale e Remota Corso di Laurea Magistrale in Informatica A.A. 2009/2010 Emanuele."— Transcript della presentazione:

1 Interazione avanzata su web: dai plugin ad Ajax Seminario di Interazione Locale e Remota Corso di Laurea Magistrale in Informatica A.A. 2009/2010 Emanuele Panizzi 18 marzo 2010

2 Emanuele Panizzi 18/3/10 Interazione avanzata su web Indice Web1.0: Pagine statiche, dinamiche, Applicazioni web (2000) Rich Internet Applications Web2.0: Tecnologie Web2.0: mashup Interazione QUI: ESEMPI

3 Emanuele Panizzi 18/3/10 Interazione avanzata su web RICHIESTA WEB Server serverclient Browser url info sul richiedente (tipo di browser, lingua, etc.)

4 Emanuele Panizzi 18/3/10 Interazione avanzata su web RISPOSTA File.html WEB ServerBrowser serverclient pagina web statica: il contenuto è sempre lo stesso file html

5 Emanuele Panizzi 18/3/10 Interazione avanzata su web File.php WEB ServerBrowser RISPOSTA serverclient.php PHP File.html pagina web dinamica: il contenuto può variare di volta in volta condizioni esterne: ora, informazioni ricevute con la richiesta, etc. file html

6 Emanuele Panizzi 18/3/10 Interazione avanzata su web File.php WEB ServerBrowser RISPOSTA serverclient.php PHP File.html DBMS file html pagina web dinamica: il contenuto può variare di volta in volta e da utente a utente condizioni esterne: ora, informazioni ricevute con la richiesta, etc.

7 Emanuele Panizzi 18/3/10 Interazione avanzata su web File.php WEB ServerBrowser RISPOSTA serverclient.php PHP File.html con Javascript DBMS file html pagina attiva. il browser può modificare ulteriormente la pagina in base ad azioni dellutente (es. mouse over) condizioni esterne: ora, informazioni ricevute con la richiesta, etc. JAVASCRIPT

8 Emanuele Panizzi 18/3/10 Interazione avanzata su web Pagine statiche Lato server: –File statico –Stateless Lato client (browser): –Visualizzazione –Interazione: link ipertestuali, widget dei form, semplici animazioni (es. roll-over), controllo dati form rollover

9 Emanuele Panizzi 18/3/10 Interazione avanzata su web Pagine dinamiche / web apps Input: –Dal browser (lingua, IP, tipo di browser…) –Dallutente Metodo GET: …index.php?q=musica&ln=it Mediante form Metodo POST Output: una pagina html Stato: –Modifiche DB –Stato dellutente (sessione) –cookies

10 Emanuele Panizzi 18/3/10 Interazione avanzata su web Differenza applicazione / pag web Tempi di risposta Interfaccia modificata per parti Elaborazione asincrona rispetto allintervento dellutente excel

11 Emanuele Panizzi 18/3/10 Interazione avanzata su web Rich Internet Application (RIA) Applicazioni web con stesse feature e funzionalità di applicazioni desktop [wikipedia] Girano nel browser Client: UI Server: elaborazione Uso di più server per diversi dati

12 Emanuele Panizzi 18/3/10 Interazione avanzata su web Pro e Contro delle RIA Pro: –indipendenti da OS; –no installazione –carico bilanciato tra client e server –minor traffico di rete, maggiore efficienza nella comunicazione client-server Contro: –Sandbox (restrizione sulle risorse) –Il browser deve supportare determinati linguaggi e standard ( Javascript, CSS, DOM scripting, XMLHTTPRequest (API per comunicazione client/server)) –Efficienza dellesecuzione di programmi nel browser –Tempi di trasferimento del codice sul client

13 Emanuele Panizzi 18/3/10 Interazione avanzata su web Esempi di RIA Google suggest: Edit grid: Google docs: Google calendar: Gmail: Google Maps: The unofficial web application list:

14 Emanuele Panizzi 18/3/10 Interazione avanzata su web Metodi e tecnologie Javascript AJAX Flash ActiveX Java applets Java Web Start Linguaggi per interfacce utente: XUL, SMIL, SVG REST Json

15 Emanuele Panizzi 18/3/10 Interazione avanzata su web AJAX Asinchronous Javascript And XML Consiste nelluso congiunto di un gruppo di tecnologie, quali: –XHTML (o HTML) e CSS –DOM –XMLHTTPRequest –XML/Json –Javascript

16 Emanuele Panizzi 18/3/10 Interazione avanzata su web REST Representational State Transfer Trasmettere dati su HTTP senza uso di layer addizionali Resources URI Interfaccia: operazioni / content-types Protocollo: Client/Server; stateless; cacheable; layered

17 Emanuele Panizzi 18/3/10 Interazione avanzata su web JSON (Javascript Object Notation) Semplice formato per scambio dati Alternativo a XML, usato in AJAX con Javascript Eval(); Il server restituisce codice Javascript che può essere eseguito e aggiorna lo stato dellapplicazione client

18 Emanuele Panizzi 18/3/10 Interazione avanzata su web Mashup Sito o applicazione web che include dinamicamente informazioni provenienti da più fonti flickrvision

19 Emanuele Panizzi 18/3/10 Interazione avanzata su web Interazione con le RIA Caratteristiche generali: –Lutente interagisce direttamente con elementi della pagina (inline editing, drag&drop, pan di una mappa) –Update di parte della pagina senza reload –Dettagli mostrati nella stessa pagina –Feedback, conferme e messaggi derrore mostrati nella stessa pagina

20 Emanuele Panizzi 18/3/10 Interazione avanzata su web Interazione: Problemi aperti 1. Quanta ricchezza nellinterfaccia? –Abitudine al modello a pagina, poca interazione –Larga base di utenti non esperti 2. Come far conoscere lesistenza e luso di strumenti interattivi nella pagina (perceived affordance)? Kayak slider:

21 Emanuele Panizzi 18/3/10 Interazione avanzata su web Interazione: Problemi aperti 3. Lutente si accorge della parte di pagina modificata? –Fuoco/luogo dellattenzione –Attrazione dellattenzione (colori, movimento) –Un solo cambiamento alla volta

22 Emanuele Panizzi 18/3/10 Interazione avanzata su web Interazione: Problemi aperti 4. Uso dei tasti del browser: BACK, FORWARD, RELOAD, STOP –Dove andare? –BACK/FORWARD => UNDO/REDO ? –Tasto STOP non sempre attivo –Reload = RESET ? –Stato del sistema

23 Emanuele Panizzi 18/3/10 Interazione avanzata su web Interazione: Problemi aperti 5. URL della pagina –LURL si deve riferire alla pagina iniziale o allo stato attuale del programma? –È possibile mettere un bookmark? –Uso del #

24 Emanuele Panizzi 18/3/10 Interazione avanzata su web Interazione: Problemi aperti 6. Ritardi nelle risposte –Siamo in una desktop application o in una pagina web? Lutente ha 2 aspettative diverse –Visual feedback 7. Risposte troppo veloci –Pausa forzata

25 Emanuele Panizzi 18/3/10 Interazione avanzata su web FINE

26 Emanuele Panizzi 18/3/10 Interazione avanzata su web Plugin Programma che interagisce con il browser –Scambia dati con il browser –Segue un protocollo stabilito dal browser –Usa risorse del browser Tipici plugin –Lettura o editing di particolari tipi di file pdf reader quicktime win media player flash player

27 Emanuele Panizzi 18/3/10 Interazione avanzata su web Applet Applicazioni lato client, compilate Lambiente in cui sono eseguite è in genere un plugin Hanno una propria interfaccia, anche incorporata nella pagina Comunicano con un host Clock spreadsheet

28 Emanuele Panizzi 18/3/10 Interazione avanzata su web Java Web Start Applicazioni che non girano nel browser Sandbox meno restrittiva Lanciate direttamente dal web

29 Emanuele Panizzi 18/3/10 Interazione avanzata su web Web 2.0 Web 2.0 generally refers to a supposed second- generation of Internet- based services such as social networking sites, wikis, communication tools, and folksonomies that let people collaborate and share information online in previously unavailable ways. In contrast to the first generation, Web 2.0 gives users an experience closer to desktop applications than the traditional static Web pages. [wikipedia]

30 Emanuele Panizzi 18/3/10 Interazione avanzata su web RPC / REST getUser() addUser() removeUser() updateUser() getLocation() addLocation() removeLocation() updateLocation() listUsers() listLocations() findLocation() findUser() exampleAppObject = new ExampleApp('example.com:1234') exampleAppObject.removeUser('001') (one for each user) (one for each location) GET POST


Scaricare ppt "Interazione avanzata su web: dai plugin ad Ajax Seminario di Interazione Locale e Remota Corso di Laurea Magistrale in Informatica A.A. 2009/2010 Emanuele."

Presentazioni simili


Annunci Google