E’ la prima volta che ho tra le mani un libro della Cad Cim, una casa editrice americana ma a forte partecipazione indiana specializzata in libri su programmi di grafica e progettazione. Questo è uno dei pochissimi titoli del suo catalogo che esulano dal core business aziendale: c’è solo qualche altro titolo su Java, VB.NET e poco altro, tutto il resto è CAD (come d’altronde si potrebbe intuire dal nome della casa editrice stessa) e grafica vettoriale. In circa 300 pagine si parla di Ajax e qualcosa anche sull’Ajax Control Toolkit visti dall’ottica di Visual Studio 2008 e con C# come linguaggio (qualche esempio riporta però anche VB).
A dire il vero le 300 pagine sono “presunte”, in quanto il libro segue una numerazione di pagine piuttosto singolare. Ogni capitolo riparte da zero (!), e se si apre in libro in qualsivoglia pagine, nell’intestazione si leggerà (ad esempio) 4-16, ovvero 16esima pagina del capitolo 4. Ciò può essere comodo per capire al volo l’estensione di un capitolo, ma personalmente avrei preferito la numerazione classica.
L’idea alla base di questo libro, scritto da un professione di origini indiane (ma insegnante negli USA) non sarebbe malvagia: illustrare la tecnologia Ajax con parecchi approfondimenti sulla libreria, su javascript e sui principali controlli dell’Ajax Control Toolkit prodotto dalla Microsoft.
Peccato però che l’approccio sia pessimo, per vari motivi.
Innanzitutto il codice è indentato pessimamente, anzi, può dire che non è indentato per niente.
Tutte le righe sono allineate alla sinistra, come si vede da questa immagine.
Ne risulta una grande fatica nel seguire i listati, come raramente (per fortuna!) capita di trovare in altri libri di informatica. Tra l’altro anche le immagini sono utilizzate in maniera poco proficua. Sempre dall’immagine di sopra, si vede che viene mostrato un grande ed inutile spazio bianco quando invece il focus dell’attenzione è riservato solo all’angolino in altro a sinistra, dove ci sono i pulsanti. Si poteva “estrarre” solo questa zona, ed evitare di mostrare tutta la schermata del browser.
Spesso sono anche sgranate e poco chiare.
La rilegatura, pur essendo il libro di piccole dimensioni, è incredibilmente rigida e scomoda, tant’è che non si riesce a tenerlo aperto sulla scrivania a meno di non metterci due pesi ai lati.
Ma è soprattutto il discorso dell’autore ad essere pesante e inspiegabilmente ripetitivo. Alcuni concetti, che sono validi per diversi argomenti, vengono ripetuti fino alla nausea. Ho perso il conto di quante volte viene spiegato che l’attributo ID serve per identificare un controllo, o che la proprietà runat=”server” è necessaria per poterlo eseguire lato server. Concetti, tra l’altro, ripetuti esattamente identici, segno che il Copia&Incolla l’ha fatta da padrone nella stesura di questo libro.
Alcuni approfondimenti, poi, tipo quello sulle librerie della Dll di Ajax, sono quasi inutili, dato che raramente uno sviluppatore avrà bisogno di accedervi raramente. E comunque riportano anche meno di quanto riporta MSDN, senza nessun commento e nessuna osservazione, aggiunte che avrebbero fatto la differenza e giustificato l’acquisto del libro. In altre parti, magari, qualche approfondimento in più non sarebbe guastato.
Ad esempio, mi serviva capire come usare il CollapsiblePanelExtender. Le poche pagine che lo illustrano riportano esattamente quanto si trova sul sito Asp.net nella sezione dedicata ai controlli extender del Toolkit.
Ma io dico, caro autore, almeno riportami qualche esempio un po’ più articolato di quello basilare che riporta anche il sito, spiegami come è meglio utilizzarlo, dammi qualche consiglio pratico. Niente di tutto ciò.
Praticamente inutile anche la raccolta delle proprietà con le semplicistiche spiegazioni (il TargetID serve per specificare il controllo target, il CssClass per impostare la classe Css, e così via, tutte cose che si possono intuire senza doversi soffermare ogni volta).
Una cosa indovinata è di mettere delle domande a risposta multipla alla fine di ogni capitolo per testare l’apprendimento del lettore, come si vede da questa immagine.
Questo, effettivamente, torna utile. Questa sezione è divisa in 2: “Self Evaluation Test” e “Review Questions”. Purtroppo solo delle prime ci sono le risposte esatte, e non si capisce come mai manchino invece quelle della seconda parte.
Sul sito delle CadCim si possono scaricare i primi due capitoli.
Il capitolo 1 è di 16 pagine, mentre il capitolo 2 è di ben 38 pagine. Rispetto alla edizione stampata, hanno il vantaggio di avere le immagini a colori.
Il codice è a progetti di tipo “Web Site” e, se si usa Visual Studio 2010, verrà chiesto di convertirlo (lo si può lasciare anche nella vecchia versione del framework, il funzionamento rimane).
A differenza della carta stampata è indentato in modo leggermente migliore (anche se non ottimale).
Consiglio di scaricarselo perché si impara di più osservando il codice che leggendo il libro.
Mi ha un po’ sorpreso non rintracciare nessuna recensione di questo libro, nemmeno su Amazon USA, dove almeno un commento non si nega a nessuno. Mistero.
Concludendo non mi sentirei di consigliare l’acquisto di questo libro. Non riporta nulla di particolarmente significativo rispetto a quanto si può trovare con una semplice ricerca su internet. Le ripetizioni sono fastidiose, il codice è riportato in maniera orrendo, il layout generale è pessimo (sia per il font che per le immagini) e mancano tutti questi consigli e raccomandazioni che un libro dovrebbe fornire al lettore per farlo diventare meglio di un MSDN o di una guida in linea.
Non credo che tornerò ancora con qualche altro titolo di questa casa editrice, anche perché il suo target di lettori – progettisti CAD – è parecchio distante dai miei interessi.
Table of Contents
Chapter 1: Introducing ASP.NET AJAX
Chapter 2: Basics of AJAX
Chapter 3: Handling the Timer Control
Chapter 4: AJAX with JavaScript
Chapter 5: Components of AJAX
Chapter 6: AJAX Control Toolkit
Chapter 7: Rich Toolkit Controls
Chapter 8: The XmlHttpRequest Object
Chapter 9: Members of AJAX Library
Chapter 10: XML Support in AJAX
Index
Su Amazon Italia questo libro non è ancora presente a catalogo (e a questo punto credo che non lo sarà mai).
Qua sotto invece il prezzo del libro tratto dal sito statunitense di Amazon.
Come si vede si tratta di quasi 40 dollari, un prezzo spropositato per quanto viene in realtà offerto.