Ultimo nato nella grande famiglia di tool di sviluppo rilasciati dalla Microsoft Corporation, Visual Studio.Net si presenta come lo strumento di punta, in fatto di programmazione.
Visual Studio .Net è un insieme completo di strumenti di sviluppo per la creazione di applicazioni Web ASP, servizi Web XML, applicazioni desktop e applicazioni per portatili. Visual Basic .Net, Visual C++ .Net e Visual C# .Net utilizzano tutti lo stesso ambiente di sviluppo integrato (IDE) che consente la condivisione di strumenti e risorse per la creazione di soluzioni con linguaggio misto. Questi linguaggi sfruttano inoltre le funzionalità di .Net Framework, che fornisce accesso a tecnologie chiave in grado di semplificare la sviluppo di applicazioni Web ASP e servizi Web XML.
Giunto già alla seconda release, VS.Net (così chiameremo d’ora in avanti Visual Studio.Net) è l’erede naturale di Visual Studio 6, ma nell’analisi che affronteremo nelle prossime lezioni, scopriremo assieme che al di là del nome e di eredità inevitabili, collegate ai linguaggi di programmazione che supporta, ha molto di diverso. Sviluppato per realizzare svariate tipologie di applicativi, permette di far comunicare i vostri software con il nuovo .Net FrameWork realizzato da Microsoft.
Nel corso delle prossime lezioni, come detto, cercheremo di addentrarci meglio nelle molte potenzialità offerte da questo nuovo tool di sviluppo. Per il momento limitiamoci a conoscere l’IDE di sviluppo offertoci da VS.Net.
Non appena avvierete VS.Net, vi sarà richiesto di scegliere un PROFILO che vi si addice. Vale a dire Esperto, sviluppatore, apprendista e voci di questo genere, che altro non serviranno all’ambiente di sviluppo per settare in maniera il più adatta possibile, gli aiuti e l’l’impostazione degli strumenti messici a disposizione.
Fatto questo, sarete pronti per partire. Per prima cosa dovremo scegliere la tipologia di progetto da realizzare. Come fondamentali possiamo sottolineare le "Applicazione Windows" e "Applicazione Web Asp.Net".
La scelta del tipo di progetto viene effettuata dal menù File/Nuovo/Progetto….
La finestra che VS.Net proporrà, sarà identica a quella che segue:
Come potete osservare, abbiamo evidenziato le due opzioni sopra menzionate. In Rosso è indicata la tipologia di progetto che porterà alla realizzazione di un applicativo destinato a girare sotto sistemi operativi Windows, in Blu un progetto per la creazione di applicativi web, sviluppati con la nuova tecnologia Microsoft Asp.Net.
Tra le opzioni preformattate offerte, ce ne sono davvero molte, ed avremo modo di approfondirne le più importanti, nelle successive lezioni.
Una volta scelta la tipologia di progetto da realizzare, VS.Net ci proporrà una schermata simile a questa. Ho usato il termine simile, in quanto, come già gli utenti di Visual studio 5.0 6.0 sapranno, l’IDE grafico è del tutto personalizzabile.
Ho evidenziato con tre colori le tre aree fondamentali durante il processo di sviluppo.
In rosso troviamo il "Code inspector", cioè l’area del tool dedicata alla gestione del codice. Notevolmente migliorata nella versione 1.0 di VS.Net è già stata ritoccata nella revision 2.0, con l’aggiunta di una performante struttura ad albero ed una più potente funzionalità di indentazione. Ogni funzione, metodo o proprietà potrà così essere racchiusa in un ramo espandibile in maniera isolata, così da poter avere una visione d’insieme delle funzioni e procedure gestite dall’applicazione e dalle singole classi.
In azzurro, in alto a destra troviamo "Esplora soluzione", uno strumento fondamentale che ci permette di tenere sempre sotto controllo l’architettura della nostra applicazione, i riferimenti a librerie esterne e ad eventuali "namespace" presenti nel nostro progetto o in quelli esterni.
In giallo abbiamo il classico "Gestore delle proprietà", grazie al quale potremo – in maniera visuale – editare le proprietà fondamentali di ogni elemento e membro del framework .Net.
Visual Studio.Net 2003 (che segue direttamente la prima versione rilasciata) offre una prima evidente novità, rispetto alla versione 1.0: è stata inclusa, infatti, una versione avanzata di Windows .Net Framework, che di fatto ha corretto decine di bug presenti nella prima versione ufficiale. Windows .Net Framework versione 1.1 è dotato di nuove funzioni e include miglioramenti sia del software sia della documentazione (caratteristica molto importante in fase di sviluppo).
Grazie al supporto integrato per .Net Compact Framework, Visual Studio .Net 2003 inserisce nell’ambiente .Net i dispositivi portatili e incorporati come Pocket PC, così come altri dispositivi dotati del sistema operativo Microsoft Windows CE .Net. Gli sviluppatori possono ora utilizzare lo stesso modello di programmazione, gli stessi strumenti di sviluppo e le stesse conoscenze per creare applicazioni che spaziano dai più piccoli dispositivi ai più grandi centri dati.
Visual Studio .Net è l’unico ambiente di sviluppo realizzato ex novo per consentire l’integrazione con i Web service. Attraverso la condivisione dei dati via Internet tra le applicazioni, i Web service consentono agli sviluppatori di comporre le applicazioni con codice nuovo ed esistente, indipendentemente dalla piattaforma, dal linguaggio di programmazione o dal modello di oggetti.
Prima di iniziare la parte operativa e di fare definitivamente conoscenza con l’ambiente di sviluppo ritengo giusto presentare il frameWork che risiede alle fondamenta di questo nuovo architettura. Nella pagina seguente di questa lezione introduttiva, cercherò di presentarlo nella maniera più semplice possibile, introducendovi alle terminologie introdotte da .Net.
Il .Net Framework
.Net Framework è un ambiente multilinguaggio per la creazione, la distribuzione e l’esecuzione di servizi Web XML e di altre applicazioni. È costituito da tre parti principali:
– Common Language Runtime Nonostante il nome, il runtime in realtà agisce sia nella fase di esecuzione che nella fase di sviluppo di un componente. Durante l’esecuzione del componente, il runtime è responsabile della gestione dell’allocazione di memoria, dell’avvio e interruzione di thread e processi e dell’implementazione della politica di protezione, nonché del rispetto di tutte le eventuali dipendenze tra il componente e gli altri. In fase di sviluppo, il ruolo del runtime varia leggermente; dato l’elevato numero di automatismi che implementa (ad esempio la gestione della memoria), semplifica notevolmente il compito dello sviluppatore, soprattutto se paragonato al modello COM ancora in uso. In particolare, vi sono alcune caratteristiche, come la reflection, che riducono drasticamente la quantità di codice che lo sviluppatore deve scrivere per trasformare la logica business in un componente riutilizzabile.
– Classi di programmazione unificate Il framework offre agli sviluppatori un insieme unificato di librerie di classi (API) estensibile, gerarchico e orientato ad oggetti. Attualmente, gli sviluppatori C++ utilizzano le classi MFC (Microsoft Foundation Classes) e gli sviluppatori Java utilizzando le classi WFC (Windows Foundation Classes). Il framework unisce questi modelli e consente l’accesso alle librerie di classi anche ai programmatori in Visual Basic e JScript. Creando un insieme di API comune a tutti i linguaggi di programmazione, il Common Language Runtime assicura l’ereditarietà, la gestione degli errori e il debug multilinguaggio. Tutti i linguaggi di programmazione, da JScript a C++, hanno accesso analogo al framework, lasciando agli sviluppatori la facoltà di utilizzare il linguaggio che preferiscono.
– ASP.Net ASP.Net si basa sulle classi di programmazione di .Net Framework e fornisce un modello di applicazione Web con un insieme di controlli e un’infrastruttura che semplificano la creazione di applicazioni Web ASP. Contiene inoltre un insieme di controlli che integrano elementi comuni dell’interfaccia utente HTML, quali caselle di testo e menu a discesa. Tali controlli, tuttavia, vengono eseguiti sul server Web ed eseguono il push della propria interfaccia come HTML sul browser. Sul server, i controlli espongono un modello di programmazione orientato ad oggetti che consente agli sviluppatori Web di sfruttare tutte le potenzialità della programmazione orientata ad oggetti. ASP.Net fornisce anche servizi di infrastruttura, quali la gestione dello stato delle sessioni e il riciclo di processi, che riducono ulteriormente la quantità di codice che lo sviluppatore deve scrivere, aumentando nel contempo l’affidabilità dell’applicazione. ASP.Net utilizza questi stessi concetti per consentire agli sviluppatori di distribuire software come servizio. Avvalendosi delle funzionalità dei servizi Web XML, gli sviluppatori ASP.Net possono scrivere la logica business e utilizzare l’infrastruttura ASP.Net, senza alcun limite a maggiori astrazioni che vorranno implementare.
A partire dalla prossima lezione cercheremo di approfondire gli aspetti più interessanti ed ostici di questo nuovo ambiente di sviluppo, addentrandoci nella trattazione di aspetti fondamentali per la gestione delle risorse, come memoria fisica e leggibilità del codice.
– Gian Mario Infelici è direttore responsabile di Musicplace.it nonché web developer su piattaforma Microsoft.