Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Programmare con JavaScript – dalle basi ad AJAX
Recensito da Paolo De Nictolis il 01-04-2008 ore 12:35
Copertina ISBN: 8882336875
Autori: Ivan Venuti
Editore: Edizioni FAG Milano
Lingua: Italiano
Anno: 2008
Pagine: 270
Allegati: Nessuno
Parallel Studio XE
Il fenomeno AJAX ha fatto tornare in auge la conoscenza di JavaScript, un linguaggio nato per applicazioni web lato client (la parte server non ha mai avuto molto successo), che per un lungo periodo di tempo sembrava essere ormai superato dalle tecnologie server-side. Dopo un primo capitolo di introduzione storica, questo testo (per il quale è disponibile un elenco di risorse, che non comprende il codice di esempio) prosegue con due capitoli di impostazione squisitamente didattica sull'uso del linguaggio; tanto didattica, che ognuno di essi termina con una serie di esercizi. Il secondo capitolo introduce le nozioni fondamentali, dai tipi di dato alla nozione di variabile ai cicli e si fa apprezzare soprattutto per una serie di esempi tricky, che scavano in profondità nel modus operandi di JavaScript.

Il terzo capitolo è dedicato alla programmazione ad oggetti in JavaScript; Venuti illustra come è possibile simulare un comportamento object-oriented tramite l'implementazione di oggetti e costruttori, la proprietà prototype (utilizzata per l'ereditarietà e da non confondere con l'omonimo framework, esaminato più avanti) e la persistenza di variabili nel contesto di esecuzione con le closure; vengono forniti solo dei riferimenti, invece, su come simulare i modificatori di accesso o sui problemi delle closure nella gestione della memoria. Il capitolo prosegue con una carrellata, abbastanza lunga, ma non certo esaustiva, degli oggetti predefiniti in JavaScript, ad esempio per gli array, le date, le stringhe o le espressioni regolari. Il capitolo termina con qualche pagina dedicata a JSON, naturalmente ripreso più avanti parlando di AJAX.

Il quarto capitolo è dedicato all'uso storico di JavaScript per l'interazione con gli elementi di una pagina web: il ben noto Dynamic HTML, o DHTML. E' un capitolo che si concentra sull'uso del Document Object Model (DOM), sulle differenze di implementazione fra i vari browser, sulla creazione e modifica di elementi della pagina (solitamente individuati tramite la funzione GetElementById), sulle form e sulla gestione degli eventi e di immagini. Parte del capitolo ha funzione di miscellanea, illustrando alcuni tipici esempi d'uso; per il resto, il codice che accompagna le spiegazioni teoriche è sempre ben fatto, attento alle particolarità dell'argomento ed al riuso. Due paragrafi finali, molto brevi, accennano all'interazione con i CSS da JavaScript ed alla creazione di giochi in JavaScript.

Col quinto capitolo inizia la parte dedicata ad AJAX: si comincia con le varie proprietà e metodi dell'oggetto XMLHttpRequest, originariamente inventato da Microsoft; poiché ovviamente la vera forza di AJAX è comunque nell'interazione con un web server, viene accennato a come crearne rapidamente uno con WampServer. Assodata la complessità della materia, tutto il resto del capitolo è dedicato a due framework complementari - il secondo è un'estensione del primo - che semplificano molto, sia la scrittura di applicazioni che la compatibilità cross-browser: Prototype e script.aculo.us. Se del primo vengono illustrati l'accesso agli elementi del DOM, la gestione degli eventi, l'ereditarietà e l'offerta specifica per AJAX, del secondo vengono presentati, con una serie di esempi, tutti i cinque moduli che lo compongono. Al solito, qualche paragrafo finale introduce argomenti più specifici: la validazione delle form (citando JSValidate), l'accessibilità (in particolar modo il framework Jast Egg) e la sicurezza di AJAX.

Una delle applicazioni AJAX più note è sicuramente Google Maps, oggetto del sesto capitolo. Dopo aver specificato alcuni dei limiti delle API disponibili previa registrazione (quali l'impossibilità di usare per pagine HTML off line) ed il complesso modello di licensing, l'autore ce ne dà una panoramica sufficientemente ampia per esempi, dall'inserimento della mappa vera e propria in un elemento div all'aggiunta dei familiari controlli (ad esempio, per lo zoom); agli overlay e ai marker, alle finestre di informazione e alla gestione degli eventi. Le Google Maps API lavorano essenzialmente utilizzando, come parametri, la latitudine e longitudine di un punto; sarebbero, all'atto pratico, di poca utilità senza la classe GClientGeocoder, che realizza la georeferenziazione, ovvero restituisce le coordinate dato un indirizzo. Viene brevemente illustrato anche l'uso del Local Search Control per ricerche commerciali e (incredibile, ma vero!) di AdSense.

Il settimo capitolo, assai breve, parla del problema, assai sentito, del debug di codice JavaScript ed è incentrato sull'uso di Firebug per il debug e l'editing in linea di pagine HTML; all'epoca della stesura, l'autore non conosceva probabilmente le capacità di debug di codice JavaScript offerte da Visual Studio 2008. L'ottavo ed ultimo capitolo presenta una serie di librerie avanzate, basate sui già citati Prototype e script.aculo.us, per la realizzazione di applicazioni di sicuro impatto visivo, oltre che di interesse accademico: si va dalla pagina personale di Thomas Fuchs, la principale mente dietro script.aculo.us, alla realizzazione di applicazioni che simulano un ambiente MDI come Prototype UI, alle gallerie di immagini con Lightbox, alla creazione di tooltip avanzati con CoolTips o Prototip; senza dimenticare naturalmente la creazione di giochi in JavaScript. L'ultima parte del capitolo presenta un esempio di mashup tra Google Maps e Google Spreadsheets, illustrando più la procedura ed i risultati che il codice, per la verità.
proUn testo introduttivo di facile lettura, ma che non per questo rinuncia a presentare librerie ed esempi avanzati, di sicuro interesse per lo sviluppatore web.
controManca l'indice analitico.
Precedente: Model Driven Development in Eclipse con oAW
Successiva: Become an Xcoder! (1/7)
Intervento di Ivan Venuti a.k.a. ivanvenuti del 01-04-2008 ore 15:23
Plebeo
Plebeo
(26 interventi)
Iscritto il 01-04-2008
salve,

ho letto con interesse la recensione del mio libro. Però non comprendo il motivo della frase "l'autore non conosceva probabilmente le capacità di debug di codice JavaScript offerte da Visual Studio 2008", riguardo al capitolo sette.

E' chiaro che di strumenti per il debugging ce ne sono molti e si deve fare, per forza di cose, una scelta di quali presentare. Tutto questo senza voler sollevare polemiche su "cosa è meglio" in termini di strumenti. E' chiaro che ciascuno può preferire un prodotto rispetto ad un altro. Però è opportuno motivare la critica soprattutto in riferimento al target del libro.

Personalmente trovo più che adeguato FireBug per la stragrande maggioranza degli utenti e come tale ho deciso di presentarlo e analizzarne le caratteristiche più importanti.

Per entrare nel merito della critica, ricordo che non era necessario aspettare la versione 2008 per poter fare il debug del codice anche con Visual Studio. Per convincersene basta guardare la knowledge base ufficiale; alla pagina http://support.microsoft.com/kb/317699/en-us i dettagli su come realizzarlo anche in Visual Studio 2005 (senza nulla togliere alle importanti novità della nuova release...).

Grazie per l'attenzione
Intervento di Paolo De Nictolis a.k.a. natasha del 01-04-2008 ore 20:01, Tramutola (PZ)
Duca
Duca

(2051 interventi)
Iscritto il 23-05-2005
Citazione:
salve,

ho letto con interesse la recensione

Ciao Ivan (abbi pazienza, il Web è il regno del "tu"), ho scritto quella frase, pensando al fatto che Firebug ha evidentemente implementato un sottinsieme delle funzionalità del debugger di Visual Studio, "riprendendone" finanche il layout delle finestre, il simbolo del breakpoint, le scorciatoie da tastiera per i quattro comandi "step" che a loro volta sono stati scelti dalla miriade di Visual Studio.
Circa l'aver citato la versione 2008, è perchè è la prima a presentare un chiaro interesse, in termini di strumenti offerti, per JavaScript, senza nemmeno tirare in ballo una meraviglia come JavaScript con l'IntelliSense.

Ciò posto, è pur vero che ognuno si sceglie gli strumenti di cui parlare, e mi rendo conto (ahimè a posteriori) che la frase, così come scritta, poteva far pensare ad un'ignoranza dell'Autore. E di questo, ti chiedo sinceramente scusa.

Ho invece trovato il tuo libro (ed in particolare gli esempi presentati, e come sono stati presentati) più che degno del prezzo di copertina, considerato anche il target, il "taglio" scelto ed il numero di pagine a disposizione.
Intervento di Luca Fabbri a.k.a. keul80 del 01-04-2008 ore 21:22
Nobile
Nobile

(64 interventi)
Iscritto il 10-08-2001
L'ultima cosa che mi sognerei di dire è che il debugger integrato di Visual Studio copia quello dei compilatori Borland per quando abbia usato per anni e con successo entrambi.

Ho come l'impressione che l'autore (di cui non ho letto il libro) volesse parlare di Javascript e non JScript.
Intervento di Ivan Venuti a.k.a. ivanvenuti del 01-04-2008 ore 21:56
Plebeo
Plebeo
(26 interventi)
Iscritto il 01-04-2008
Ciao Paolo,

ti ringrazio per aver chiarito il tuo punto di vista (basta il chiarimento, le scuse non sono affatto necessarie ;-) )

Comunque nutro ancora forti dubbi sul fatto che FireBug voglia anche lontanamente "emulare" Visual Studio.
Per il simbolo del breakpoint e gli shortcuts puoi verificare che essi sono usati anche da Sun Java Studio JCreator (vedi, per esempio, http://developers.sun.com/docs/jscreator/help/2update1/a11y/menu_shortcuts.html)
Credo che la comunità di FireBug sia molto più vicina, se proprio si vuol cercare delle analogie, al mondo Sun rispetto a quello Microsoft (ci si potrebbe chiedere chi è stato il primo a usare proprio quei tasti, un layout di quel tipo e così via, ma penso che la cosa non sia molto interessante, visto che è un "dato di fatto", non credi?)

Direi piuttosto che oramai quasi tutti gli IDE tendono ad assomigliarsi. Solo farei questa precisazione: FireBug è molto lontano da essere un IDE! E' semplicemente quello che dichiara di essere: uno strumento per il _solo debug_, con tutti i limiti del caso...

A questo punto ti chiedo una cortesia, visto che la tua recensione mi è sembrata molto approfondita. Avendo la possibilità di scegliere, quale capitolo pensi che possa risultare più utile per comprendere com'è strutturato il libro?

Te lo chiedo perché l'editore mi ha dato la facoltà di pubblicare in rete un capitolo a mia scelta; a breve lo renderò scaricabile alla pagina http://ivenuti.altervista.org/risorse/javascript.htm

Grazie!

p.s. Luca: il mio libro tratta esclusivamente di JavaScript standard...
Intervento di Paolo De Nictolis a.k.a. natasha del 01-04-2008 ore 22:12, Tramutola (PZ)
Duca
Duca

(2051 interventi)
Iscritto il 23-05-2005
Citazione:
Per il simbolo del breakpoint e gli shortcuts puoi verificare che essi sono usati anche da Sun Java Studio JCreator

Eh, Visual Studio mica è uno solo, a cercare di copiarlo... :(
Approfitto per dire a Luca che l'editor ed il debugger di Visual Studio 2008 riguardano, per l'appunto, JavaScript e non JScript.
Citazione:
Avendo la possibilità di scegliere, quale capitolo pensi che possa risultare più utile per comprendere com'è strutturato il libro?

Mi poni una domanda molto difficile, in quanto ho trovato il "taglio" dei capitoli piuttosto disomogeneo. Escluso il primo, il secondo ed il terzo hanno un taglio squisitamente didattico, il quarto ed il quinto investono temi più generali, il sesto riguarda una libreria specifica, il settimo è quasi un "inciso" e l'ottavo è una carrellata di applicazioni.
Dovendo proprio scegliere, direi il quinto.
Intervento di Ivan Venuti a.k.a. ivanvenuti del 02-04-2008 ore 09:26
Plebeo
Plebeo
(26 interventi)
Iscritto il 01-04-2008
Grazie dei suggerimenti, davvero preziosi.

Anche secondo me Visual Studio è tra i migliori editor per lo sviluppo. Però ribadisco che FireBug non è uno strumento di sviluppo e non vedo come possa solo tentare di copiare Visual Studio. Tra l'altro leggendo il tuo post ho notato che:
Citazione:
i quattro comandi "step" che a loro volta sono stati scelti dalla miriade di Visual Studio.

Guarda, pensare che quei quattro comandi siano prerogativa di (o addirittura copiati da) Visual Studio è davvero un abbaglio.

Ho notato dal tuo profilo che siamo più o meno della stessa età: non so se li hai usati anche tu, ma io ricordo che i mitici Turbo Pascal della Borland (prima degli anni '90) avevano già quei comandi (10 anni prima della prima release di Visual Studio).

Per chi, come me, tali prodotti li ha ormai persi tra floppy da 5 pollici e 1/4 non più leggibili, li può scaricare dal sito della Borland, pardon, CodeGear (per esempio su http://dn.codegear.com/article/20803 c'è il Turbo Pascal 5.5)

p.s. se anche qualcun altro vuol comunicarmi quale capitolo vorrebbe veder pubblicato, mi fa cosa gradita.
Intervento di Luca Fabbri a.k.a. keul80 del 02-04-2008 ore 15:22
Nobile
Nobile

(64 interventi)
Iscritto il 10-08-2001
Citazione:
Te lo chiedo perché l'editore mi ha dato la facoltà di pubblicare in rete un capitolo a mia scelta; a breve lo renderò scaricabile alla pagina http://ivenuti.altervista.org/risorse/javascript.htm

Grazie!

p.s. Luca: il mio libro tratta esclusivamente di JavaScript standard...

Beh allora credo proprio sarà una buona lettura, vedrò di approfondire!
Intervento di Paolo De Nictolis a.k.a. natasha del 02-04-2008 ore 16:08, Tramutola (PZ)
Duca
Duca

(2051 interventi)
Iscritto il 23-05-2005
Citazione:
Guarda, pensare che quei quattro comandi siano prerogativa di (o addirittura copiati da) Visual Studio è davvero un abbaglio.

Ho notato dal tuo profilo che siamo più o meno della stessa età: non so se li hai usati anche tu, ma io ricordo che i mitici Turbo Pascal della Borland (prima degli anni '90) avevano già quei comandi (10 anni prima della prima release di Visual Studio).

Sì, vabbè, ma non con le stesse frecce di Visual Studio (cambia solo il colore) ed addirittura le stesse scorciatoie da tastiera!

Per esperienza pregressa, mi rendo comunque conto che ciò non impedirà a chi usa Visual Studio di continuare ad usare Visual Studio, ed a chi usa Firebug di continuare ad usare Firebug :)
Citazione:
p.s. se anche qualcun altro vuol comunicarmi quale capitolo vorrebbe veder pubblicato, mi fa cosa gradita.

Trovo ciò alquanto lodevole :)
Naturalmente, auspico che tu renda presto disponibili per il download anche i sorgenti con gli esempi (e se lasci il link anche qui credo che farai un piacere a noi tutti).
Sai com'è, non tutti sanno che si può usare JavaScript con l'IntelliSense :D
Intervento di Jacopo Cocchi a.k.a. diobrando del 03-04-2008 ore 21:12, Udine (UD)
Barone
Barone
(260 interventi)
Iscritto il 18-09-2004
Le migliori per lo sviluppo in JS (che è una palla e penso ogni webdeve ci abbia avuto a che fare possa confermarlo) oltre che + in generale lato web di VS2008 sono uno dei motivi per cui valga senz'altro la pena upgradare la versione 2005.

Questo al di là di tutte le considerazioni economiche, di campo di applicazioni che cmq vanno fatte da soggetto a soggetto.
Intervento di Ivan Venuti a.k.a. ivanvenuti del 27-05-2008 ore 11:21
Plebeo
Plebeo
(26 interventi)
Iscritto il 01-04-2008
volevo segnalare a tutti che a questo indirizzo http://www.comefarea.it/internet/google/googlemaps/ trovate un capitolo del libro consultabile gratuitamente (è quello dedicato alle Google Maps).
Copyright Programmazione.it™ 1999-2014. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.228 secondi.