Introduzione a .NET
.NET (”dotnet”) è un insieme di specifiche che definiscono una piattaforma di sviluppo del software in grado di raggiungere obiettivi molto ambiziosi quali:
- supporto verso un elevato numero di linguaggi di programmazione
- programmazione fortemente orientata agli oggetti
- alta predisposizione verso l’utilizzo di formati aperti per interscambio dati (XML, SOAP, …)
- sostanziale indipendenza dalla particolare piattaforma hardware utilizzata (computer, telefonini, palmari, portatili,..)
- predisposizione “nativa” verso l’elaborazione distribuita delle informazioni
- gestione della sicurezza
L’ambiente di esecuzione: Redistributable Package
All’interno di .NET esiste un ambiente di esecuzione chiamato Common Language Runtime che, in modo analogo a alla Java Virtual Machine di Java, consente l’esecuzione del codice compilato. L’analogia con la JVM non finisce qui: i programmi compilati sono una sorta di “semilavorato” chiamato IL (Intermediate Language) che, dato in pasto alla CLR specifica di una piattaforma hardware e del particolare sistema operativo utilizzato (Windows, MacOs, Linux) viene interpretato ed eseguito.
Il CLR svolge anche la funzione di controllare la sicurezza delle applicazioni che girano vietando le operazioni potenzialmente “dannose”.
Il CLR e tutto quanto è necessario per far girare applicazioni .NET su Windows (ad esempio tutte le DLL), è distribuito gratuitamente dalla Microsoft con il nome di .NET Redistributable Package.
L’ambiente di sviluppo: FrameWork SDK
Come faccio a sviluppare scrivere i miei software e a compilare i miei sorgenti?
Devi scaricare il pacchetto di sviluppo chiamato FrameWork SDK, attualmente giunto alla versione 3.0, che contiene tutti gli strumenti per lo sviluppo e la compilazione di programmi .NET ivi inclusa una completissima documentazione delle classi.
Come posso scrivere i miei programmi? anche con un banale editor testuale.
Se vuoi qualcosa di più evoluto puoi scaricare il completissimo SharpDevelop www.icsharpcode.net oppure le soluzioni commerciali proposte da Microsoft.
Indipendenza dal linguaggio di programmazione
Siete esperti di Visual Basic oppure di Java oppure di C++? Perchè perdere tempo ad imparare un’altro linguaggio per utilizzare le nuove potenti caratteristiche di .NET?
Nessun problema! con .NET è possibile utilizzare uno dei linguaggi di programmazione che aderiscono allo standard, in modo indipendente e intercambiabile.
Le specifiche che consentono questo prodigio sono il cosiddetto “Common Language Infrastructure”. Tutti i linguaggi di .NET (C#, VB.NET, C++.NET, J# ed altri) utilizzano tipi di dati comuni e specifiche comuni e consentono a sottosistemi differenti scritti in linguaggi diversi, di interagire tra di loro in modo sostanzialmente trasparente.
Parte della CLI è la cosiddetta “Base Class Library”: l’insieme delle classi di base si cui possono “contare” tutti i linguaggi che aderiscono allo standard. Questo vuol dire che qualsiasi linguaggio di programmazione di .NET utilizzerà le medesime classi nello stesso modo senza variazioni.
ADO.NET: interazione con i database
Una delle funzioni più utilizzate nelle applicazioni è la possibilità di interazione con i sistemi database (SqlServer, Oracle, Access, MySQL etc.).
ADO.NET è il sottosistema di .NET per l’interazione con i database.
Il linguaggio “standard” utilizzato per l’interazione con i sistemi database è l’SQL (Structured Query Language) sviluppato originariamente dall’IBM nel 1976 ed evolutosi nel tempo.
Una importante possibilità messa a disposizione da ADO.NET è quella di utilizzare sia la modalità “connessa” che “non connessa” ovvero quella nella quale si opera su una “copia” di un database sostanzialmente in RAM per poi sincronizzare con il database reale in modo differito. Questa modalità è utile quando di ha a che fare con dispositivi implicitamente non connessi come ad esempio portatili e palmari.
Application Forms : interfacce di tipo desktop
Consente di realizzare interfacce a finestre arbitrariamente complesse.
ASP.NET : applicazioni Web
Consente di realizzare interfacce web in modo abbastanza simile alla creazione delle interfacce di tipo “Desktop”.
Utilizza la tecnica del posizionamento assoluto dei componenti per consentire il disegno delle interfacce mediante drag&drop.
Consente di reagire alle “azioni” utilizzando gestori di evento in modo simile alle interfacce “Desktop”.
Il mio primo programma .NET
Supponiamo in questa fase che abbiate installato Redistributable Package e FrameWork SDK e che abbiate aggiunto alla path di sistema la directory che contiene il comando csc.exe (trovatelo nel vostro filesystem utilizzando “cerca”).
csc è il compilatore per i programmi scritti in C# (vbc è il compilatore per i programmi scritti in VisualBasic etc.).
Editate, con qualsiasi editor, il file ciaomondo.cs
/*
* programma CiaoMondo
*/
using System;
public class CiaoMondo
{
public static void Main()
{
System.Console.WriteLine("Ciao mondo");
}
}
Come faccio per renderlo eseguibile? semplice: csc ciaomondo.cs
Il compilatore creerà il file ciaomondo.exe (MIL) che potrà essere eseguito senza problemi.
