Si può dire, senza paura di essere smentiti, che questo libro è attualmente l’unico disponibile in italiano, scritto da un autore italiano, su un argomento così avanzato e attuale quale può essere lo sviluppo di applicazioni utilizzando le recenti versioni del Microsoft .NET Framework, ovvero la 3.0 (disponibile in verità già da oltre un anno) e la 3.5.
Ed è anche ammirevole constatare come anche in Italia si possa fare della buona divulgazione informatica su argomenti che non siano banali e scontati.
Premetto subito che il testo non è indirizzato ai principianti, ma piuttosto a lettori che già conoscono abbastanza bene il .NET Framework, meglio se la versione 2.0, quella attualmente più utilizzata.
Grazie inoltre alla presenza di esempi di codice sia in VB.NET che in C# (anche nelle loro ultime versioni, VB 2008 e C# 3.0), il libro diventa usufruibile praticamente da tutti gli sviluppatori su questa piattaforma (questi due linguaggi, infatti, coprono quasi il 100% dei progetti sviluppati).
Il primo breve capitolo introduce gli argomenti che verranno approfonditi nei capitoli successivi del libro, e fornisce dei link utili per scaricarsi tutto il software e la documentazione che serviranno per esercitarsi con queste nuove tecnologie.
Il secondo, altrettanto breve capitolo, entra leggermente più nel dettaglio e spiega cosa c’è di nuovo e differente a livello di assembly nelle nuove versioni del Framework.
Anche il capitolo tre è composto da un numero limitato di pagine (10), tant’è che lo avrei visto meglio accorpato con il secondo, anche perché il discorso rimane lo stesso, e prosegue presentando il nuovo Visual Studio 2008 e le aggiunte che è necessario apportare alla sua versione precedente, ovvero la 2005, al fine di poter creare progetti specifici per i Framework 3.X. In questo capitolo si nota un problema che affligge il testo, ovvero le immagini molto piccole e poco definite. La compattezza del libro, pur utile in altri contesti (lo si può portare comodamente in viaggio, infatti), gli impone però l’utilizzo di immagini di piccole dimensioni. Già che siamo in tema “segnalazioni”, ne riporto altre due, una negativa ed una positiva. La prima è relativa ai numerosi link presenti nel discorso; utilissimi per carità, aiutano il lettore a ritrovare subito ciò di cui necessita. Vengono riportati però gli indirizzi per esteso, quasi sempre lunghissimi ed alcuni addirittura su due righe. Poco pratici quindi. Sarebbe stato meglio “tradurli” tramite il Tinyurl, e riportare solo quello (decisamente più breve).
Oppure sarebbe stato sufficiente inserirli in un file di testo allegato al codice.
La nota positiva invece è la comparsa – finalmente – dell’intestazione con il titolo del capitolo nelle pagine dispari (quelle di destra). Avevo già segnalato la cosa nelle mie precedenti recensioni dei titoli di questa collana (DigitalLifeStyle), e grazie al cielo qualcuno ha provveduto.
Per quanto riguarda l’ambiente di sviluppo, l’autore sia utilizza la Beta 2 di Visual Studio 2008, l’unica disponibile durante la stesura del libro, che Visual Studio 2005 con le relative estensioni per il Framework 3.0.
I sorgenti sono inoltre ben organizzati, suddivisi prima in capitoli e poi in progetti, il cui nome è riportato all’inizio del paragrafo che li tratta. Il codice è ben scritto e ben indentato, sia nel testo che nei file stessi, e questo è segno di ottima cura realizzativa. Inoltre, i sorgenti, anche se realizzati con Visual Studio 2005, sono convertiti senza problemi nella versione 2008 (ed è una buona per chi utilizza solo l’ultima versione di Visual Studio).
Dopo questi primi tre capitoli introduttivi e necessari per spianare la strada, il quarto ben più lungo capitolo (67 pagine) è dedicato interamente a Windows Presentation Foundation, una delle componenti del .NET Framework 3.0. Innanzitutto sono molto utili le note iniziali che ricordano se tale tecnologia è utilizzabile anche nelle versioni Express di Visual Studio (quelle gratuite e liberamente scaricabili).
Durante il capitolo vengono presentati, con brevi progetti di esempio, i maggiori scenari applicativi, sia per le applicazioni Windows Forms, che Web (WPF Browser Application).
Nell’altrettanto lungo capitolo 5 (61 pagine) si prosegue con gli approfondimenti di WPF, entrando nel merito delle grandi possibilità grafiche e multimediali che questa tecnologia permette di realizzare.
Ovviamente non è possibile esaurire l’argomento WPF in un centinaio di pagine. L’autore si fissa come obiettivo di fornire, tramite esempi mirati, una sufficiente conoscenza dell’argomento che consenta, per chi vuole approfondire, di continuare l’apprendimento su MSDN (o su altri testi più approfonditi).
Raccomando di seguire gli esempi di codice (costruiti man mano che si procede nella lettura) davanti al pc con Visual Studio aperto sul progetto stesso, in modo da vedere cosa succede. Le immagini nel testo infatti non sono tante, e leggendo solo il libro bisognerebbe fare un faticoso sforzo mentale di astrazione.
Se proprio si vuole cercare qualcosa di migliorabile, si può notare che il codice XAML nel libro non è sempre ben indentato (nel codice scaricabile invece è indentato perfettamente).
Il sesto capitolo (55 pagine) approfondisce un particolare e sorprendente aspetto di WPF, il cosiddetto “Text-to-Speech”, che consente di far “parlare” il pc (non è una battuta, provare l’esempio “SpeechDemo” per rendersene conto), meglio se in lingua inglese, dato che l’italiano viene “letto” in maniera fin troppo americanizzata.
Nel capitolo 7 (55 pagine) si abbandona l’aspetto ludico-multimediale di WPF per dedicarsi a qualcosa di molto più business-oriented, ovvero Workflow Foundation (WF). Il discorso, sempre ricco di esempio, prosegue anche nel capitolo 8, mentre gli ultimi 2 capitoli (9 e 10) sono dedicati a WCF, Windows Communication Foundation, uno degli argomenti più avanzati, ma nello stesso tempo di maggior interesse nel caso si voglia far comunicare applicazioni e sistemi in rete tra loro. Tra l’altro un mio collega ha iniziato a leggerlo proprio da questi ultimi due capitoli, e questo la dice lunga sull’importanza di WCF.
Concludendo questo è un libro da raccomandare per chiunque, meglio se con una discreta base di programmazione nel .NET Framework, voglia iniziare ad approfondire le novità introdotte con la versione 3.0. Il linguaggio, molto colloquiale e fluente, aiuta parecchio nell’apprendimento.
Consiglio di tenere d’occhio anche il blog dell’autore, dato che viene aggiornato con una frequenza sorprendente ed unica (addirittura anche più di un post al giorno), e riporta tanti articoli interessanti sul mondo .NET, e non solo di Visual Basic, come potrebbe sembrare.
Ultimamente l’autore si è anche lanciato nella produzione di video tutorial (screecast), in particolare dedicati a LINQ e VB (scaricabili gratuitamente).
A questa pagina è presente la scheda del libro, da cui poi è possibile andare sul booksite apposito dove si può scaricare il codice sorgente (circa 3 MB). Qui è presente poi il link al blog dell’autore, dove è possibile scaricarsi il capitolo 10 - WCF: Sicurezza, gestione e integrazione con Windows WF - a questo link.
PRO
Il fatto di essere (attualmente) l’unico libro in italiano su questi argomenti non necessariamente costituirebbe un “Pro”, ma bisogna considerare che a questo aspetto, comunque non trascurabile, va aggiunta la qualità del contenuto, il linguaggio colloquiale e diretto e l’ampio uso di esempi e consigli.
Il fatto poi di procedere per gradi, dagli aspetti più semplici a quelli più complessi, costituisce un altro punto a favore.
CONTRO
Nulla di rilevante da segnalare, se non la solita rigidezza della rilegatura che contraddistingue tutti i testi di questa collana.
Voto complessivo: 8/10
Lettore: Intermedio
Sommario
9 – Prefazione
13 – Introduzione
15 – Cap. 1: Cos’è e perché .NET Framework 3.0
Cos’è e perché .NET Framework 3.0
Windows Presentation Foundation
Windows Workflow Foundation
Windows Communication Foundation
Windows CardSpace
.NET Framework 3.0 parte integrante di Windows Vista
Cenni su .NET Framework 3.5
Requisiti software per programmare con .NET 3.0
Componenti per Windows XP
Windows SDK per Windows Vista e XP
Requisiti software per programmare con .NET 3.5
Riferimenti alla documentazione
29 – Cap. 2: Struttura di .NET Framework 3.x
Architettura di .NET Framework 3.0
Architettura di .NET Framework 3.5
Novità nel Common Language Runtime
Linguaggi e compilatori
LINQ
Reti e ASP.NET
Assembly di .NET Framework 3.0 e 3.5
Riferimenti alla libreria di classi base
Cambia qualcosa nel modo di programmare?
39 – Cap. 3: .NET Framework 3.x e Visual Studio
Utilizzo di Visual Studio 2005
Estensioni per WPF e WCF
Estensioni per WF
Cenni sullo sviluppo con Windows Vista
Precisazioni sulle edizioni Express
Utilizzo di Visual Studio 2008
Precisazioni sulle edizioni Express
49 – Cap. 4: Windows Presentation Foundation
Cos’è e perché WPF
Architettura di WPF
Tipi di applicazione e modelli di progetto
Visual Studio 2005/2008 e WPF
File appartenenti alle applicazioni WPF
La gestione del design: il linguaggio XAML
I concetti di Element Tree, Logical Tree e Visual Tree
Modalità dichiarativa e modalità imperativa
Lo strumento XAML Pad
I file di code-behind
Programmazione .NET per WPF
Mentalità .NET applicata a WPF
Distribuzione di applicazioni WPF
L’oggetto Application
Gestione degli eventi
Gestione di eccezioni
Utilizzo dei manifesti per i temi di sistema
Programmare con WPF
Controlli e contenitori di controlli
Importanza e utilizzo dei contenitori
Implementazione dei controlli con XAML
Associazione tra controlli ed eventi
Gli eventi Routed
Modalità Direct, Bubble e Tunnel
Manipolare XAML da codice gestito
Applicazioni Web in WPF
Esempio di Xaml Browser Application
Distribuzione di applicazioni XBAP
XBAP e Code Access Security di .NET
Navigation Applications
Esempio di Navigation Application
Windows Forms e WPF
Utilizzare controlli Windows Forms in WPF
Utilizzare controlli WPF in Windows Forms
Novità di .NET Framework 3.5
Componenti aggiuntivi per applicazioni
Evoluzione specifica di ClickOnce
Novità per le XAML Broswer Applications
Compatibilità con .NET Framework 3.0
Grafica, localizzazione e data-binding
117 – Cap. 5: Grafica in Windows Presentation Foundation
Grafica in WPF
Oggetti Brush
Oggetti Transformations
Utilizzo dei font
Riproduzione di contenuti multimediali
Effetti per le immagini
Implementazione di menu
Barre degli strumenti e barre di stato
Stili e triggers
Modelli per i controlli (Control template)
Animazioni
Spunti di studio
La grafica a 3D
Gli Adorner
Il data-binding
Le regole di validazione
179 – Cap. 6: Documenti e Text-To-Speech in Windows Presentation Foundation
I documenti di tipo Flow
Annotazioni
Creazione del progetto di esempio
I documenti XPS
Struttura dei documenti XPS
Leggere e visualizzare documenti XPS
Scrivere e stampare documenti XPS
Aggiunta di firme digitali ai documenti
Aggiunta di anteprime
Supporto per le annotazioni
I documenti Open XML
Microsoft Open XML SDK
Creazione del progetto di esempio
La tecnologia Text-To-Speech
Creazione del progetto di esempio
Risorse di MSDN
235 – Cap. 7: Windows Workflow Foundation
Cos’è Windows Workflow Foundation
Il concetto di Workflow
Architettura di WF
Attività, flussi e servizi
Attività
Tipologie di flussi
Servizi di supporto al runtime
Servizi di persistenza
Servizi di tracciamento
Servizi per le transazioni
Servizi di schedulazione
WF e Visual Studio 2005/2008
I modelli di progetto
La documentazione a corredo
I flussi sequenziali
La casella degli strumenti
La casella degli strumenti in Visual Studio 2008
Il designer di Visual Studio
Menu e barre degli strumenti
Il progetto IfElseDemo
XAML e Windows Workflow Foundation
Cenni sulle attività personalizzate
I flussi “macchina a stati”
Un flusso di lavoro più realistico
Realizzazione di un esempio pratico
291 – Cap. 8: Tracing e Persistence in Windows WF
Intercettare gli eventi di un flusso
Intercettare gli eventi da codice
Utilizzare il servizio di tracciamento dei flussi
Concetti base
Creazione del database
Un esempio pratico
Servizi di tracciamento personalizzati
Il concetto di persistenza dello stato dei flussi
Namespace, classi e metodi
Considerazioni sul multi-threading
Preparazione del database SQL
Un’applicazione di esempio
Debug di applicazioni WF
Approfondimenti
325 – Cap. 9: Windows Communication Foundation
Cos’è e perché WCF
Informazioni di base
Servizi ed Endpoint
L’ABC di WCF
Il concetto di applicazione host
Struttura di base di un servizio WCF
Utilizzo di Visual Studio 2005
Utilizzo di Visual Studio 2008
Utilizzo di Visual Web Developer Express
Creazione di un servizio WCF
Hosting dei servizi
Pubblicazione del servizio su IIS
Pubblicazione in Windows Vista
Pubblicazione in Windows XP
Verifica della pubblicazione con IE
Creazione di un’applicazione client
Gestione di eccezioni in WCF
Eccezioni generiche
Eccezioni fortemente tipizzate
Utilizzo di messaggi
Creazione di un servizio basato su messaggi
Creazione di un’applicazione client
La tecnica del Callback
Creazione del servizio
Creazione dell’applicazione client
383 – Cap. 10: WCF: Sicurezza, gestione e integrazione con Windows WF
Considerazioni sulla sicurezza
Modalità di trasferimento dei dati
Accesso al servizio basato sui ruoli
Servizi di auditing
Gestione dei servizi
Service Configuration Editor
Implementare funzionalità di diagnostica
Service Trace Viewer
Integrare WCF e WF
Logica di implementazione
Creazione del servizio WCF
Creazione del Workflow
Novità in Visual Studio 2008
Novità in .NET Framework 3.5
Spunti di studio
Transazioni
Sessioni attendibili
Estendere WCF
Informazioni sulla privacy
Titolo: Programmare con .Net Framework 3.X
Autori: Alessandro Del Sole
Editore: FAG
ISBN: 9788882336868
Pagine: 416
Prezzo: 32 €
Data di uscita: Gennaio 2008