Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Guida al Visual Basic .NET - Panoramica sul Framework NET

Guida al Visual Basic .NET

Capitolo 3° - Panoramica sul Framework NET

<< Precedente Prossimo >>
Come ho spiegato nel precedente capitolo, il concetto più importante della programmazione ad oggetti è la classe. Quindi, per scrivere i nostri programmi, utilizzeremo sempre, bene o male, queste entità. Ma non è possibile pensare che si debba scrivere tutto da zero: per i programmatori .NET, esiste un vastissimo inventario di classi già pronte, raggruppate sotto una trentina di namespace fondamentali. L'insieme di tutti questi strumenti di programmazione è il Framework .NET, l'ossatura principale su cui si reggono tutti i linguaggi basati sulla tecnologia .NET (di cui Vb.NET è solo un esponente, accanto al più usato C# e agli altri meno noti, come J#, F#, Delphi per .NET, eccetera...). Sarebbe tuttavia riduttivo descrivere tale piattaforma come un semplice agglomerato di librerie (vedi oltre), quando essa contempla meccanismi assai più complessi, che sovrintendono alla generale esecuzione di tutte le applicazioni .NET. L'intera struttura del Framework si presente come stratificata in diversi livelli:


1. Sistema operativo

Il Framework .NET presenta una struttura stratificata, alla base della quale risiede il sistema operativo, Windows. Più precisamente, si considera il sistema operativo e l'API (Application Programming Interface) di Windows, che espone tutti i metodi resi disponibili al programmatore per svolgere un dato compito.


2. Common Language Runtime

Un gradino più in su c'è il Common Language Runtime (CLR), responsabile dei servizi basilari del Framework, quali la gestione della memoria e la sua liberazione tramite il meccanismo di Garbage Collection (vedi capitolo relativo), la gestione strutturata delle eccezioni (errori) e il multithreading. Nessuna applicazione interagisce mai direttamente con il CLR, ma tutte sono allo stesso modo controllate da esso, come se fosse il loro supervisore. Proprio per questo si definisce il codice .NET Managed o Safe ("Gestito" o "Sicuro"), poichè questo strato del Framework garantisce che non vengano mai eseguite istruzioni dannose che possano mandare in crash il programma o il sistema operativo stesso. Al contrario, il codice Unmanaged o Unsafe può eseguire operazioni rischiose per il computer: sorgenti prodotti in Vb6 o C++ possono produrre tale tipo di codice.


3. Base Class Library

Lo strato successivo è denominato Base Class Library (BCL): questa parte contiene tutti i tipi e le classi disponibili nel Framework (il che corrisponde in numero a diverse migliaia di elementi), raggruppati in una trentina di file principali (assembly). In questi ultimi è compresa la definizione della classe System.Object, dalla quale deriva pressochè ogni altra classe. I dati contenuti nella BCL permettono di svolgere ogni operazione possibile sulla macchina.


4. XML

Successivamente troviamo i dati, le risorse. Per salvare i dati viene usato quasi sempre il formato XML (eXtensible Markup Language), che utilizza dei tag spesso nidificati per contenere i campi necessari. La struttura di questo tipo di file, inolre, è adatta alla rappresentazione gerarchica, un metodo che nell'ambiente .net è importantissimo. I file di configurazione e quelli delle opzioni impostate dell'utente, ad esempio, vengono salvati in formato XML. Anche la nuova tecnologia denominata Windows Presentation Foundation (WPF), introdotta nella versione 3.5 del Framework, che permette di creare controlli dalla grafica accattivante e stravagante, si basa su un linguaggio di contrassegno (di markup) surrogato dell'XML.


5. Windows Forms e ASP.NET

Al livello superiore troviamo ASP.NET e Windows Forms, ossia le interfacce grafiche che ricoprono il codice dell'applicazione vera e propria. La prima è una tecnologia pensata per lo sviluppo sul Web, mentre la seconda fornisce sostanzialmente la possibilità di creare una interfaccia grafica (Graphical User Interface, GUI) in tutto e per tutto uguale a quella classica, a finestre, dei sistemi operativi Windows. La costruzione di una Windows Form (ossia una singola finestra) è semplice e avviene come nel Vb classico, e chi sta leggendo questa guida per passare dal VB6 al VB.NET lo saprà bene: si prendono uno o più controlli e li si trascinano sulla superficie della finestra, dopodichè si scrive il codice associato ad ognuno dei loro eventi.


6. Common Language Specifications

Il penultimo stadio della stratificazione del Framework coincide con le Common Language Specifications (CLS), ossia un insieme di specifiche che definiscono i requisiti minimi richiesti a un linguaggio di programmazione per essere qualificato come .NET. Un esempio di tali direttive: il linguaggio deve sapere gestire tipi base come stringhe e numeri interi, vettori e collezioni a base zero e deve saper processare un'eccezione scatenata dal Framework.


7. Linguaggi .NET

In cima alla struttura ci sono tutti i linguaggi .net: Vb, C#, J#, eccetera.


Versioni del Framework

Con il passare degli anni, a partire dal 2002, Microsoft ha rilasciato versioni successive del Framework .NET e ognuna di queste release ha introdotto nuovi concetti di programmazione e nuove possibilità per lo sviluppatore. Parallelamente all'uscita di queste nuove versioni, sono state create anche edizioni successive del linguaggio Vb.NET, ognuna delle quali è stata naturalmente accostata alla versione del Framework su cui si reggeva. Ecco una rapida panoramica dell'evoluzione del linguaggio:
  • VB2002: si basa sulla versione 1.0 del Framework
  • VB2003: si basa sulla versione 1.1 del Framework
  • VB2005: si basa sulla versione 2.0 del Framework. Questa è la versione maggiormente utilizzata in questa guida, sebbene certi capitoli si concentreranno sull'introduzione di alcuni nuovi aspetti portati da VB2008
  • VB2008: si basa sulla versione 3.5 del Framework. La versione 3.0 si fondava ancora sulla 2.0 del CLR e perciò le modifiche consistevano sostanzialmente nell'aggiunta di alcuni componenti e nell'apporto di diverse migliorie e correzioni



<< Precedente Prossimo >>
A proposito dell'autore

C#, TypeScript, java, php, EcmaScript (JavaScript), Spring, Hibernate, React, SASS/LESS, jade, python, scikit, node.js, redux, postgres, keras, kubernetes, docker, hexo, etc...