Home    Novità    Ricerca   In offerta   Consigliati   Prossimi arrivi   Bestsellers   Software    CBT  
P.Iva 01029770490   [Ordini telefonici 0586 210919]  Ordini rapidi 
Ricerca Veloce   per Titolo o ISBN  [Mailing delle novità]   [Servizio di CallBack]  
  Argomenti 

  Applicazioni
  CAD
  Certificazione e formazione
  Commercio elettronico
  Cultura Informatica
  Database
  Dizionari
  Elettronica
  Enterprise
  Grafica
  Hardware
  Internet
  Legislazione informatica
  Multimedia
  Progettazione WEB
  Programmazione
  Reti e telecomunicazioni
  Sicurezza
  Sistemi operativi
  Tecnologia e societa'
  Universita' e ricerca
InternetProgrammazione internetGenerici

 CONSIGLIATO DA LIBRINFORMATICA

Sviluppare applicazioni Web 2.0
EditoreApogeo
AutorePorteneuve Christophe
Titolo originaleBien develloper pour le Web 2.0
Editore originaleEyrolles
CollanaGuida completa
Pagine483
Volumi1
LivelloIntermedio-Avanzato
LinguaItaliano
Data pubblicazione05 - 2007
ISBN8850326599


 Prezzo di copertina 
 Euro 42,00  

 Presentazione       Indice      

Prefazione
Introduzione
A chi è rivolto questo libro?
Che cosa troverete in questo libro
Gli standard web
Di quali tecnologie stiamo parlando?
Chi è al timone e dove stiamo andando?
A che cosa servono gli standard?
Che cosa ne pensano gli sviluppatori di browser?
Qualche parola sulle ultime versioni
Che cos’è il Web 2.0?
Panoramica: capitolo per capitolo

Parte I – Dare vita alle pagine

Parte II – AJAX o l’arte del sussurro

Parte III – Interagire con il resto del mondo

Appendici per i principianti e gli esperti
Approfondimenti
Gli esempi di codice
Ringraziamenti

Capitolo 1 Come è perché accettare la sfida del Web 2.0
Prima e dopo: alcune situazioni sorprendenti
Digitazione assistita: completamento automatico del testo
Caricamento al volo
La conferma automatica
Imparare a utilizzare gli strumenti chiave: XHTML, CSS, JS, DOM e AJAX
Per iniziare: AJAX, di che cosa si tratta?
Piano d’azione per due obiettivi: metodo ed esperienza

Parte I Dare vita alle pagine
In questa parte

Capitolo 2 Non scambiare JavaScript per quello che non è
Miti e leggende su JavaScript
JavaScript è una versione “light” di Java
JavaScript non si basa su alcuno standard
JavaScript è lento
JavaScript è un linguaggio-giocattolo, poco potente
Che cosa sono JavaScript, EcmaScript, JScript e ActiveScript
Tutto ciò che non sospettate: i piccoli dettagli del linguaggio
Le variabili: dichiarare o non dichiarate?
Tipi di dati
Funzioni e valori disponibili ovunque
I misteri di parseFloat e parseInt
Indicate sempre la base, se no
Una conversione poco convinta
Riepilogo sulle strutture di controllo
I grandi classici
Etichette nei cicli
Il ciclo for..in
Semplificare l’accesso ripetitivo a un oggetto con with
Operatori misconosciuti
Ripasso rapido sui grandi classici
Operatori esotici
Comportamenti particolari
Implementazione delle eccezioni
I tipi di eccezioni predefiniti
Catturare un’eccezione: try/catch
Estensione: catch multipli e condizionali
Garantire una gestione delle eccezioni: finally
Lanciare la propria esecuzione
Migliorare gli oggetti esistenti
Un po’ di teoria sui linguaggi a prototipi
In pratica
Estendere le stringhe
Gli array e le iniezioni
Gli argomenti delle funzioni
Binding fra funzioni: che cosa significa “this”?
Costrutti interessanti
Inizializzazione e valori predefiniti con ||
Selezionare una proprietà ( e pertanto un metodo) condizionale
Verificare l’assenza di una proprietà in un oggetto
Funzioni anonime: mai usare new Function!
Oggetti anonimi come hash di opzioni
Simulare gli spazi dei nomi
“JavaScript non intrusivo”: associare correttamente il codice JavaScript e la pagina web
Trucchi per la scrittura del codice
Evitare le trappole più comuni
Migliorare la leggibilità
Tecniche di debugging JavaScript
La console JavaScript
Mozilla Firefox
Opera
Safari
Konqueror
Internet Explorer
Venkman, il debugger di JavaScript
Firebug, il coltellino svizzero degli sviluppatori web 2.0
Approfondimenti
Libri
Siti

Capitolo 3 Manipolare dinamicamente la pagina con il DOM
Perché imparare a utilizzare il DOM?
La pietra angolare per la vivacità delle pagine
Apprendere le basi per impiegare i framework
Comprendere i dettagli per poter svolgere il debugging
Il DOM e i suoi livelli: 1,2 e 3
Panoramica sui livelli
Supporto offerto dai principali browser
Gli aspetti del modello DOM: HTML, Core, eventi, stili e così via
I concetti di base: documento, nodo, elemento, testo e raccolta
Il DOM del documento: un albero di oggetti
L’interfaccia Node
L’interfaccia Document
L’interfaccia Element
L’interfaccia Text
Le interfacce NodeList e NamedNodeMap
L’interfaccia DOMImplementation
L’interfaccia HTMLDocument
L’interfaccia HTMLElement
Alcune buone abitudini
Rilevare il livello di DOM disponibile
Creare i nodi secondo un ordine corretto
Un usare script prima di aver sostituito il DOM
Non utilizzare mai estensioni proprietarie
Utilizzare un ispettore DOM
L’ispettore DOM e di Firefox/Mozilla
L’ispettore DOM di Firebug
Rispondere agli eventi
La soluzione peggiore: gli attributi degli eventi in HTML
La soluzione cattiva: le proprietà degli eventi in DOM livello 0
Il migliore: addEventListener
Le specificità di Internet Explorer
La propagazione: cattura o bubbling?
Il modello più utilizzato: il bubbling
La cattura, ovvero come ingannare i censori
L’oggetto Event
Recuperare l’elemento che la scatenato l’evento
Bloccare la propagazione
Annullare l’elaborazione predefinita
JavaScript, eventi e accessibilità
Necessità frequenti e soluzioni concrete
Decorazione automatica delle etichette
Convalida automatica dei moduli
Soluzione di problemi tipici
Internet Explorer e la gestione degli eventi
Internet Explorer e il DOM di select/option
I principali punti problematici
Approfondimenti
Libri
Siti

Capitolo 4 Prototype: semplice, comodo, elegante e portatile!
Prima di iniziare
Una parola sulle versioni
L’oggetto globale Prototype
Termini e concetti
Spazi dei nomi e moduli
Iteratori
Elemento esteso
Alias
Come utilizzare Prototype
Parliamo di dollari
La funzione $ facilita l’accesso agli elementi
La funzione $A opera su più array
La funzione $F per i valori
La funzione $R e gli intervalli
La funzione $$ e le regole CSS
Giocare con le iterazioni tramite $break e $continue
Estensioni per gli oggetti esistenti
Un oggetto introspettivo
Gestire correttamente il binding
Elaborazioni numeriche
Un oggetto String molto ricco
Eliminazione di caratteri: strip, stripTags, stripScripts e truncate
Trasformazione: sub, gsub, escapeHTML,unescapeHTML e camelize
Frammenti di script: extractScripts ed evalScripts
Conversioni ed estrazioni: scan, toQueryParams, parseQuery, to Array e inspect
Le nuove potenzialità degli array
Conversioni: from e inspect
Estrazioni: first, last e indexOf
Trasformazione: clear, compact, flatten, without, reverse, reduce e uniq
Estrarre gli elementi di una determinata classe
Moduli e oggetti generici
Enumerable
Iterazione
Test sul contenuto: all, any, include e member
Estrazioni: detect, find, findAll, select, grep, max, min, pluck e reject
Trasformazioni e calcoli: collect, map, inject, invoke, partition e sortBy
Conversioni: toArray, entries e inspect
Tabelle associative con Hash
ObjectRange: intervalli di oggetti
PeriodicalExecuter non si ferma mai
Rivalutare i modelli
Utilizzare un pattern di rilevamento personalizzato
Try.these cerca un metodo valido
Manipolazione degli elementi
Element: un grande “amico”
Element:Methods e gli elementi estesi
Quando non si usa
Valore restituito dai metodi
La visibilità dell’elemento: hide, show, toggle e visible
Gestione del contenuto: cleanWhitespace, empty, remove, replace e update
Stili e classi: addClassName, classNames, getElementsByClassName, getElementsBySelector, getStyle, hasClassName, match, removeClassName e setStyle
L’oggetto Element.ClassNames
Legami di parentale: ancestors, descendants, nextSiblings, previousSiblings e siblings
Spostamenti: down, next, previous e up
Posizionamento: getDimensions, getHeight, makePositioned e undoPositioned
Scorrimento e troncamento: makeClipping, scrollTo e undoClipping
childOf: un nome poco corretto
Selector: il grande classificatore
Manipolazione dei moduli
Field / Form.Element
Una parola su Form.Element.Serializers
Form
Form.Observer
Gestione unificata degli eventi
Event
Tracciare un evento
Attenzione: il binding dei gestori
Bug: alla ricerca degli sprechi di memoria
Rivelare l’elemento che ha ricevuto l’evento
Bloccare la propagazione dell’evento
Trovare il responsabile: mouse o tastiera?
Lo stato del mouse
I tasti della tastiera
Form.EventObserver
orm.Element.EventObserver
Inserimenti dinamici
Approfondimenti
Siti
Gruppi di discussione
Canali IRC

Parte II AJAX o l’arte del sussurro
In questa parte

Capitolo 5 I meccanismi interni: l’oggettoXMLHttpRequest
Anatomia di una conversazione AJAX
Un piccolo server per i nostri test
Installazione di Ruby
In Windows
In Linux/BDS
In Mac OS X
Una parola sulla cache
Un piccolo server HTTP e un semplice codice dinamico
Breve storia di XMLHTRequest
Origini e storia
Prepararsi correttamente a uno scambio asincrono
ActiveX oppure oggetto nativo JavaScript
Creare l’oggetto richiedente
Descrivere la richiesta
Inviare la richiesta
Ricevere ed elaborare la risposta
Un utilizzo completo del nostro piccolo server d’esempio
Come controllare le modifiche AJAX delle nostre pagine?
Tipi di risposte: XHTML, XML, JS, JSON e così via
Scegliere correttamente il tipo della risposta
Una risposta testuale semplice: invio di semplici dati
Esempio 1: Salvataggio automatico
Esempio 2: barra di progressione di un elaboratore sul server
Scheda d’esempio: le immagini
Frammenti di pagina pronti all’uso: risposta XHTML
Un’anteprima dei dettagli dell’inserimento
Alla corte dei grandi: XPath per elaboratore dati XML complessi
Presto e bene: DOM livello 3XPath
Simulazione: utilizzo di GoogleAJAXSLT
Pilotare la pagina restituendo codice JavaScript
JSON: l’ideale per i dati strutturati

Capitolo 6 AJAX: in tutta scioltezza con Prototype
Prototype ancora in nostro soccorso
Ajax:Request: è tutto così semplice!
Informazioni dettagliate su Ajax.Request
Ajax.Updater: aggiornare un frammento XHTML, eseguire uno script
Differenziare l’aggiornamento fra successo e insuccesso
Una specie di magia: Ajax.PeriodicalUpdater
L’opzione decay
Altri piccoli segreti
Approfondimenti
Libri
Siti
Gruppi di discussione
Canali IRC

Capitolo 7 Un’ergonomia da sogno con script.aculo.us
Un’ergonomia di alto livello con script.aculo.us
Qualità: test a profusione!
Caricare script.aculo.us
Gli effetti visuali
Gli effetti di base
Chiamata di un effetto
Opzioni comuni a tutti gli effetti di base
Funzioni di chiamata
Che cosa si trova in un oggetto per effetti?
E se provassimo qualche effetto?
Gli effetti combinati
Effect.toggle
Alcune precisazioni importanti
Commenti ad effetto
Code di effetti
L’esecuzione simultanea è piuttosto problematica
Le code, ovvero come concatenare gli effetti
Esempio di concatenamento
Utilizzare più code
Trascinamento
Trascinare un elemento con Draggable
Disattivare la possibilità di trascinare un elemento
Reagire alle fasi di trascinamento
Gestire il rilascio di un elemento con Droppables
Un esempio interessante di trascinamento
Precauzioni per l’impiego
Ordinamento delle liste tramite scorrimenti
Che cosa possiamo ordinare?
Attivare le funzioni di ordinamento
Disattivare l’ordinamento
Inviare l’ordine al server
Completamento automatico del testo
Creazione di un campo di testo a completamento automatico
Interazione con la tastiera e il mouse
Un primo esempio
Personalizzazione dei contenuti restituiti
E non è tutto! Vi sono anche altri servizi
Saper scegliere: in alcuni casi, AJAX non è una buona idea
AJAX e l’accessibilità
Considerazioni tecniche
Considerazioni ergonomiche
Utilizzi pertinenti e non pertinenti
Pratiche consigliate
Principi generali
Ergonomia e attese dell’utente
Lettori di schermo
Altri framework noti
Dojo
Mochikit
OpenRico
Approfondimenti
Siti
Gruppi di discussione
Canali IRC

Parte III Interagire con il resto del mondo
In questa parte

Capitolo 8 Web service e REST: non siamo più soli
Perché la pagina parla solo con il proprio sito?
Vincoli di sicurezza sul browser
Un “lato proxy” sul vostro server
Architettura degli esempi
Comprendere i web service
Che cos’è un’API REST?
Ricerca di libri sui Amazon
Come ottenere una chiave per utilizzare l’API
La chiamata REST ad Amazon
Anatomia della richiesta
Il documento XML di risposta
Un modulo per le ricerche
Passare ad AJAX
Il lato server: proxy di download
Intercettare il modulo
Da XML a XHTML: la trasformazione XSLT
Il foglio stile XSLT
La nostra pagina deve conoscere XSLT
Caricare il foglio XSLT all’avvio
Effettuare la trasformazione
Abbellire il risultato
Previsioni meteorologiche
Preparare il progetto
Recuperare le previsioni per una località
Richiesta e risposta REST
Inizializzazione della pagina e richiesta delle previsioni
E il foglio XSLT?
Piccoli ritocchi finali
Ricercare una località
Prepariamo il terreno
Strabiliare i vostri amici con Ajax.XSLTCompleter
Collegare i componenti
Gestire le immagini in Flickr
Come ottenere una chiave da Flickr
Formato generale delle richieste e delle risposte REST su Flickr
Preparare il terreno
Caricamento centralizzato parallelo dei fogli XSLT
Ottenere le informazioni sul set di fotografie
Recuperare le fotografie del set
Visualizzare una fotografia e le sue informazioni
Approfondimenti

Capitolo 9 Informazioni “a la carte”: i feed di dati RSS e Atom
Anteprima dei formati
Una storia tormentata
RSS 0.9x e 2.0: le creature di Dave Winer
RSS 1.0: un approccio radicalmente differente
Atom: i frutti della maturità
Informazioni generiche
Il rompicapo dei contenuti HTML
Recuperare e visualizzare un feed RSS 2.0
Formato del feed
Preparare il terreno
Il foglio XSLT
Caricamento e formattazione del feed
Modifica delle date e dei titoli
Visualizzazione avanzata e feed Atom 1.0
Il nostro feed Atom
Preparazione del lettore di feed
Il foglio XSLT e la formattazione
Caricare il foglio e il feed
Visualizzare dinamicamente i testi completi
Interpretare l’HTML codificato
Elaborare quantità massicce di HTML codificato
Le date W3DTE
Approfondimenti
Libri
Siti

Parte IV Appendici

Appendice A Gestire correttamente i contenuti: XHTML semantico
Insospettabili vantaggi
Per il sito e i suoi proprietari
Per lo sviluppatore web
Regole sintattiche e semantiche
La DATD e il prologo
XHTML, sì ma quale?
Uso semantico dei tag
I tag XHTML 1 Strict suddivisi per categoria
Tag strutturali
Tag semantici
Tag di collegamento
Tag per metadati
Tag di presentazione
Tag per moduli e interazioni
Tag sconsigliati
Attributi fondamentali
Necessità frequenti, soluzioni concrete
Un modulo complesso ma impeccabile
Una tabella di dati con intestazioni raggruppate
Pagine tecniche
Approfondimenti
Siti

Appendice B Un look impeccabile e flessibile: CSS 2.1
Statuto, stato e vocabolario
Le versioni di CSS
Implementazione attuale
La terminologia CSS
Che cosa si intende con cascata ed ereditarietà
Il funzionamento del meccanismo a cascata
Calcolo della specificità di una regola
Che cosa accade in fase di presentazione in HTML?
L’ereditarietà
Dal valore specificato al valore concreto
Box model e l’impaginazione visuale
I margini di un box: ordine e sintassi abbreviate
Unità assolute e relative
Margini, bordi e spaziatura
Elementi in linea e di tipo blocco
Elementi sostituiti
Fusione dei margini
Il modello W3C e il modello Microsoft
Panoramica sui selettori
Raggruppamento
Pseudoelementi
Panoramica sulle proprietà
L’arte di realizzare CSS leggeri
Proprietà del modello per riquadri: i margini, i bordi e la spaziatura
Proprietà di formattazione visuale: posizionamento, larghezza, altezza, linea base
Proprietà dei contenuti generati automaticamente
Proprietà di paginazione
Proprietà dei colori e dello sfondo
Proprietà di gestione dei font dei caratteri
Dimensione dei font
Famiglia di font
Specificare tutto insieme
Proprietà di gestione del corpo del testo
Le spaziature nel corpo del testo
Proprietà delle tabelle
Proprietà dell’interfaccia utente
Approfondimenti
Libri
Siti

Appendice C I“must”dell’esperto: saper leggere le specifiche
L’importanza di andare a cercare le informazioni alle fonti
Certezza e precisione
“Lassù mi hanno detto che sei tu che sai tutto”: l’esperienza
I principali formati delle specifiche web
Le raccomandazioni del W3C
Le grammatiche formali dei linguaggi a tag: DTD e gli schemi XML
Le RFC dell’IETF: protocolli e formati Internet
Come interpretare una raccomandazione W3C
Indirizzi URL e abbreviazioni
Struttura generale di una raccomandazione
Impiego delle sintassi formali
Le descrizioni delle proprietà CSS
Le descrizioni delle proprietà e dei metodi del DOM
Decifrare una DTD
Analizzare uno schema XML
Analizzare una RFC
Formato generale di una RFC
Struttura generale di una RFC
Elenchi di specifiche
Appendice D Sviluppare con il browser
Quando la cache è di troppo
Aggiornamento forzato
Svuotare la cache
Configurare la cache
Firefox, il preferito dagli sviluppatori grazie alle sue estensioni
I tesori del menu nascosto Debug di Safari
Internet Explorer e la Internet Explorer Developer Toolbar
E Opera che cosa ci offre?

Indice analitico


  Login 

  Non ricordo la password
  Nuovo account
  Cliente 

  Il carrello

 Carrello 

  Informazioni 

  Contatti
  Qualità del servizio
  Costi e tempi di consegna
  Modalità di pagamento
  Prezzi
  Sconti
  Privacy