Programmazione web con Javascript

 
Special Price 53,20 €
SCONTO 5%
5%
Anzichè 56,00 €
Disponibile

Autori Patrick Carey, Sasha Vodnik

Pagine 608
Data pubblicazione Luglio 2023
Data ristampa
ISBN 8891663955
ean 9788891663955
Tipo Cartaceo
Collana Apogeo Education
Editore Maggioli Editore
Dimensione 19x23,5
Sei un docente?
Richiedi una copia saggio!
  • Spedizione in 48h
  • Paga alla consegna senza costi aggiuntivi
  • Spedizione gratuita

Autori Patrick Carey, Sasha Vodnik

Pagine 608
Data pubblicazione Luglio 2023
Data ristampa
ISBN 8891663955
ean 9788891663955
Tipo Cartaceo
Collana Apogeo Education
Editore Maggioli Editore
Dimensione 19x23,5
JavaScript è il principale linguaggio di programmazione utilizzato per sviluppare siti web con pagine interattive.

Il testo di Carey e Vodnik è un manuale completo, caratterizzato da un taglio operativo: grazie a dettagliati casi realistici, guida passo passo alla progettazione e alla creazione di pagine web dinamiche.

Le diverse tecniche presentate e le attività di programmazione proposte permettono di acquisire e consolidare le competenze in maniera graduale, dalle basi di JavaScript fino alla progettazione e alla realizzazione di applicazioni web di qualità professionale.

Grande attenzione è dedicata alla programmazione orientata agli oggetti e, oltre alle caratteristiche e funzionalità di JavaScript, sono trattate tecnologie avanzate, come AJAX e Google Maps API.

Numerosi file, disponibili online, sono stati predisposti per realizzare le attività guidate e accompagnare nel percorso di apprendimento del linguaggio.

Patrick Carey
è stato Ricercatore presso la University of Wisconsin, dove si è occupato di progettazione e analisi degli studi clinici. Autore e coautore di numerosi testi accademici e professionali per il settore software
Sasha Vodnik
è sviluppatore web e autore. Sempre aggiornato sul panorama in rapida evoluzione del web conosce approfonditamente linguaggi come HTML, CSS, JavaScript e XML e nei suoi libri spiega come scrivere un codice pulito e potente

L'edizione italiana è stata curata da Marcello Dalpasso professore di Sistemi per l'elaborazione dell'Informazione presso la Scuola di Ingegneria dell'Università degli Studi di Padova.

Presentazione dell’edizione italiana
Prefazione

Capitolo 1 Introduzione a JavaScript
1.1 Una panoramica del linguaggio JavaScript
I linguaggi di scripting
JavaScript ed ECMAScript
DOM e BOM
L’architettura client/server
JavaScript e lo scripting sul client
Scripting sul server
Devo usare uno script sul client o sul server?
1.2 Scrivere un programma in JavaScript
IDE o editor di codice
L’elemento script
Enunciati JavaScript
Gli oggetti in JavaScript
L’uso del metodo write()
Maiuscole e minuscole in JavaScript
Commenti in un programma JavaScript
1.3 Scrivere codice JavaScript elementare
Usare variabili
Assegnare nomi alle variabili
Dichiarare e inizializzare variabili
1.4 Costruire espressioni con variabili
Costruire un’espressione
Modificare variabili
1.5 Gli eventi
Lavorare con elementi ed eventi
Fare riferimento a elementi della pagina web
1.6 Dare una struttura al codice JavaScript
Inserire un elemento script in ciascuna sezione di codice
Posizionare un elemento script
1.7 Creare un file sorgente JavaScript
Riferimento a un file esterno
Le parole chiave async e defer
Connessione a un file JavaScript
Lavorare con librerie
1.8 Convalida di pagine web
Riepilogo del capitolo
Domande di ripasso
Capitolo 2 Funzioni, operatori e tipi di dati
2.1 Lavorare con le funzioni
Definire una funzione
Scrivere una funzione
Invocare una funzione
Ottenere un valore da una funzione
2.2 Gestire eventi usando funzioni
Usare gestori di eventi
Eventi come proprietà di oggetti
Ricevitori di eventi
Eventi e funzioni anonime
Associare una funzione a un evento
2.3 Usare le funzioni predefinite di JavaScript
2.4 L’ambito di visibilità delle variabili
Ambito di visibilità delle dichiarazioni let e var
Visibilità locale e globale
2.5 Lavorare con i tipi di dato
Valori numerici
Valori booleani
Lavorare con stringhe
Caratteri e sequenze di escape
2.6 Usare operatori per costruire espressioni
Operatori aritmetici
Operatori di assegnazione
Operatori di confronto
Operatori condizionali
Capire meglio i valori falsi e veri
Operatori logici
Operatori speciali
2.7 La precedenza tra operatori
2.8 Usare espressioni nei controlli dei moduli web
Lavorare con i valori degli elementi di acquisizione di dati
Lavorare con le caselle di spunta
Usare l’evento change con i controlli dei moduli web
2.9 Individuare errori con la console del browser
Accedere alla console del browser
Localizzare un errore in un programma
Riepilogo del capitolo
Domande di ripasso
Capitolo 3 Array e controllo di flusso
3.1 Memorizzare dati in array
Dichiarare e inizializzare array
Elementi e indici
Creare un array
Array multidimensionali
3.2 Le raccolte di HTML
Riferimento a un elemento di una raccolta
Cercare nel DOM
3.3 Array e raccolte HTML nella console
3.4 Programmare con i cicli
Il ciclo while
Il ciclo do while
Il ciclo for
Scrivere un ciclo for
3.5 Metodi che elaborano array mediante cicli
3.6 Codice che prende decisioni
L’enunciato if
L’enunciato if else
L’enunciato else if
Enunciati if e else if annidati
Enunciati condizionali e verifica del browser
L’enunciato switch
3.7 Gestire cicli e decisioni
L’enunciato break
L’enunciato continue
Etichette per enunciati
Riepilogo del capitolo
Domande di ripasso
Capitolo 4 Debugging e gestione degli errori
4.1 Introduzione al debugging
Errori di caricamento
Errori di esecuzione
Errori logici
4.2 Debugging usando la console del browser
4.3 Eseguire JavaScript in strict mode
4.4 Risalire all’origine degli errori
Usare il metodo window.alert() per tracciare gli errori
Tracciamento degli errori mediante il diario di console
Usare commenti per localizzare gli errori
4.5 Tracciare il flusso d’esecuzione con strumenti di debugging
Accedere agli strumenti di debugging del browser
Inserire e togliere breakpoint
Eseguire un programma passo dopo passo
Tenere traccia di espressioni e variabili
Ispezionare la pila delle invocazioni (call stack)
4.6 Gestire errori
Gestire eccezioni con l’enunciato try catch
Lanciare un’eccezione
L’enunciato try catch finally
Il parametro errore nell’enunciato catch
Usare la gestione delle eccezioni in un programma
4.7 Personalizzare la gestione degli errori
Catturare errori con l’evento error
Funzioni per la gestione di errori
Riepilogo del capitolo
Domande di ripasso
Capitolo 5 Creare un’applicazione web usando il DOM
5.1 Progettare un’applicazione web
5.2 Introduzione ai nodi
I nodi e il Document Object Model (DOM)
Selezionare nodi usando il metodo querySelectorAll()
Creare e collegare nodi
Elementi, nodi e attributi HTML
Nodi e stili integrati
Creare un frammento di documento in un’applicazione
Visualizzare gli elementi con il debugger del browser
5.3 Ristrutturare un albero di nodi
Spostare nodi con il metodo appendChild()
Spostare nodi con il metodo insertBefore()
Clonare un nodo
5.4 Eseguire comandi temporizzati
Ripetere comandi a intervalli specifici
Fermare un comando temporizzato
Usare comandi ritardati nel tempo
5.5 Lavorare con finestre popup
Finestre di dialogo di sistema
Lavorare con le finestre del browser
Scrivere contenuti in una finestra del browser
Limitazioni per le finestre del browser
5.6 Creare overlay
L’oggetto this
Eliminare un nodo
5.7 Esplorare il Browser Object Model (BOM)
L’oggetto history
L’oggetto location
L’oggetto navigator
L’oggetto screen
Riepilogo del capitolo
Domande di ripasso
Capitolo 6 Moduli web
6.1 Moduli e loro elementi
La raccolta Forms
Lavorare con elementi di moduli
Proprietà e metodi degli elementi input
Navigare tra gli elementi di controllo di un modulo
6.2 Lavorare con elenchi selezionabili
6.3 Lavorare con pulsanti di selezione
Individuare l’opzione selezionata
Accedere all’etichetta dell’opzione
6.4 Impaginare i dati in un modulo
Il metodo toFixed()
Impaginare valori usando una stringa di localizzazione
6.5 Rispondere a eventi in un modulo
6.6 Lavorare con campi nascosti
6.7 L’invio di un modulo
Uso dell’evento submit
Ripristino di un modulo
6.8 Convalida dei dati di un modulo con JavaScript
Constraint Validation API
L’oggetto ValidityState
Creare un messaggio di convalida personalizzato
Reagire a dati non validi
Convalidare dati usando il pattern matching
Convalida di un elenco di selezione
6.9 Confronto tra un campo e un’espressione canonica
6.10 Progettare una convalida personalizzata
6.11 Gestire la convalida dei moduli
Riepilogo del capitolo
Domande di ripasso
Capitolo 7 Manipolare dati in stringhe, array e altri oggetti
7.1 Estrarre contenuti da un file di testo
L’oggetto file
La API File Reader
7.2 Elaborare stringhe di testo
Cercare sottostringhe all’interno di una stringa
Modificare stringhe di testo
Estrarre caratteri e sottostringhe
Concatenare stringhe
Confrontare stringhe
7.3 Introduzione alle espressioni canoniche (o regolari)
Trovare corrispondenza con una sottostringa
Impostare opzioni nelle espressioni canoniche
Definire tipi e classi di caratteri
Specificare ripetizioni di caratteri
Usare sequenze di escape
Specificare schemi alternativi e raggruppamenti
7.4 Programmare con espressioni canoniche
Metodi per espressioni canoniche
Sostituire testo mediante espressioni canoniche
Suddividere una stringa di testo in un array
Fare riferimento alle sottostringhe trovate
7.5 Panoramica sui metodi per array
Invertire e ordinare un array
Ordinare usando una funzione di confronto
Eliminare e inserire elementi in array
Usare array come stack di dati
7.6 L’oggetto Math
L’oggetto Math
Proprietà dell’oggetto Math
Applicare un metodo di Math a un array
Numeri casuali e ordinamento casuale
7.7 L’oggetto Date
Estrarre informazioni da date e orari
Impostare data e ora
7.8 Schemi letterali
Schemi letterali con segnaposto
Etichettare uno schema letterale
Riepilogo del capitolo
Domande di ripasso
Capitolo 8 Definire oggetti, proprietà e metodi
8.1 Comprendere la programmazione orientata agli oggetti
Riutilizzo di oggetti software
Comprendere l’incapsulamento
8.2 Creare un oggetto letterale
Il punto come operatore e le parentesi quadre
Creare un metodo in un oggetto personalizzato
Creare un oggetto con l’operatore new
8.3 Lavorare con classi di oggetti
Le classi di oggetti
Costruttori di oggetti e letterali
Funzioni costruttrici
Combinare classi di oggetti
8.4 Lavorare con prototipi di oggetti
L’oggetto prototipo
Come estendere le funzionalità di oggetti predefiniti di JavaScript
8.5 Closure
Ambito di visibilità lessicale
Closure e ambiente lessicale
Closure e cicli for
8.6 Metodi pubblici, privati e privilegiati
8.7 Combinare oggetti e catene di prototipi
Creare una catena di prototipi
L’oggetto di base
I metodi apply() e call()
8.8 Archiviazione dei dati e array associativi
I cicli for in e for of
Memorizzare dati con JSON
Riepilogo del capitolo
Domande di ripasso
Capitolo 9 Gestire informazioni di stato e sicurezza
9.1 Comprendere le sessioni e le informazioni di stato
9.2 Condividere dati tra moduli
Recuperare la stringa query usando l’oggetto location
Sostituzione dei caratteri codificati per URI
9.3 Introduzione all’archiviazione web (web storage)
La Web Storage API
Oggetti per archiviazione locale o di sessione
9.4 Archiviare dati con Web Storage API
Visualizzare nel browser gli elementi dell’archivio web
Recuperare elementi con il metodo getItem()
Eliminare elementi dall’archiviazione web
Gli eventi di archiviazione
L’archiviazione web e la norma della “stessa fonte”
9.5 Introduzione ai cookie
Confronto tra cookie e archiviazione web
La struttura di un cookie
9.6 Scrivere dati in un cookie
La scadenza di un cookie
Il percorso di un cookie
Il dominio di un cookie
La sicurezza dei cookie
Una funzione per scrivere il valore di un cookie
9.7 Leggere un cookie
9.8 Eliminare un cookie
9.9 Considerazioni sulla sicurezza
Codice sicuro in JavaScript
Problemi di sicurezza in JavaScript
Utilizzo di script di terze parti
Riepilogo del capitolo
Domande di ripasso
Capitolo 10 Programmare con eventi e API di terze parti
10.1 Lavorare con oggetti di tipo evento
Oggetti di tipo Event
Cattura e risalita di eventi
10.2 Eventi del mouse e di altri dispositivi di puntamento
Eventi di tocco
Punti di contatto multipli
Eventi di puntamento
10.3 Azioni di trascinamento (drag and drop)
Individuare le coordinate di un evento
Trascinamento di un elemento
Strumenti del browser per emulare un touchscreen
10.4 Drag and Drop API
La Drag and Drop API di HTML
Trasferire dati con Drag and Drop
10.5 Eventi della tastiera
10.6 Creazione di una mappa interattiva
Introduzione alla Google Maps API
L’oggetto map
Aggiungere spilli segnaposto a una mappa
10.7 Posizioni e geolocalizzazione
10.8 Mappa con indicazioni di percorso
L’oggetto route
Visualizzare il percorso di guida
10.9 Introduzione alla Device Orientation API
10.10 Predisporre un’applicazione per un utilizzo mobile
Strumenti di collaudo
Minimizzare la dimensione dei file da scaricare
Eliminare informazioni inutili dai file (minifying)
Riepilogo del capitolo
Domande di ripasso
Capitolo 11 Gestire richieste di dati con AJAX e Fetch
11.1 Introduzione alle richieste inviate a un server
11.2 Panoramica dei messaggi HTTP
I messaggi HTTP
11.3 Presentazione di AJAX
L’oggetto XMLHttpRequest
Gestione della risposta
11.4 Stato di richiesta e risposta
11.5 AJAX e il callback hell
11.6 Presentazione della “sintassi con la freccia”
Funzioni definite con freccia e valori dei parametri
11.7 Gli oggetti-promessa
Definire un oggetto-promessa
Concatenazione di promesse
Promesse multiple
11.8 La Fetch API
Gestione delle risposte di fetch
Gestione degli errori con fetch
Uso di fetch per restituire i risultati di una ricerca
11.9 Usare XML
Analisi sintattica di contenuti XML
Elaborazione di un albero di nodi XML
11.10 Una casella di ricerca con auto-completamento
Elaborare dati JSON
Costruire il riquadro con i suggerimenti
11.11 Lavorare con API di terze parti
Richiesta di una GIF casuale
Terminali di terze parti
11.12 Problemi di sicurezza con le API
Lavorare con CORS
Lavorare con JSONP
Usare XHR con un proxy
Riepilogo del capitolo
Domande di ripasso
Capitolo 12 Introduzione a jQuery
12.1 Introduzione a jQuery
Versioni di jQuery
Caricamento di jQuery
È ancora interessante?
12.2 I selettori di jQuery
Selezionare elementi nel DOM
Navigare nel DOM con jQuery
Attributi e proprietà CSS
Modificare la struttura del DOM
12.3 Gestione di eventi con jQuery
12.4 Effetti e animazioni
Concatenazione di effetti
Effetti personalizzati con animate()
Controllo della coda delle animazioni
12.5 I plugin di jQuery
Riepilogo del capitolo
Domande di ripasso

Indice analitico
Appendice A Installare e configurare un server di prove
Appendice B HTML e CSS
Appendice C Soluzioni delle Verifiche rapide
Appendice D Progetti di programmazione

Scrivi la tua recensione
Stai recensendo:Programmazione web con Javascript