Guida al Visual Basic .NET
Capitolo 3° - Panoramica sul Framework NET
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 operativoIl 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 RuntimeUn 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 LibraryLo 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. XMLSuccessivamente 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.NETAl 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 SpecificationsIl 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 .NETIn cima alla struttura ci sono tutti i linguaggi .net: Vb, C#, J#, eccetera.Versioni del FrameworkCon 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:
C#, TypeScript, java, php, EcmaScript (JavaScript), Spring, Hibernate, React, SASS/LESS, jade, python, scikit, node.js, redux, postgres, keras, kubernetes, docker, hexo, etc...
|