# Microsoft Visual Studio

Microsoft Visual Studio (o più comunemente Visual Studio) è un ambiente di sviluppo integrato (o IDE) sviluppato da Microsoft.
Disponibile in varie edizioni (una gratuita di nome Community, e altre due a pagamento di nome Professional ed Enterprise) e capace di usare diversi linguaggi di programmazione e strumenti (C++, C#, .NET, Java, Python, PHP, Go, Visual Basic, Node.js e Express.js, Xamarin, etc.), è disponibile sia per Windows che per MacOS (ma per quest'ultima piattaforma il supporto è stato ritirato dal 31 agosto 2024) e attualmente supporta la creazione di progetti per varie piattaforme, tra cui anche Mobile e Console. È possibile creare ed utilizzare estensioni e componenti aggiuntivi.

## Informazioni

Visual Studio, nelle sue ultime versioni da quando è nata la piattaforma .NET, supporta diversi linguaggi di programmazione tra cui C#, Visual Basic .Net, C++, Java (come infatti visto dal sito ufficiale è compatibile) e JavaScript. Come il suo predecessore, Visual Studio integra la tecnologia IntelliSense che permette di correggere eventuali errori sintattici, e anche alcuni logici, senza compilare l'applicazione, possiede un debugger interno per il rilevamento e la correzione degli errori logici nel codice in runtime e fornisce diversi strumenti per l'analisi delle prestazioni.
Si integra nativamente con l'ambiente di sviluppo di gruppo Team Foundation Server che, tra le altre cose, permette di effettuare operazioni di versioning sul codice.
Visual Studio dispone di diversi template per ciascun linguaggio di programmazione supportato, ad esempio Applicazione desktop, libreria di classi, servizio di Windows e diversi sottomenu che consentono di indirizzarsi sulla piattaforma per cui si desidera sviluppare. Tra queste: Microsoft Azure, Windows Store e smartphone Android e iOS grazie all'integrazione con Xamarin. Le applicazioni desktop in Visual Basic .NET e Visual C# possono essere a loro volta sviluppate utilizzando la classica tecnologia dei form oppure Windows Presentation Foundation.
Nelle due versioni 2015 e 2017 il programma si è notevolmente ingrandito fino a una dimensione di circa 80 GB per un'installazione completa. Infatti sono state introdotte nuove funzioni come il supporto per gli strumenti nativi Python e applicazioni Linux, l'integrazione con Unity per lo sviluppo di videogiochi, il simulatore Android e iOS, la possibilità di gestire e modificare cursori, icone e immagini all'interno dell'applicazione.
L'interfaccia grafica dell'IDE dispone di una casella degli strumenti, disponibile solo per VB.NET, C# e ASP.NET, da cui è possibile trascinare i controlli (tra cui TextBox, Label, ImageBox, Button) direttamente nel form del programma che si sta progettando e modificarne l'aspetto senza necessariamente passare dal codice. Attraverso gli eventi si gestisce il comportamento di questi componenti.
Inoltre Visual Studio consente di reperire e installare template e componenti aggiuntivi di terze parti dal Web per ottenere ulteriori funzionalità. Per esempio esistono estensioni che introducono il supporto per il linguaggio PHP.

## Compilatore .NET

A differenza dei compilatori classici, quello disponibile col .NET Framework converte il codice sorgente (Visual Basic .NET, C#, ecc.) in codice IL (Intermediate Language).
IL è un nuovo linguaggio progettato per essere convertito in modo efficiente in codice macchina nativo su differenti tipi di dispositivi. Intermediate Language è un linguaggio di livello più basso rispetto a Visual Basic .NET o C#, ma è a un livello di astrazione più alto rispetto ai linguaggi assembly o linguaggi macchina.
Al 2023 .NET è arrivato all'ottava versione, mentre C# è giunto alla dodicesima.

## Versioni
### Visual Studio .NET

La prima versione di Visual Studio .NET è datata 2002.
Tecnicamente è chiamato Visual Studio 7.0 e solo dopo l'uscita di Visual Studio .NET 2003 questa versione iniziò a essere chiamata Visual Studio .NET 2002.
Basato su .Net Framework 1.0, non è possibile sviluppare applicazioni per versioni successive del framework. L'IDE sfrutta parzialmente a sua volta il .NET.
Si tratta della prima versione di Visual Studio a supportare i linguaggi C# e VB.NET. Introdusse inoltre le ormai deprecate Managed Extension per il C++ (sostituite ora dall'estensione C++/CLI).

### Visual Studio .NET 2003

Chiamato anche Visual Studio 7.1, propone le seguenti innovazioni rispetto alla versione 7.0:
* Incorpora la versione 1.1 del .NET Framework;
* È stato aggiunto il supporto per il .NET Compact Framework (per dispositivi portatili);
* È stato aggiunto il supporto per ASP.NET Mobile Designer per creare applicazioni web progettate per dispositivi portatili o qualsiasi dispositivo di piccole dimensioni;
* Sono state apportante varie modifiche alla struttura grafica e correzioni di piccoli bug.
* Sebbene la versione del programma sia 7.1, il formato dei file è alla versione 8.

### Visual Studio 2005

Sviluppata con il nome in codice Whidbey, è la prima versione di Visual Studio a non includere il suffisso .NET nel nome, anche se il .NET framework resta ancora l'obiettivo principale del programma.
Veniva distribuito nelle versioni:
* Express Edition - Versione di pubblico dominio con funzionalità di base.
* Standard Edition - Versione classica professionale adatta alla maggior parte degli sviluppatori.
* Professional Edition - Versione avanzata per sviluppatori professionisti.
* Tools per Office - (Access developer 2003).
* Team system - (Architect, Developer & Tester version).
* Team suite - (Integra al suo interno tutte le 3 versioni della Team System).
* Standard Education - La versione standard fornita a un prezzo ridotto per gli studenti. Non è possibile commercializzare le proprie applicazioni realizzate con questa versione.
* Professional Education - La versione professional a un prezzo ridotto per gli studenti. Non è possibile commercializzare le proprie applicazioni realizzate con questa versione.
Presenta le seguenti innovazioni:
* Incorpora il .NET Framework 2.0;
* Ha più edizioni secondo le esigenze dei programmatori;
* Presenta migliorie all'IntelliSense;
* Sono state modificate le tecniche di sviluppo delle pagine ASP.NET.
* Presenta modalità di lavoro avanzate.
* C++/CLI, un'estensione del C++, rimpiazza le Managed Extensions.
* È stato semplificato lo sviluppo per la piattaforma x64.

### Visual Studio 2008

Visual Studio 2008 è un IDE creato da Microsoft, con il nome in codice Orcas, per programmatori che sviluppano per piattaforme Windows e .NET Framework 3.5. Permette di usare svariati linguaggi di programmazione, tra cui VB.NET, C#, C++ e altri ancora. Inoltre offre la possibilità di creare applicazioni e servizi Web ASP.NET. È uscito il 27 febbraio 2008. Presenta le seguenti innovazioni:
* Sviluppo applicazioni per il .NET Framework 3.5.
* Introduzione di LINQ.
* Eliminazione di J#.
* Estensione del supporto di IntelliSense a ogni tipo di progetto e per tutti i linguaggi di programmazione contenuti

### Visual Studio 2010

Visual Studio 2010 è un IDE creato da Microsoft per programmatori che sviluppano per piattaforme Windows e .NET Framework 4.0. Permette di usare svariati linguaggi di programmazione, tra cui VB.NET, C++, C# e altri ancora. Inoltre offre la possibilità di creare applicazioni e servizi Web ASP.NET, in C# o in VB.NET. È stato distribuito il 12 aprile 2010.
Veniva distribuito nelle versioni:
* Visual Studio Express Edition: una versione gratuita dell'IDE Visual Studio. Utile per studenti e principianti, limitato su certi aspetti funzionali.
* Visual Studio Professional, Premium, e Ultimate: versioni a pagamento, più potenti in termini funzionali della versione Express, e sono indicate per un'utenza più esigente come professionisti o aziende di software.
Presenta le seguenti innovazioni:
* Sviluppo di applicazioni per il .NET Framework 4.0
* Nuovo linguaggio di programmazione funzionale F#
* Supporto programmazione parallela.
* Integrazione della libreria jQuery
* IntelliSense non più disponibile per Visual C++/CLI né previsto in patch successive.
Ognuna delle versioni sopracitate del prodotto permette di utilizzare le ultime quattro versioni disponibili del .NET Framework (2.0, 3.0, 3.5 e 4.0).

### Visual Studio 2012

Visual Studio 2012 è un IDE creato da Microsoft. Con questa versione Microsoft ha completamente rinnovato l'interfaccia grafica per renderla simile a quella di Windows 8 utilizzando la nuova Metro UI (ora "linguaggio di design Microsoft").
Veniva distribuito nelle versioni:
* "Visual Studio Ultimate" versione che comprende tutte le funzionalità.
* "Visual Studio Premium" versione orientata al business e ai team di sviluppo.
* "Visual Studio Professional" versione raccomandata per piccoli team e professionisti.
* "Visual Studio Express for Desktop, Windows 8 e Web", versioni gratuite per applicazioni desktop/metro/web per Windows.
Presenta le seguenti innovazioni:
* Supporto per lo sviluppo di applicazioni "Windows Store" solo su Windows 8.
* Supporto (parziale) ad HTML 5 e CSS 3.
* Supporto per le ultime tecnologie ASP.NET.
* Introduzione di Page Inspector.
* Supporto per il Cloud
* Supporto per Team Foundation Server

### Visual Studio 2013

Visual Studio 2013 veniva distribuito nelle versioni:
* Community (gratuita e dedicata allo sviluppo non aziendale)
* Ultimate
* Premium
* Professional
* Test Professional
* Express per Desktop
* Express per il Web
* Express per Windows
Nelle versioni a pagamento comprendeva l'abbonamento ai servizi MSDN.

#### Panoramica di Visual studio Ultimate 2013
##### Funzionalità IDE chiave

* Accesso rapido alle informazioni di cui hai bisogno, nel giusto contesto.
* Debug cronologico, anche in fase di produzione con IntelliTrace.
* Test per verificare la scalabilità e le prestazioni in fase di produzione.
* Visualizzazione della struttura di un'applicazione con diagrammi UML.
* Gestione dell'architettura e delle dipendenze tra componenti.
* Strumenti per comprendere le relazioni nel codice esistente.

##### Visual Studio Online

All'account di Visual Studio Online è possibile aggiungere un numero illimitato di utenti Ultimate. Se non si dispone di un account di Visual Studio Online, è possibile crearne uno per accedere a funzionalità aziendali come la gestione portfolio Agile, la gestione di test case basata sul Web, le chat del team e il test di carico basato su cloud.

##### Vantaggi di MSDN

L'abbonamento MSDN incluso consente di accedere a migliaia di prodotti Microsoft, oltre a servizi aggiuntivi, in modo da disporre di tutto il necessario per progettare, sviluppare e testare le applicazioni su un'ampia gamma di piattaforme, incluso Windows Azure.

### Visual Studio 2015

Presentato nel luglio 2015, era disponibile nelle versioni:
* Express - Versione gratuita che offre le funzionalità di base.
* Community - Versione gratuita utilizzabile per la creazione di software non aziendali.
* Professional - Versione a pagamento che fornisce strumenti di sviluppo per sviluppatori singoli o piccoli team.
* Enterprise - Versione a pagamento che fornisce strumenti di sviluppo e testing avanzati, ideali per progettazione e realizzazione di progetti di ogni complessità realizzati da team di grandi dimensioni. Questa versione include anche il tool DevOps.
* Test Professional
* Team Foundation Server
Tra le caratteristiche: supporto a UWP (Universal Windows Platform), supporto per applicazioni multipiattaforma (Windows, Android e iOS), nuovi strumenti di diagnostica e supporto per Microsoft Azure.

### Visual Studio 2017

Presentato nel novembre 2016, era disponibile nelle versioni:
* Community (Gratuito per singoli sviluppatori, usi accademici e open source)
* Professional (Disponibile una versione di valutazione gratuita per l'uso personale)
* Enterprise (Disponibile una versione di valutazione gratuita per le organizzazioni)

### Visual Studio 2019

Distribuito nell'aprile 2019, Visual Studio 2019 è disponibile in tre versioni:
* Community (Gratuito per singoli sviluppatori, usi accademici e open source)
* Professional (Disponibile una versione di valutazione gratuita per l'uso personale)
* Enterprise (Disponibile una versione di valutazione gratuita per le organizzazioni)
Tra le caratteristiche nuove e perfezionate rispetto alle precedenti versioni ci sono:
* Nuova finestra di avvio dei progetti, che appare al caricamento di Visual Studio 2019.
* Integrazione del sistema di sviluppo Live Share
* Nuove funzionalità di refactoring e ricerca, anche in debugging, del codice nella IDE
* Integrazione dell'estensione Intellicode
* Correzione del codice con un solo clic
* Nuovo modello di gestione database SSDT (SQL server data tools)
Il supporto di Microsoft a Visual Studio 2019 terminerà il 10 aprile 2029.

### Visual Studio 2022

Distribuito l'8 novembre 2021, ha codename Dev17 e numero di versione 17.0.
La maggiore novità è sicuramente il fatto che si tratta di un'applicazione esclusivamente a 64 bit. Inoltre supporta il .NET SDK 6 e i progetti base .NET MAUI.
È stata rimossa la possibilità di tornare all'interfaccia utente di Team Explorer Git rendendo Git l'unico strumento integrato per la gestione del versioning disponibile.
È stato anche riprogettato il sistema di test e debugging e ridisegnato il WPF XAML Designer per .NET Framework. Sono anche state introdotte molte migliore in termini di velocità operativa e funzionalità di IntelliSense.
Il supporto di Microsoft a Visual Studio 2022 terminerà il 13 gennaio 2032.