.NET Framework
Sviluppato da | Microsoft |
---|---|
Prima versione | 13 febbraio 2002 |
Ultima versione | 4.8 (18 aprile 2019) |
Sistema operativo | Microsoft Windows |
Ambiente | finestre |
genere | Infrastruttura di sviluppo |
Politica di distribuzione | incorporato in Windows e download gratuito |
Licenza | EULA proprietario , software ridistribuibile gratuitamente con .Net Core in open source |
Sito web | www.microsoft.com/net |
Il .NET Framework ( Rep. Netfx ) è un framework ( framework ) che può essere utilizzato da sistema operativo Microsoft Windows e Microsoft Windows Mobile dalla versione 5 ( .NET Compact Framework ). Una versione leggera e limitata fornita con un runtime in esecuzione all'interno di un browser o dispositivo mobile è disponibile come Silverlight . La versione 3.0 del framework è integrata in Windows Vista e nella maggior parte delle versioni di Windows Server 2008 o può essere scaricata dal sito dell'editore, Microsoft . La versione 4.5.1 del framework è integrata in Windows 8 . La versione 4.6 è integrata in Windows 10 .
L'infrastruttura di sviluppo del framework .NET si basa sullo standard CLI ( Common Language Infrastructure ), indipendente dal linguaggio di programmazione utilizzato. In questo modo tutti i linguaggi compatibili che rispettano lo standard CLI hanno accesso a tutte le librerie installate (installabili) nell'ambiente di runtime. Il framework .NET è un sottoinsieme della tecnologia Microsoft .NET .
Mira a semplificare le cose per gli sviluppatori offrendo un approccio unificato alla progettazione di applicazioni Windows o Web, introducendo nel contempo funzionalità per lo sviluppo, la distribuzione e la manutenzione delle applicazioni. Deve essere installato sulla macchina dell'utente finale, rendendo le applicazioni create in questo ambiente inadatte all'uso portatile.
.NET Framework fa parte della piattaforma software Microsoft .NET , che permette anche di gestire tutti gli aspetti dell'esecuzione di un'applicazione in un ambiente di esecuzione cosiddetto "gestito":
Si compone di due blocchi principali: una libreria software .NET e una macchina virtuale compatibile con Common Language Infrastructure (CLI), sotto i nomi di Common Language Runtime (CLR) e Dynamic Language Runtime (DLR). CLR è il componente della macchina virtuale per il framework .NET . Questa è l'implementazione di Microsoft dello standard CLI ( Common Language Infrastructure ) che definisce l'ambiente per l'esecuzione dei codici di programma. Il CLR esegue un bytecode chiamato CIL ( Common Intermediate Language ). Il compilatore al volo trasforma il codice CIL in codice nativo specifico per il sistema operativo .
Ci sono tre livelli sopra il Common Language Runtime (CLR), ciascuno con classi che forniscono funzionalità sempre più avanzate.
Nel primo livello si trova la Base Class Library (BCL), che riunisce classi che consentono la manipolazione di stringhe di testo, la gestione di input / output, comunicazioni di rete, processi leggeri e la progettazione di interfacce grafiche . Queste classi sono simili a quelle presenti nell'API Java sviluppata da Sun Microsystems . La gestione delle stringhe, ad esempio, è disponibile nella classe String , in entrambe le lingue; con la differenza che in Java non esiste un tipo base per manipolare le stringhe (manipoliamo gli oggetti String), mentre in .NET, il tipo string (con una "s" minuscola) è stato specificamente definito.
Il secondo livello è costituito da due librerie di classi di accesso ai dati. Innanzitutto, ADO.NET, che si basa sulle fondamenta del vecchio ADO ( ActiveX Data Objects ) utilizzato dagli sviluppatori ASP e consente l'accesso in formato XML alle interfacce di database SQL Server e ODBC , OLE DB , Oracle e Sybase e, naturalmente, ai file XML . Le classi XML per la manipolazione dei dati XML. Ad esempio, esistono classi XSLT che consentono la trasformazione di un documento XML in qualsiasi tipo di altro documento. Un altro esempio, è molto facile caricare un documento XML in una tabella e viceversa , grazie all'XML sottostante.
L'ultimo e il livello più alto viene utilizzato per la creazione di servizi Web , pagine Web e applicazioni Windows. I primi due formano ASP.NET , ancora una volta un riferimento al vecchio linguaggio di programmazione web. Le pagine Web con estensione .aspx sono generalmente pagine Web scritte in .NET, mentre le pagine scritte in ASP terminano generalmente con .asp .
L'unità di base di un'applicazione .NET è chiamata assembly ( assembly ). È una raccolta di codice, risorse e metadati . Un assembly è sempre accompagnato da un manifesto dell'assembly che descrive cosa contiene: nome, versione, tipi di dati esposti, altri assembly utilizzati, istruzioni di sicurezza. Un assembly è costituito da uno o più moduli che contengono il codice.
Proprio come in Java, quando un'applicazione .NET viene compilata, non viene compilata in codice binario macchina, ma in codice binario CIL intermedio. Un'applicazione è quindi costituita da un insieme di assembly contenuti in uno o più file eseguibili o file DLL in Common Intermediate Language (CIL). Almeno uno di questi assembly deve contenere un punto di ingresso per avviare l'applicazione.
Quando si avvia l'esecuzione di un programma, il primo assembly viene caricato in memoria. Il CLR inizia esaminando le autorizzazioni richieste dall'assembly e confronta il sistema dei criteri di sicurezza ( criteri di sicurezza ). Quindi, se è consentita l'esecuzione dell'assembly, viene creato un processo per eseguire l'applicazione. La prima parte di codice necessaria per l'esecuzione viene caricata in memoria e compilata in codice binario nativo dal compilatore just in time ( Just-In-Time , JIT). Una volta compilato, il codice viene eseguito e archiviato in memoria come codice nativo, assicurando che ogni parte di codice venga compilata solo una volta quando l'applicazione viene eseguita.
Microsoft ha iniziato lo sviluppo di .NET Framework alla fine degli anni '90 come Next Generation Windows Services (NGWS). La prima versione beta del framework (.Net 1.0) è disponibile alla fine del 2000 .
Versione | CLR | Uscita | Viene fornito con Visual Studio |
Preinstallato con Windows | Include | ||
---|---|---|---|---|---|---|---|
Cliente | Cameriere | ||||||
1.0 | 1.0 | 13 febbraio 2002 | .NET 2002 | NC | NC | NC | |
1.1 | 1.1 | 24 aprile 2003 | .NET 2003 | NC | 2003 | ||
2.0 | 2.0 | 7 novembre 2005 | 2005 | NC | 2003 R2 | ||
3.0 | 6 novembre 2006 | NC | Vista | NC | 2.0 | ||
3.5 | 3.5 | 19 novembre 2007 | 2008 | NC | NC | 3.0 SP1 ( 2.0 SP1 ) | |
3.5.1 | 4 febbraio 2008 | NC | NC | 2008 | |||
3.5 SP1 | 11 agosto 2008 | 2008 SP1 | NC | NC | 3.0 SP2 ( 2.0 SP2 ) | ||
3.5.1 SP1 | 22 luglio 2009 | NC | 7 | 2008 R2 | |||
4 | 4.0 | 4.0 | 12 aprile 2010 | 2010 | NC | NC | NC (aggiornamento in loco) |
4.5 | 15 agosto 2012 | 2012 | 8 | 2012 | |||
4.5.1 | 17 ottobre 2013 | 2013 | 8.1 | 2012 R2 | |||
4.5.2 | 5 maggio 2014 | NC | NC | NC | |||
4.6 | 20 luglio 2015 | 2015 | 10 v1507 | NC | |||
4.6.1 | 17 novembre 2015 | 2015 U1 | 10 v1511 | NC | |||
4.6.2 | 2 agosto 2016 | NC | 10 v1607 | 2016 | |||
4.7 | 5 aprile 2017 | 2017 v15.3 | 10 v1703 | NC | |||
4.7.1 | 17 ottobre 2017 | 2017 v15.5 | 10 v1709 | v1709 | |||
4.7.2 | 30 aprile 2018 | NC | 10 v1803 | v1803 | |||
4.8 | 18 aprile 2019 | NC | 10 v1903 | 2019 |
Per sapere quali versioni del Framework sono installate su una macchina Windows, basta controllare la directory C: \ WINDOWS \ Microsoft.NET \ Framework (ogni sottodirectory non vuota corrispondente alla versione presente) o dal pannello di controllo Installazione applicazioni .
Prima versione di .Net Framework. È disponibile da allora13 febbraio 2002e funziona su piattaforme Windows: Windows 98 , NT 4.0 , 2000 , XP .
Questa è la prima grande evoluzione di .NET Framework. È disponibile come componente ridistribuibile o kit di sviluppo ed è stato rilasciato in data3 aprile 2003. Fa anche parte della seconda versione di Microsoft Visual Studio .NET (noto come Visual Studio .NET 2003). È la prima versione di .NET Framework a far parte di un sistema operativo Windows Server 2003 .
Modifiche dalla versione 1.0Disponibile con Visual Studio 2005 , Microsoft SQL Server 2005 e BizTalk Server 2006, la versione ridistribuibile di .NET Framework 2.0 è disponibile gratuitamente dal sito Web di Microsoft ed è stata rilasciata su22 gennaio 2006. È anche incluso come opzione gratuita con Windows Server 2003 R2 .
Il kit di sviluppo (SDK) può essere scaricato gratuitamente dal sito Microsoft; è incluso in Visual Studio 2005 e Microsoft SQL Server 2005.
Questa è l'ultima versione compatibile con Windows 2000 , Windows 98 e Windows ME .
Modifiche dalla versione 1.1.NET Framework 3.0, in precedenza WinFX, include nuove API per il codice gestito . Sono parte integrante dei sistemi operativi Windows Vista e Windows Server 2008 . Queste API sono disponibili anche per il download per Windows XP SP2 e Windows Server 2003 . Non ci sono modifiche importanti incluse in questa versione. .NET Framework 3.0 utilizza Common Language Runtime della versione 2.0 del Framework. A differenza di altre evoluzioni del Framework, non esisteva alcun equivalente a questa versione per .NET Compact Framework.
.NET Framework 3.0 è costituito da quattro parti principali:
Il nuovo ambiente include anche gli altri elementi di .NET Framework:
La versione 3.5 di .NET Framework è ufficialmente disponibile (in RTM) da allora 19 novembre 2007. Simile alla versione 3.0, la versione 3.5 utilizza la versione 2.0 di CLR. Questa versione del framework include .NET Framework 2.0 SP1 che aggiunge metodi e proprietà alle librerie di base della versione 2.0. Questi sono necessari per alcune funzionalità del framework 3.5 come LINQ . Queste modifiche non influiscono sulle applicazioni scritte con la versione 3.5.
Un nuovo .NET Compact Framework 3.5 è anche disponibile in tandem con questa evoluzione per fornire nuove funzionalità per i dispositivi che eseguono Windows Mobile e Windows Embedded CE .
Il codice sorgente per le librerie di classi di base è stato parzialmente divulgato con questa versione sotto la licenza Sorgenti condivise .
La versione 3.5 del framework include il framework LINQ ( Language Integrated Query ) che consente query di oggetti su dati, raccolte, XML o set di dati. Integra inoltre il framework Ajax.Net con nuovi protocolli ( AJAX , JSON , REST , RSS , Atom ) e altri standard WS- *.
Riepilogo delle modifiche con la versione 3.5.NET Framework 3.5 SP1 migliorerà il supporto per le applicazioni parzialmente connesse e fornirà il supporto per il modello Microsoft ASP.NET MVC . Arrowhead migliorerà le prestazioni di avvio a freddo (avvio quando nessuna applicazione che richiede .NET Framework è stata ancora avviata) del 25-40%. Questo aggiornamento velocizzerà anche alcuni effetti di Windows Presentation Foundation (WPF) come le ombre, ma anche le prestazioni generali. Sarà disponibile anche un set di altri controlli WPF, incluso uno DataGrid.
Il 29 settembre 2008, Microsoft ha annunciato che la prossima versione del framework .Net si chiamerà .NET Framework 4.0. Sebbene tutti i dettagli esatti non siano stati rilasciati, alcuni membri della direzione dell'azienda sono stati resi pubblici all'epoca.
Una di queste direzioni era in particolare l'elaborazione parallela delle informazioni, applicabile a sistemi multi-core o distribuiti . Con questo in mente, hanno pianificato di rilasciare la tecnologia Parallel Language Integrated Query (PLINQ ), un'implementazione della libreria LINQ, che esegue le query sfruttando le capacità parallele del sistema.
Versioni di .Net Framework 4.0All'inizio del 2010, .Net Framework 4.0 era disponibile nella versione 4.0.30319 per le piattaforme Windows XP SP3 , Windows Server 2008 , Windows Vista e Windows 7 .
Microsoft ha inoltre annunciato l'intenzione di includere .NET Framework e ASP.NET nella versione "Server Core" del sistema operativo che seguirà Windows Server 2008 .
Rilasciato a marzo 2012, .Net Framework 4.5 è supportato solo da Windows Vista .