Nel sempre più nutrito catalogo Wrox, dato che quasi tutti i libri riportano in copertina le foto degli autori, capita di trovarne alcuni scritti da un numeroso gruppo di persone. Mi viene in mente quello dedicato agli Integration Services di SQL Server 2005, scritto addirittura da 10 personaggi, quasi un autore per capitolo. In questi casi si perde un po’ il flusso logico del discorso, e capita di trovare concetti ripetuti in più capitoli, come anche, nel peggiore dei casi, si percepisce la mancanza di altri. Questo invece è uno dei rari testi Wrox scritti da un solo autore, Imar Spaanjaars per la precisione, un sviluppatore olandese.
Tale fatto, unitamente alla facilità di esposizione dell’autore, contribuisce a rendere il discorso molto fluente, senza ripetizioni inutili, e sapendo esattamente cosa è già stato spiegato e cosa lo sarà nelle pagine a venire. Tutto ciò aumenta di parecchio l’apprendimento di ASP.NET 3.5, la loro ultima versione e, pur essendo della categoria “Beginning” – quindi dedicato ai principianti – introduce anche concetti nuovi e non banali, come AJAX e soprattutto LINQ, quest’ultimo difficilmente rintracciabile in altri testi dedicati allo stesso argomento e alla stessa categoria di lettori. La struttura del testo aiuta anch’essa: i 18 capitoli, non essendo eccessivamente lunghi, consentono di terminare il libro in circa 3 settimane, dedicandogli almeno un paio di ore al giorno.
L’impaginazione è quella ormai supercollaudata della Wrox: ogni capitolo, oltre alle spiegazioni teoriche, è composto da diversi gruppi di “Try It Out” e “How It Works”. Nel primo viene spiegato, passo per passo, come portare a termine un certo compito, mentre nel secondo si entra nel merito del funzionamento, spiegandone i vari dettagli tecnici. Quasi sempre quest’ultima parte è relativa al codice, e ne spiega il funzionamento.
L’autore, giustamente, pone molta importanza al sapiente e completo uso di Visual Studio 2008 (o Visual Web Developer Express 2008, nel caso degli esempi, ma nulla cambia), e dedica il primo capitolo, oltre ad esporre le basi dello sviluppo in .NET, anche alla migliore personalizzazione dell’ambiente di sviluppo, compresi piccoli trucchi sempre utili, come le varie scorciatoie da tastiera. Già da questo primo capitolo si percepisce l’ottima (e consueta) impaginazione della Wrox, sia per quanto riguarda lo scritto che il codice. Le immagini inoltre sono sempre ottimizzate; grandi quando riportano tanti elementi importanti o quando serve osservare il dettaglio, e più piccole quando è sufficiente un quadro di insieme. Come detto il codice è equamente suddiviso in VB e C#, con i soliti sfondi grigi nel caso ci siano modifiche (o è completamente nuovo) rispetto al codice precedente.
Per questo primo capitolo la cartella del codice è vuota. Inizia a popolarsi, gradualmente, a partire dal secondo, dove si spiega come creare dal nulla un nuovo Web Site, il tutto attraverso le schermate di Visual Web Developer.
Sono abbastanza una novità invece la manciata di domande poste alla fine di ogni capitolo (dopo il riepilogo); una sorta di quiz per vedere se si sono assimilati i concetti fondamentali. Nulla di particolarmente complicato, e le risposte sono riportate nell’appendice A.
La lunghezza dei capitoli è in media sulle 35 pagine ciascuno; spicca il quinto (dedicato alle basi dei linguaggi VB e C#) che arriva a 58. Considerando la nutrita (ma necessaria) presenza di figure, e il fatto che il lettore tipo in genere si concentrerà solo su uno dei due linguaggi, ogni capitolo si può affrontare con calme e scioltezza in meno di mezza giornata, avendo anche il tempo di provare il codice.
Man mano che si procede nella lettura dei capitoli, si costruisce un sito completo, il PlanetWrox, una specie di portale/community per gli amanti della musica. Nel capitolo 3 si inizia la parte di abbellimento estetico, dedicandosi ai CSS e al modo guidato per crearli, molto rivoluzionato e potenziato con l’ultima versione di Visual Studio (non c’è più bisogno di ricordarsi a memoria le innumerevoli proprietà dei vari controlli e tag).
La cartelle del codice, suddivise per capitolo, crescono come dimensione man mano che si procede nella lettura del libro. In tal modo, al termine dell’ultimo (il 18esimo), il sito sarà completo. Gli esempi di codice che invece sono prettamente connessi agli argomenti di un capitolo (e slegati quindi dal sito che si va a costruire, il Planet Wrox), sono riuniti all’interno di una cartella “Demos”.
Una delle caratteristiche che ho maggiormente apprezzato in questo testo, e che si può apprezzare in particolar modo in questo capitolo dedicato ai CSS, è che l’autore non sommerge il lettore con lunghissime tabelle riportanti il significato (o l’uso) delle proprietà/metodi/ecc di un particolare controllo, ecc., ma ne espone quelle più importanti ed utilizzate tramite degli esempi mirati.
La teoria è sempre accompagnata dagli esempi, spesso con procedure passo passo da eseguire al pc; per questo motivo, e per assimilare meglio i concetti, è raccomandabile non limitarsi a leggere le pagine, ma provare subito quanto viene riportato.
L’autore inoltre non è un fanatico Microsoft (come spesso accade per chi scrive questo genere di libri); le pagine di esempio vengono visualizzate in Firefox (e non in Internet Explorer), e se c’è da muovere un appunto alla tecnologia .NET, non si tira indietro.
Nel capitolo 4 vengono introdotti i controlli più utilizzati e ci si sofferma sulla gestione dello stato nelle pagine ASP.NET. Il capitolo 5 è una vera chicca: in circa 50 pagine (il capitolo più lungo del libro) si realizza un eccellente sunto sui linguaggi C# e VB, coprendo tutti gli argomenti del linguaggio che ogni sviluppatore web dovrebbe conoscere. Si possono apprezzare sia le differenze tra i due linguaggi (e non solo sintattiche), come anche i consigli che l’autore elargisce, non limitandosi – come in genere avviene in altri libri – ad un mero ed arido riepilogo delle caratteristiche. Viene fatto anche un ripasso della programmazione ad oggetti, riportando anche le novità apparse con la versione 3.5 del .NET Framework, come l’object initializers.
Anche se si conosce già bene il proprio linguaggio, C# o VB che sia, la lettura di questo capitolo apporterà sicuramente qualche dettaglio in più che non si conosceva, o permetterà di vedere le cose sotto una prospettiva diversa, il che aiuta nel completo apprendimento.
Ma la caratteristica più importante da sottolineare, e che non vale solo per questo capitolo ma per tutto il libro, è che non ci sono assolutamente errori nel codice! Credo che sia uno dei rarissimi libri in cui questo si verifichi, e unitamente alla mancanza di refusi anche nello scritto, da’ il segno di quanta cura ed attenzione l’autore (o chi per lui) abbia dedicato alla revisione del testo.
Il capito successivo si occupa di uniformare l’aspetto del sito web, ovvero non solo master page (argomento principale e ben sviscerato), ma aggiungendo anche gli “skin” e i “theme”, ricollegandosi quindi con i CSS studiati qualche capitolo prima.
Il capitolo 9 dedicato ai controlli di validazione purtroppo non è all’altezza del resto. Vengono forniti solo pochi esempi, che di certo non coprono almeno una discreta fetta di tutti i possibili casi di validazione che possono capitare in un sito normale. Una parte del già relativamente breve capitolo è dedicata infatti all’invio di mail, con un breve accenno anche alla lettura dei file.
A pag. 311 di questo capitolo ho segnalato alla casa l’unico errore trovato nel testo, che è stato prontamente inserito nell’apposita sezione delle “errata” della pagina dedicata al libro.
Coprire l’argomento “AJAX” sarebbe impossibile da portare a termine in una trentina di pagine (ci sono libri interi su di esso), pur tuttavia, nel capitolo 10, l’autore riesce a fornire delle sufficienti basi di utilizzo, sia per quanto riguarda l’aspetto “server” (ovvero i vari controlli ScriptMananage, UpdatePanel, UpdateProgresss e Timer), che quello “client” (utilizzo di WebServices richiamati da codice javascript). Anche in questo caso gli esempi sono non tantissimi ma ottimamente spiegati fino nel dettaglio, dando una buona infarinatura di Ajax al lettore.
Il capitolo 11 è il primo dei quattro dedicato ad ADO.NET e alla gestione e visualizzazione di dati che risiedono su database relazionali. In questo caso non si prosegue ad aggiungere codice al sito di esempio Planet Wrox, ma si crea un Web Site a parte dove poter “pasticciare” con il piccolo database fornito con il codice scaricabile, che verrà poi utilizzato più avanti (non “sporcato”) per proseguire con il consueto progetto di sviluppo. Pur essendo di ottima fattura come tutte le altre, le 30 pagine di questo capitolo sono veramente da “beginner”, dato che si soffermano a spiegare cosa è un database e come si scrivono semplici query del tipo “Select * From…”. Lo si può scorrere quindi molto velocemente, giusto per avere un’idea di come è strutturato il database di esempio e che dati contiene.
Molto più interessante il capitolo seguente, in cui si illustrano i principali controlli server dedicati al databinding e soprattutto il 13esimo dove si introducono le basi di LINQ (nella sua variante, o “flavour”, “LINQ to SQL”, l’unica trattata).
Il capitolo 18 è il tassello che chiude infine il cerchio dello sviluppo del sito, dedicandosi a tutto ciò che riguarda il deployment. È un piacere osservare (e leggere) come viene trattato questo argomento: innanzitutto si prendono in considerazione sia i scenari con Windows XP/Server 2003 che con Vista/Server 2008, e poi l’autore fornisce tutta una serie di consigli e trucchi, spesso assenti nei corrispondenti capitoli di altri libri.
Nelle ultime pagine, prima delle due appendici, l’autore fornisce un elenco ragionato di altri testi dove approfondire gli argomenti trattati, essendo questo, non dimentichiamolo, un libro dedicato ai beginner.
A questa pagina è presente la scheda dettagliata del libro, con la possibilità di scaricare (in formato Pdf) il primo capitolo (33 pagine), il sommario e l’indice analitico.
Consiglio di stamparsi il primo capitolo; non è infatti una mera introduzione, ma l’autore riporta già nelle prime pagine dettagli interessanti, soprattutto per quanto riguarda l’implementazione di tutto il software sul pc su cui si lavorerà.
Il codice (circa 9 MB) è equamente suddiviso in cartelle dedicate ai linguaggi VB.NET e C#.
Bisogna spendere una parola per il forum associato al libro. Per chi non lo sapesse ancora, la Wrox (ma ora stanno seguendo l’esempio altre case editrici) predispongono un forum apposito per ogni libro pubblicato (o in procinto di essere pubblicato), dove i lettori, previa registrazione sul sito, possono chiedere informazioni o aiuti, possibilmente per problemi legati al codice del libro stesso, come anche relativi a frasi poco chiare o quant’altro. Ebbene, il forum di questo libro è quello più gettonato che mi è capitato di vedere in tutto il sito Wrox. Sono addirittura decine gli interventi effettuati, di ogni genere, dalla richiesta di aiuto sia all’esposizione di considerazioni personali. E soprattutto è ammirevole la partecipazione dell’autore, prontissimo (anche come tempi) a rispondere e ad aiutare chi ha bisogno. Di fatto questo forum costituisce un libro nel libro, e consiglio di darci almeno un occhio per vedere di cosa si parla.
Concludendo posso dire che questo libro mi ha proprio soddisfatto e in un certo senso mi ha fatto riconciliare con i libri Wrox, i cui ultimi che avevo letto difettavano ogni tanto in errori, refusi, problemi al codice o in poca chiarezza nell’esposizione.
Questo http://imar.spaanjaars.com invece è il sito dell’autore, dove si trovano interessanti articoli e script di codice per i più vari utilizzi.
PRO
È indubbiamente un eccellente libro introduttivo (e qualcosa di più) allo sviluppo web con ASP.NET 3.5. Il linguaggio chiarissimo, gli esempi di codice perfettamente funzionanti, le immagini precise (sia come numero che dimensione) ed infine l’ottimo mix tra pratica e teoria, rendono questo libro adattissimo sia a principianti che per chi vuole effettuare il passaggio da ASP.NET 2.0 a 3.5.
Non ci sono ripetizioni di argomenti, come spesso accade in libri scritti a più mani, e la cura nella revisione delle bozze raggiunte quasi la perfezione, dato che è presente solo un refuso, e nemmeno grave, in oltre 700 pagine. L’inglese utilizzato, forse per il fatto che l’autore non è madrelingua anglosassone (è infatti olandese), è molto comprensibile, e non fa uso di parole difficili o ricercate.
Ottima l’impaginazione della Wrox, e la rilegatura molto flessibile consente di tenerlo aperto sulla scrivania senza problemi di richiusura.
Ammirevole il supporto, costante ed immediato, fornito dall’autore ai lettori del libro tramite l’apposito forum nel sito della Wrox (mezzo voto, oltre al 9 del testo in sé, è dovuto proprio a questo).
CONTRO
Una volta che ci si rende conto dell’obiettivo dell’autore e del target di lettori a cui questo libro è indirizzato, ci vorrebbe la lente di ingrandimento per trovare difetti in questo testo. Ricordo che per tutti i vari argomenti che vengono solo sfiorati in questo testo (o non trattati affatto) è uscito l’analogo libro su ASP.NET 3.5 della serie “Professional”, molto più completo ed approfondito.
Voto complessivo: 9,5/10
Lettore: Principiante/Intermedio
Table of contents
Introduction
1 - Cap. 1: Getting started with ASP.NET 3.5
33 - Cap. 2: Building an ASP.NET Web Site
63 - Cap. 3: Designing Your Web Pages
103 - Cap. 4: Working with ASP.NET Controls
135 - Cap. 5: Programming Your Asp.NET Web Pages
193 - Cap. 6: Creating Consistent Looking Web Sites
235 - Cap. 7: Navigation
267 - Cap. 8: User Controls
291 - Cap. 9: Validating User Input
321 - Cap. 10: ASP.NET AJAX
353 - Cap. 11: Introduction to Databases
383 - Cap. 12: Displaying and Updating Data
425 - Cap. 13: LINQ
475 - Cap. 14: Presenting Data – Advanced Topics
517 - Cap. 15: Security in Your ASP.NET 3.5 Web Site
557 - Cap. 16: Personalizing Web Sites
591 - Cap. 17: Exception Handling, Debugging, and Tracing
631 - Cap. 18: Deploying Your Web Site
665 - Appendix A: Exercise Answers
687 - Appendix B: Configuring SQL Server 2005
707 - Index
Titolo: Beginning ASP.NET 3.5: in C# and VB
Autore: Imar Spaanjaars
Editore: Wrox
ISBN: 978-0-470-18759-3
Pagine: 768
Prezzo: 26,99 $ (su Amazon)
Data di uscita: 10/03/2008