Nuova edizione con oltre 300 pagine di nuovi contenuti, completamente aggiornata per:
- Microsoft .NET Framework 1.1
- Microsoft Visual Studio .NET 2003
- Microsoft Windows Server 2003
La piu' autorevole guida di riferimento in un unico volume per i programmatori Visual Basic, adesso aggiornata a
Visual Studio .NET 2003.
Scritta da un esperto mondiale del settore, questa guida e' ricca di suggerimenti, di esempi pratici di codice e di principi fondamentali per arricchire le proprie conoscenze su Visual Basic .NET 2003. Aggiornata a Microsoft .NET Framework 1.1, Visual Studio .NET 2003 e Windows Server 2003, questa apprezzatissima guida di riferimento tratta in modo ancora piu' approfondito le funzionalita' di Visual Basic .NET e permette di aumentare la produttivita' con nuove caratteristiche e tecniche per scrivere codice piu' veloce e piu' affidabile. Dall'analisi esaustiva delle caratteristiche piu' avanzate del linguaggio a oggetti al riuso di codice legacy Visual Basic, questa guida di riferimento esaustiva e' uno strumento di orientamento professionale e pragmatico alle competenze necessarie per produrre soluzioni sofisticate per Microsoft Windows e per il Web.
Con questa guida scopri come:
- Manipolare le classi del .NET Framework utilizzando la serializzazione, il threading e la reflection
- Creare componenti per gestire meglio grossi programmi e risolvere problemi di versione
- Lavorare con GDI+, i controlli personalizzati Windows Forms e i servizi Windows
- Sviluppare applicazioni database utilizzando Microsoft ADO.NET e dati XML
- Utilizzare il data binding Web Forms per creare sofisticate interfacce per applicazioni Internet
- Utilizzare le funzionalita' Microsoft ASP.NET, tra cui i controlli utente e i controlli personalizzati, la cache, i servizi di sicurezza e i servizi Web
- NOVITA' - Come e quando utilizzare il .NET Remoting e i Component Services
- NOVITA' - Invocare codice non gestito con Plnvoke e C0M Interop
- NOVITA' - Utilizzare la Code Access Security e ulteriori tecniche per implementare applicazioni sicure
- NOVITA' - Scrivere, effettuare il debug e creare impostazioni di sicurezza per applicazioni Windows Forms da distribuire via HTTP
Fasi: Progettazione di soluzioni - Implementazione di codice - Test e debug
II CD-ROM contiene:
- Gli esempi di codice Visual Basic .NET 2003 descritti nel libro
- Contenuti extra sulla gerarchia di classi e gli strumenti del .NET Framework
- eBook completo con versione originale del testo in lingua inglese
- La versione eBook del libro Programmare Microsoft Visual Basic 6.0
- Database di esempio
Francesco Balena programma in Visual Basic sin dalla versione 1.0. Svolge attivita' di formazione e consulenza per Wintellect, e' autore dell'apprezzatissima prima edizione di questo libro, e' contributing editor di Visual Studio Magazine, nonche' direttore della rivista italiana Visual Basic & .NET Journal e speaker in importanti conferenze mondiali dedicate agli sviluppatori.
Prefazione
Quando Microsoft dispone di una nuova tecnologia sulla quale i propri sviluppatori vogliono essere informati, organizza un System Design Review (SDR). Nell'ottobre del 1999, sono stato abbastanza fortunato da essere invitato ad un SDR su quello che veniva allora chiamata COM+ 2.0. Nella mia carriera mi sono interessato molto piu' alle API Win 32 che non a COM e pertanto normalmente non sarei mai andato ad un evento di questo tipo. Tuttavia dal momento che non avevo molto da fare in quel periodo, ho deciso di partecipare per dare un'occhiata alle novita' che Microsoft aveva in serbo con COM. Ebbene, sono rimasto letteralmente annichilito! COM+ 2.0 non era semplicemente un miglioramento di COM; rappresentava un modo completamente diverso per sviluppare software e componenti. Per me era ovvio: questo nuovo COM costituiva il futuro di quasi tutto lo sviluppo software. Quando gli sviluppatori di Microsoft si sono effettivamente resi conto che cio' che stavano realizzando era ben piu' di una nuova versione di COM, il nome della nuova tecnologia e' stato modificato da COM+ 2.0 a Microsoft .NET Framework - come oggi e' universalmente conosciuta questa piattaforma di sviluppo. Il .NET Framework consente agli sviluppatori di creare applicazioni robuste in modo facile e veloce. Questa nuova piattaforma risolve anche numerosi problemi che hanno tormentato Windows per anni: l'inferno delle DLL, i problemi di sicurezza, i memory leakage, la corruzione della memoria, l'incoerenza delle API e delle modalita' di gestione degli errori e via dicendo.
Subito dopo l'SDR, sono diventato un consulente del gruppo del .NET Framework ed ho sviluppato quasi esclusivamente per questa nuova piattaforma per almeno due anni. E devo dire che la adoro! E non intendo assolutamente tornare indietro a C e C++. Coloro che intendono intraprendere una carriera nell'ambito dello sviluppo software, dovrebbero senza ombra di dubbio cominciare a conoscere e ad utilizzare il .NET Framework. Attualmente Microsoft offre numerose tecnologie differenti per conseguire obiettivi diversi:
- Per creare siti Web dinamici, occorre imparare Visual Basic Scripting Editing o JScript.
- Per creare applicazioni per database ad elevate prestazioni, e' necessario conoscere il T-SQL.
- Per creare componenti scalabili in grado di utilizzare in modo efficiente la memoria, occorre utilizzare C/C++ ed a scelta MFC ed ATI.
- Per automatizzare le applicazioni per la produttivita' personale (come Microsoft Word ed Excel), occorre utilizzare Visual Basic for Applications.
- Per realizzare velocemente applicazioni GUI, e' necessario conoscere Visual Basic.
Le "soluzioni" attuali sono realizzate da sviluppatori che utilizzano gran parte di queste tecnologie. Ad esempio, molti siti Web dinamici utilizzano componenti scalabili che accedono a database, il che significa che molti programmatori devono conoscere correntemente tutte queste diverse tecnologie e tutti questi linguaggi di programmazione. Ovviamente, cio' rappresenta una grande mole di lavoro, e sono poche le persone (ammesso che ve ne siano) in grado di padroneggiare tutte le tecnologie e tutti i linguaggi di programmazione. Dal momento che Il .NET Framework puo' essere utilizzato per eseguire le attivita' appena elencate, si assistera' ad un vero e proprio collasso delle tecnologie attuali in una sola - il .NET Framework. Il .NET Framework consente agli sviluppatori di creare siti Web dinamici e scalabili, componenti in grado di sfruttare la memoria in modo efficiente e consentira' di realizzare velocemente applicazioni GUI. Poco dopo il suo rilascio il .NET Framework verra' utilizzato da Microsoft SQL Server per offrire un accesso a database ad elevate prestazioni. Col passare del tempo, applicazioni di produttivita' come Microsoft Word ed Excel utilizzeranno il .NET Framework per elaborare macro che automatizzino il proprio comportamento. Imparare oggi il .NET Framework dara' un enorme vantaggio in termini di conoscenza su come eseguire tutte queste attivita'. Qualcuno potra' davvero diventare un vero e proprio esperto in tutte queste tecnologie.
Il libro di Francesco rappresenta un eccezionale punto di partenza per la comprensione del .NET Framework. Questo libro copre tutti gli argomenti principali che ogni sviluppatore .NET dovrebbe conoscere. Per spiegare e dimostrare tali argomenti, Francesco ha scelto il popolare linguaggio Visual Basic .NET. I programmatori che possiedono gia' una certa familiarita' con Visual Basic troveranno in questo libro un valido aiuto per migrare il codice esistente, in quanto Francesco evidenzia con chiarezza i punti che hanno subito modifiche nel passaggio da Visual Basic 6 a Visual Basic .NET. Ma coloro che non conoscono ancora il linguaggio troveranno in questo libro un ottimo mezzo per imparare a conoscere il .NET Framework, in quanto i concetti esposti si applicano a tutti i linguaggi rivolta al .NET Framework.
Francesco presenta, inoltre, il materiale seguendo un approccio bottom-up - ossia parte dai concetti di base del linguaggio di programmazione e del Common Language Runtime (come le classi, i delegate, gli eventi, le garbage collection e la serializzazione). Una volta apprese le basi, spiega come tali concetti e tecnologie vengono applicate a soluzioni enterprise (come le Web Form ADO .NET ed ASP .NET e gli XML Web Service). Infine dopo aver letto questo libro, si trovera' in esso un'utile guida di riferimento alla quale sara' possibile tornare piu' e piu' volte per trovare risposte ai problemi che si incontrano durante lo sviluppo di applicazioni per il .NET Framework.
Non ho dubbi sul fatto che il libro di Francesco diventera' rapidamente una risorsa indispensabile per chiunque voglia sviluppare con il .NET Framework.
Jeffrey Richter
http://www.Wintellect.com
Gennaio 2002
Introduzione
La prima edizione di Programmare Visual Basic .NET e' stato uno dei libri piu' popolari sin dal rilascio avvenuto nell'Aprile 2002. Molti lettori lo hanno recensito su Amazon.com, citandolo come uno dei migliori testi su .NET che abbiano mai letto. Spesso e' l'unico testo su Visual nell'elenco dei best seller di Amazon per la categoria Computer e Internet. (Essere presenti in questo elenco per 18 mesi e' di per se' un risultato notevole, considerando che libri di questo tipo in genere diventano obsoleti in un paio di mesi).
Tutto cio' ci porta a una domanda: perche' scrivere una seconda edizione totalmente revisionata se i lettori sembrano cosi soddisfatti della versione originale? Dopo tutto avrei potuto rilasciare del nuovo materiale sul mio sito Web www.vb2themax:com, cosi come ho fatto per gli errata corrige e per altri aggiornamenti. Infatti, quando Microsoft ha rilasciato Visual Studio .NET 2003 e la versione 1.1 del .NET Framework nel Febbraio 2003, ho pensato ha una nuova edizione del libro non fosse necessaria e che sarebbe stato sufficiente rendere disponibili online alcune annotazioni. Come molti altri sviluppatori, ho inizialmente percepito la nuova versione come un semplice aggiornamento della precedente, per poi realizzare che molte applicazioni scritte per la versione 1.0 si comportano in modo differente (o non funzionano affatto) con la nuova versione.
La verita' e' che molte parti del .NET Framework sono state notevolmente modificate nella versione 1.1 - soprattutto ASP .NET e i Web Service - e sia Visual Studio .NET sia Visual Basic .NET stessi si sono evoluti rispetto alla release iniziale del 2002. Non tener conto delle nuove caratteristiche significa perdere un'opportunita' per rendere il codice piu' veloce e piu' affidabile, oltre a dover sprecare tempo ed energie a modificare il codice per eseguirlo con la versione 1.1 di .NET.
Questo tipo di problemi diventa piu' critico con il rilascio della versione di Windows Server 2003, che migliora Windows 2000 Server in aree come i Component Services, Internet Information Services e la sicurezza. Chi scrive applicazioni di livello enterprise, dovrebbe assolutamente trarre vantaggio delle migliorie in termini di robustezza, scalabilita' e sicurezza in Windows Server 2003.
Purtroppo, alcune delle informazioni fornite nella prima edizione del libro - specialmente nei capitoli su ASP .NET - sono obsolete e di poco utilizzabili con la nuova versione del sistema operativo. (Lo stesso dicasi per gran parte dei testi basati sulla versione 1.0 del .NET Framework). L'ultimo e decisivo fattore che mi convinto a scrivere un libro completamente nuovo e' stata l'opportunita' di trattare alcuni argomenti importanti che ho trascurato nella prima edizione - ossia, PInvoke, COM Interop. COM+, il remoting, la Code Access Security e le applicazioni Windows Forms su HTTP- e di illustrare le tecniche che ho appreso dopo la pubblicazione della prima edizione. Inoltre, una nuova edizione mi permette di migliorare i capitoli con nuove annotazioni ed esempi di codice piu' specifici.
Perche' questo libro e' cosi' vasto
In effetti, con il materiale contenuto in queste pagine avrei potuto scrivere due libri, forse anche tre - ad esempio, un libro su Visual Basic .NET, un altro sulle applicazioni Win32 e le applicazioni database, ed un terzo su Web Form, sui Web Service e altre applicazioni per Internet. Ho il sospetto che produrre piu' testi meno voluminosi si sarebbe rilevata una decisione piu' saggia, soprattutto dal punto di vista del ritorno economico. Ma perche', allora, non l'ho fatto?
A mio avviso, l'aspetto rivoluzionario dell'iniziativa .NET e' che consente gli sviluppatori di adottare un paradigma di programmazione unificato, indipendentemente dal linguaggio che utilizzano o dal tipo di applicazioni che realizzano. Tutti gli oggetti della libreria di classi di .NET sono strettamente correlati, e non e' possibile creare applicazioni eccezionali focalizzandosi soltanto su una piccola parte del .NET Framework ed ignorando il resto. Ad esempio, gli sviluppatori Win32 non dovrebbero considerare solo la parte relativa alle Windows Form ma anche il multithreading e GDI+. Coloro che utilizzano le Web Form dovrebbero conoscere i tipi di dato di .NET, le collezioni e le regular expression. I programmatori di XML Web service devono essere in grado di gestire la serializzazione ed i delegate asincroni, per scrivere applicazioni di qualsiasi tipo occorre padroneggiare l'ereditarieta' tra classi, le interfacce, il binding con gli assembly oltre ai dettagli di basso livello relativi alla gestione della memoria ed alla garbage collection per scrivere qualsiasi tipo di applicazione .NET. Per tutti questi motivi, ritengo che un unico volume possa descrivere tutte le numerose sfaccettature della programmazione .NET meglio di molti libri specifici sui vari argomenti, che inevitabilmente finirebbero con il sovrapporsi nelle parti che riguardano i principi di base. Inoltre, soltanto un libro di un unico autore e' in grado di garantire che non vi siano ne' ripetizioni ne' omissioni evidenti e fornire la piu' ampia rappresentazione di .NET.
Per inciso, chi gia' possiede la prima edizione di Programmare Visual Basic .NET avra' notato che questa edizione ha meno pagine della precedente e potrebbe quindi dedurre erroneamente che la nuova edizione non tratta gli argomenti con lo stesso approfondimento. Non e' cosi: il conteggio delle pagine e' diverso solo perche' l'editore ha deciso di utilizzare uno stile di layout differente per il testo. Il comando Conteggio parole di Microsoft Word non mente: entrambe le edizioni contengono circa 3 milioni di caratteri. Per fare spazio al nuovo materiale, ho spostato alcuni argomenti in file separati che sono stati inclusi nel CD allegato. Dove opportuno, verra' fatta menzione a questo materiale extra.
Il CD allegato e le versioni e-book
Molti lettori mi hanno chiesto perche' la prima edizione di Programmare Visual Basic .NET non era disponibile in formato elettronico sul CD allegato, a differenza del predecessore Programmare Visual Basic 6. Ho chiarito che ho dovuto prendere questa decisione dopo aver realizzato che la versione e-book del testo su Visual Basic 6 era liberamente scaricabile su diversi siti Web. Va da se' che questa discutibile pratica ha avuto un costo notevole in termini di mancata vendita. L'unica linea di difesa possibile era di non offrire Programmare Visual Basic .NET in formato e-book. D'altra parte, capisco che molti lettori gradirebbero disporre di una versione elettronica dei libri che acquistano per effettuare ricerche. Cio' e' particolarmente vero per testi voluminosi come questo e per testi di riferimento concepiti per supportare gli sviluppatori nell'attivita' quotidiana. Per questi motivi - ma specialmente perche' non voglio ostacolare tutti i lettori solo perche' un numero esiguo di essi si comporta in modo poco etico - ho deciso di includere una versione e-book di questa edizione di Programmare Visual Basic .NET - versione 2003 nel CD allegato, incrociando le dita e sperando bene. Non posso proteggere il materiale sul CD contro la copia illegale, e non lo farei neanche se fosse possibile, poiche' non mi piace considerare i lettori come se fossero dei potenziali addetti a pratiche scorrette. Posso solo chiedervi di pensarci due volte prima di condividere i contenuti del CD con altre persone. Come vi sentireste dopo aver lavorato per mesi a una applicazione solo per constatare che poi e' liberamente scaricabile da Internet?
In sintesi, nel CD allegato sono disponibili i seguenti contenuti:
- Programmare Visual Basic .NET - versione 2003 (questo libro) in formato e-book con possibilita' di effettuare ricerche
- Programmare Visual Basic 6 in formato e-book con possibilita' di effettuare ricerche
- Ulteriori documenti su Visual Basic .NET e il .NET Framework (oltre 200 pagine)
- Tutti gli esempi di codice, organizzati per capitolo di appartenenza
Gli esempi di codice sono eseguibili su qualsiasi computer in grado di eseguire Microsoft Visual Studio .NET 2003.Per poter sviluppare e' necessario un sistema basato su un Pentium III o superiore su cui e' installato Windows 2000, Windows XP o Windows Server 2003.(Windows NET puo' andar bene per progetti Windows Forms, ma non per sviluppare applicazioni ASP.NET) Prima di installare Visual Studio .NET e il .NET Framework, e' necessario che sia installato Internet Information Services (IIS) per poter sviluppare soluzioni ASP .NET. Sono necessari circa 2.5 Gigabyte di disco libero per installare Visual Studio .NET (dei quali circa 500 MB liberi sul disco di sistema) e 348 MB di RAM (anche se sono necessari almeno 512 MB per lavorare su progetti reali).
Chi dovrebbe leggere questo libro?
E' bene chiarire un altro punto. Questo libro non e' rivolto agli sviluppatori alle prime armi che desiderano imparare a conoscere Visual Basic .NET. Piuttosto, e' per gli sviluppatori Visual Basic esperti che vogliono sfruttare il potenziale della nuova piattaforma .NET. Questo libro non e' nemmeno per coloro che non si sentono a proprio agio con Visual Basic e le relative form, che non sanno come lavorare con classi ed oggetti o che non hanno mai utilizzato ADO per sviluppare un'applicazione database. Non vi sono istruzioni passo-passo riguardanti la creazione di un progetto e nemmeno lezioni introduttive sul significato di variabile, classe o connessione a database.
Visual Basic .NET e' un linguaggio nuovo, ma fortunatamente e' possibile sfruttare il bagaglio di conoscenze dei suoi predecessori. Ad esempio ADO .NET rappresenta un'evoluzione di ADO e pertanto occorre sapere cosa sia una stringa di connessione e come costruirla. Anche se i controlli delle Windows Form sono piu' potenti delle controparti Visual Basic 6, molto delle tecniche sviluppate nel corso degli ultimi anni sono ancora utili. Per coloro che necessitano di un ripasso, ho incluso la versione elettronica di "Programmare Microsoft Visual Basic 6" nel CD allegato. Ad esempio si puo' dare un occhiata ai capitoli sui concetti relativi alla programmazione orientata all'oggetto (Capitolo 6 e 7), al linguaggio SQL (capitolo 8), al modello ad oggetti di ADO (capitolo13), alle applicazioni IIS (capitolo 20). Il libro contenuto nel CD e' predisposto per le ricerche elettroniche e pertanto sara' possibile individuare quanto si desidera nel giro di pochi secondi anche in considerazione del fatto che ho fornito riferimenti ad argomenti specifici tutte le volte che cio' puo' risultare utile.
Dal momento che Programmare Visual Basic .NET - versione 2003 e' rivolto a sviluppatori esperti, contiene poche applicazioni complete pronte all'uso. Piuttosto mi sono concentrato su brevi esempi di codice che illustrino il funzionamento delle specifiche funzionalita' di .NET. La maggior parte dei listati di questo libro occupano una pagina o meno ed includono solo le parti piu' rilevanti degli esempi completi contenuti sul CD in allegato. Ad esempio, non ho sprecato spazio prezioso includendo i listati completi degli esempi correlati che differiscono soltanto in quale istruzione o includono una gran quantita' di istruzioni che un designer di Visual Studio crea quando si trascina un controllo su un form Windows. Abbreviare i listati significa migliorare la leggibilita', ed ho potuto utilizzare lo spazio risparmiato in modo piu' interessante.
Un approccio Bottom-Up al .NET Framework
Sebbene la maggior parte della mia attivita' sia dedicata a consulenze ed allo sviluppatore di applicazioni, dedico parecchio tempo anche alla formazione in seminari pubblici e workshop on site. Ho tenuto il mio corso di cinque giorni sulla programmazione .NET sia negli Stati Uniti sia in Europa, ed ho tenuto sessioni e workshop di una giornata presso conferenze come VBITS e WinSummit nel corso dell'ultimo anno.
Il fatto di insegnare Visual Basic .NET durante la stesura della prima edizione di questo libro e' stata un'esperienza davvero utile ed illuminante, in quanto ho potuto rifinire la struttura ed il contenuto effettivo di questo libro in base ai riscontri di partecipanti e studenti. Ad esempio, ho modificato la sequenza di alcuni capitoli quando ho realizzato che cosi facendo avrei reso meglio comprensibili argomenti successivi. Questo libro segue un approccio bottom-up che parte da un'introduzione
sull'iniziativa di Microsoft .NET e i principali fondamentali del linguaggio (parte I), prosegue quindi, attraverso l'ereditarieta' e nuove funzionalita' come delegate ed attributi (parte II), e continua con una descrizione approfondita sulle classi di base del .NET Framework (parte III). A questo punto, i lettori avranno acquisito tutti mezzi necessari per comprendere quanto verra' descritto in seguito, come ad esempio le Windows Form e GDI+(Parte IV), la programmazione per database con ADO .NET ed XML (parte V), e le applicazioni ASP .NET (parte VI). L'ultimo gruppo di capitoli (Parte VII)e stata appositamente scritta per la seconda edizione e tratta argomenti avanzati: PInvoke, COM Interop, COM+, remoting, sicurezza e funzionalita' inerenti Internet).
Il mio consiglio e' di leggere questo libro senza saltare disordinatamente di capitolo in capitolo, in quanto ogni capitolo si basa su quanto e' stato detto nel precedente. Il fattore continuita' e' particolarmente importante nelle Parti I, II e III. Acquisti familiarita' con i principi fondamentali di .NET, e' possibile decidere di concentrarsi maggiormente sulle applicazioni Win32, o sulle applicazioni per database oppure su quelle per Internet a seconda delle priorita'. Si puo' affrontare la Parte VII solo disponendo di una solida conoscenza degli argomenti trattati nelle parti precedenti. Come per la prima edizione del libro, pubblichero' correzioni e nuovi contenuti sul sito Web della mia azienda Code Architects, www.codearchitects.com, dove sono disponibili degli utili tool di programmazione per sviluppatori Visual Basic .NET.
Anche Microsoft Press fornisce correzioni e ulteriori contenuti per i suoi libri attraverso il World Wide Web all'indirizzo
http://www/microsoft.com/mspress/support/
L'obiettivo di Visual Basic .NET - versione 2003 e' stato di scrivere un libro che spiegasse come realizzare applicazioni reali robuste e facilmente mantenibili con Visual Basic .NET e Visual Studio .NET. Volevo illustrare quelle che considero le migliori tecniche di programmazione nell'ambiente .NET, come pure fornire un riferimento alle classi piu' importanti del .NET Framework, una collezione di suggerimenti per applicazioni scalabili e ad elevate prestazioni e molti esempi di codice riutilizzabili all'interno dei programmi.
La prima edizione del libro ha richiesto oltre un anno di stesura - in gran parte trascorso a combattere con le versioni beta che si rifiutavano di operare come documentato - ed ho trascorso tre e ulteriori mesi su questa seconda edizione. Mi e' costata una fortuna in termini di caffe' espresso e ho anche annullato un paio di vacanze estive, ma sono molto orgoglioso del risultato. Programmare Microsoft Visual Basic .NET 2003 e' il libro che volevo scrivere, e spero sia di aiuto nel diventare uno sviluppatore esperto in Visual Basic .NET in una frazione del tempo che ha richiesto la stesura del libro e, soprattutto, senza emicranie e fiumi di caffeina.
Francesco Balena
fbalena@vb2themax.com
|