Recensione: Visual Studio 2015 apre nuovi orizzonti

Visual Studio è sempre stato un grande prodotto con una serie di funzionalità che crescevano con ogni versione. Visual Studio 2015 estende questa tendenza in modi che non mi sarei mai aspettato di vedere da Microsoft.

Sviluppo di app per dispositivi mobili multipiattaforma? Seleziona quella casella almeno due volte, una per Xamarin e una per Cordova, con credito extra per il C ++ portatile e l'integrazione con Unity.

Server multipiattaforma? Seleziona quella casella almeno tre volte, per .Net Core, ASP.Net ed Entity Framework e Python e Node.js.

Modifica e debug multipiattaforma? Sì. Visual Studio Code funziona su Mac OS X, Linux e Windows.

Gestione del ciclo di vita delle applicazioni multipiattaforma? Git e GitHub sono supportati e Microsoft ha esteso il supporto di Git in Team Foundation Server per consentire l'integrazione continua con gli stessi tipi di regole di check-in intelligenti che Team Foundation Server ha per il suo sistema di controllo della versione.

Build multipiattaforma? Avete capito bene. Oltre a lavorare con Visual Studio Build e MSBuild, Team Foundation Build può usare Ant, Gradle, Maven, Android Build, Gulp, Xcode e altri.

Ovviamente, Visual Studio supporta ancora lo sviluppo per, sai, Windows e include ancora tutte le vecchie tecnologie per le app desktop di Windows, dalle app della console costruite in C ++ con chiamate API di Windows alle app di Windows Presentation Foundation in C # e XAML progettate in Blend per Visual Studio 2015. Ma la definizione di Windows è stata ampliata per Windows 10, con app universali della piattaforma Windows. Queste applicazioni sono progettate per funzionare senza modifiche su hardware che vanno dai telefoni ai tablet, dai laptop ai desktop, alle console di gioco Xbox, agli auricolari per la realtà aumentata, ai Surface Hub, ai server al cloud. Resta ancora da vedere quanto bene quella visione particolare andrà a buon fine.

Un'opzione leggera e multipiattaforma: Visual Studio Code

Visual Studio Code fa parte dell'ecosistema di Visual Studio, ma non è Visual Studio corretto. Invece, è un editor gratuito e multipiattaforma che combina la shell Atom Electron open source con una serie di tecnologie Microsoft. L'ho usato su Mac OS X e Windows e mi piace molto; funziona anche su Ubuntu Linux.

Perché non usare semplicemente Atom? Per TypeScript, JavaScript, C # e Visual Basic, Visual Studio Code offre un supporto linguistico superiore. Per le altre 30 lingue supportate dispari, Visual Studio Code ha la parità con Atom.

Perché non utilizzare Visual Studio completo? È possibile, se si dispone di una macchina Windows o virtuale con potenza sufficiente, ma Visual Studio Code è un programma molto più leggero che si avvia più velocemente e richiede molte meno risorse del computer.

Novità di Visual Studio 2015

Come accennato all'inizio, Visual Studio 2015 include un ampio supporto per lo sviluppo mobile multipiattaforma: installazione e integrazione di Apache Cordova, installazione e integrazione Xamarin, C ++ portatile, un emulatore Android migliorato e integrazione di Unity.

È possibile creare applicazioni server multipiattaforma e distribuirle su server Windows e Linux, nonché eseguirle su desktop e laptop Mac OS X. Il supporto del server include ASP.Net 5, Python, Node.js e il nuovo .Net Core 5 open source per Windows, Linux e Mac OS X.

Nello sviluppo di Windows, c'è la nuova generazione di app universali, nuovi strumenti di diagnostica e nuove funzionalità di progettazione. Nell'area della produttività, c'è un miglior debug, incluso il debug di lambda e il monitoraggio delle prestazioni e il debug storico simultaneamente. Nell'editor, i processori del linguaggio Roslyn alimentano una lampadina che si apre quando e dove c'è un problema comune nel codice e offrono correzioni automatiche del codice e refactoring migliorato. Nel frattempo, Visual Studio 2015 ha molti aggiornamenti del linguaggio di programmazione, inclusi C #, Visual Basic, C ++ e TypeScript, insieme alle estensioni per Python e Node.js.

Visual Studio Online e Team Foundation Server 2015 offrono ora ganci di estensibilità e integrazione con Trello, Campfire e simili. La funzione di pianificazione agile include lavagne Kanban e corsie di nuoto. È ora possibile apportare modifiche rapide al codice e commit direttamente in Visual Studio Online e Team Foundation Server. Prima dovevi tornare a Visual Studio o a un altro strumento di modifica del codice.

Comprensione delle edizioni di Visual Studio 2015

La moltitudine di edizioni di Visual Studio 2015 è sufficiente per dare a un revisore un mal di testa accecante. Il breve riassunto:

  • La comunità è gratuita. Questa edizione dovrebbe soddisfare i singoli sviluppatori che non creano app aziendali.
  • Pro con MSDN costa $ 1,199. Questa edizione è adatta a sviluppatori e team professionisti.
  • Enterprise con MSDN costa $ 6.119 (molto meno di Visual Studio Ultimate 2013). Si tratta di una "soluzione di livello aziendale con funzionalità avanzate per i team che lavorano su progetti di qualsiasi dimensione o complessità, inclusi test avanzati e DevOps", in altre parole, ha tutte le carte in regola.

Gli SKU Express gratuiti esistono ancora, ma Microsoft suggerisce di utilizzare l'edizione Community gratuita, che fa di più. Test Professional con MSDN esiste ancora ed è possibile acquistare una copia di Visual Studio Team Foundation Server 2015.

Parlando di altri strumenti di modifica del codice, Visual Studio Code è un editor di codice multipiattaforma gratuito (Windows, Linux e Mac OS X) costruito sulla shell Atom Electron open source, con supporto linguistico profondo da Roslyn e il compilatore TypeScript, che copre di più di 30 linguaggi di programmazione a livello di evidenziazione della sintassi e corrispondenza parentesi oltre ad alcuni a livello di IntelliSense.

.Net Core 5 è un'implementazione open source multipiattaforma ottimizzata per il cloud della piattaforma .Net che attualmente supporta Linux, Windows e Mac OS X. Funziona anche all'interno di contenitori Docker su Linux. .Net Core è un sottoinsieme sottoposto a refactoring di .Net Framework, ha runtime sia nativi che CLR (VM dell'applicazione) e supporta sia Windows Store che app ASP.Net.

Le app della piattaforma Windows universale non solo vengono eseguite su un'ampia gamma di hardware, ma utilizzano il veloce runtime .Net Native. Puoi scegliere tra i linguaggi C #, Visual Basic, C ++ e JavaScript (incluso Cordova) e costruire la tua interfaccia utente in XAML, DirectX o HTML. Puoi visualizzare in anteprima i progetti XAML in Visual Studio su una gamma di dimensioni del dispositivo, da un telefono da 5 pollici a un Surface Hub da 84 pollici. Puoi utilizzare estensioni specifiche del dispositivo nelle app universali, a condizione che includa queste estensioni nel codice che verifica la presenza delle API appropriate in fase di esecuzione. Sebbene sia possibile progettare XAML in Visual Studio, lo strumento preferito per la progettazione XAML è il Blend rinnovato per Visual Studio 2015.

Linguaggi di programmazione aggiornati

C # 6 e Visual Basic 14 offrono alcuni graditi aggiornamenti del linguaggio, incluse nameofespressioni, operatori condizionali null, awaitin catche finallyblocchi e membri di funzioni con corpo di espressione.

Gli standard e il codice portabile contrassegnano i miglioramenti del linguaggio C ++, come la conformità agli standard C ++ 11 e C ++ 14 e l'inclusione di alcune funzionalità C ++ 17. Il compilatore C ++ ora ha build e miglioramenti più veloci per la generazione di codice e la sicurezza. Non so se le build siano ora abbastanza veloci da eliminare le sessioni estese di "compilazione" che i programmatori C ++ usano spesso per preparare il caffè, visitare le strutture e giocare a ping pong. Può richiedere molto tempo per portare una grande base di codice a una nuova versione del compilatore C ++ ed eseguire tutti i test di regressione necessari.

F # 4.0 è stato creato allo scoperto dagli sviluppatori della community di F #, circa un quarto dei quali è affiliato a Microsoft. Ci sono molti miglioramenti al linguaggio e agli strumenti, ma quelli più ovvi per me sono IntelliSense e debug migliorati.

TypeScript 1.4 e TypeScript 1.5 (Beta) continuano a sviluppare nuove funzionalità per lavorare con più pattern JavaScript, creare caratteri più ricchi e utilizzare le nuove funzionalità ECMAScript 6.

Installazione di Visual Studio 2015

L'installazione di Visual Studio è diventata più granulare. Se questo è importante dipende dalle tue esigenze. Se hai bisogno solo di un sottoinsieme di funzionalità, puoi avere, oltre a velocizzare l'installazione e ridurne l'ingombro. Se hai intenzione di installare tutto in ogni caso, potresti farlo subito. Sebbene sia possibile aggiungere pezzi a un'installazione parziale su richiesta, una variazione della legge di Murphy afferma che qualsiasi funzionalità non installata inizialmente sarà essenziale in un modo critico in termini di tempo, quindi l'installazione incrementale arriverà nel momento peggiore possibile.

Sono rimasto piacevolmente sorpreso di vedere Visual Studio occuparsi dell'installazione di tutte le dipendenze open source, fino ai livelli base come l'installazione degli SDK Android e Java necessari ad Apache Cordova. L'installazione manuale di questi può essere un esercizio frustrante se si sbaglia l'ordine.

In entrambi i casi di installazione parziale e completa, ho riscontrato che le installazioni di Visual Studio 2015 erano meno irte di pericoli e frustrazioni rispetto alle versioni precedenti, fino a quando non è uscito Windows 10 SDK. Quando ho installato Windows 10 SDK, ho scoperto che il suo XAML Designer (una delle sue nuove funzionalità più interessanti) ha funzionato con un progetto vuoto nuovo di zecca. Ho trascorso circa una giornata con il team di Visual Studio per risolvere il problema. Detto questo, l'SDK ha funzionato bene in un'altra installazione, quindi non è un problema diffuso. (Aggiornamento: ora è disponibile una soluzione alternativa; vedere la sezione "Creazione di app universali di Windows" di seguito.)

Gli strumenti Python in Visual Studio 2015 supportano CPython, IronPython, PyPy, Anaconda e altri compilatori Python e offrono IntelliSense nell'editor e il debug interattivo, inclusa la modalità mista (Python / C ++) e il debug cross-OS.

Dalla mia revisione di 7 IDE JavaScript, gli strumenti Node.js per Visual Studio, ora alla versione 1.1 RC, hanno aggiunto il supporto per Visual Studio 2015 (natch) e un nuovo modello Dockerfile basato su Linux per rendere più facile ottenere la tua app e in esecuzione in un container Docker. Per aggiungere il modello Dockerfile a un progetto Node.js, fare clic con il pulsante destro del mouse sul progetto, selezionare Aggiungi nuovo elemento e selezionare il modello Dockerfile.

Questa versione di NTVS migliora anche Node.js IntelliSense, formattazione, debug, TypeScript, esecuzione di unit test e integrazione di Npm. Con un download aggiuntivo, NTVS 1.1 RC supporta una nuova estensione IoT che può distribuire app di Windows universali basate su Node.js a dispositivi Windows IoT Core come Raspberry Pi 2.

Modifica del codice in Visual Studio 2015

Alcuni anni fa, ho avuto un briefing privato dall'allora GM del team di Visual Studio sui piani per la prossima versione di Visual Studio. Dopo aver esaminato le diapositive, mi ha chiesto cos'altro suggerirei e ho sottolineato che la convenzione di sottolineatura ondulata per il controllo ortografico in tempo reale in Word potrebbe essere applicata al controllo della sintassi in tempo reale in Visual Studio. Ne seguirono molti scarabocchi; la funzionalità è apparsa debitamente nella prossima beta.

Poi mi ha chiesto, con un luccichio negli occhi, se volevo Clippy in Visual Studio. Ridendo, ho detto: “Non ancora. Forse non mai, a meno che i suggerimenti che ha dato non fossero davvero buoni. " (Clippy aveva una pessima reputazione tra gli utenti di Word per aver fornito suggerimenti stupidi in modo fastidioso.)

L'equivalente di Clippy in Visual Studio 2015 è una lampadina, che appare ogni volta che l'editor di Visual Studio pensa di vedere un problema di codice e ha un suggerimento, e ogni volta che digiti "^.". La lampadina non solo suggerisce soluzioni a problemi di codice comuni, ma anche possibili refactoring del codice. Il menu di refactoring è scomparso e tutte le operazioni di refactoring sono state spostate sulla lampadina. A conti fatti, direi che la lampadina è una buona cosa.

La ridenominazione delle variabili è stata notevolmente migliorata in Visual Studio 2015; puoi effettivamente vedere cosa farà prima che accada. Anche l'analisi del codice in tempo reale e la correzione automatica sono notevolmente migliorate. Parte della magia sta nel fatto che l'analisi è basata su indicazioni specifiche per il riconoscimento del codice per le piattaforme Microsoft e i pacchetti NuGet a cui sei destinato.

Sembra una piccola modifica, ma ora puoi personalizzare, salvare e ripristinare i layout delle finestre per Visual Studio. Perché questo è importante? Se passi periodicamente tra computer con schermi di dimensioni diverse, risparmierai un sacco di tempo semplicemente estraendo il layout ottimizzato per lo schermo che stai attualmente utilizzando.

Visual Studio ora ha il supporto per il tocco: scorrimento (toccando e trascinando sulla superficie dell'editor sulle barre di scorrimento normali e migliorate), pizzico per ingrandire, selezionare un'intera riga toccando nel margine dell'editor, selezionare le parole toccandole due volte e tenendo premuto per richiamare il menu contestuale dell'editor. Se hai una macchina di sviluppo con un touchscreen, dovresti farlo se stai sviluppando per Windows 10 o dispositivi mobili, lo troverai a portata di mano.

E il mio miglioramento dell'interfaccia utente preferito: niente più menu TUTTO MAIUSCOLO. Buona liberazione.

Test, debug, diagnostica e monitoraggio delle prestazioni

Quelli di voi che scrivono sempre un codice perfetto al primo tentativo possono andare avanti, non c'è niente da vedere qui. Il resto di noi è pronto per una sorpresa: il debug di Visual Studio, che era già abbastanza buono, è diventato ancora migliore.

I punti di interruzione condizionali esistono da molto tempo. Ora possiamo anche specificare le azioni da intraprendere quando viene raggiunto un punto di interruzione. Ciò include i punti di interruzione sulle proprietà autoimplementate e l'uso di espressioni lambda nelle azioni dei punti di interruzione, nelle espressioni di controllo e nella finestra immediata.

Due nuovi strumenti, la struttura ad albero visuale in tempo reale e l'Explorer proprietà attiva, ti consentono di esaminare la struttura ad albero visuale dell'app in esecuzione di Windows Presentation Foundation o Windows Store. Le nuove diagnostiche disponibili durante il debug sono l'elenco degli eventi, lo strumento di utilizzo della memoria e il grafico dell'utilizzo della CPU. Nel frattempo, mentre esegui il codice nel debugger, Visual Studio lo calcola automaticamente e ti dice il tempo trascorso (stimato) e la CPU per il codice. Prima dovevi lavorare sulle prestazioni dopo aver eseguito il debug.

Quando non esegui il debug, puoi usare un nuovo strumento della sequenza temporale dell'applicazione per tenere traccia del consumo di risorse di sistema nel tempo per le app Windows Presentation Foundation, Windows Store 8.1 e XAML della piattaforma Windows universale. Allo stesso modo, lo strumento Diagnostica di rete consente di tenere traccia delle operazioni di rete HTTP per le app di Windows Store e le app universali di Windows. E se stai sviluppando app DirectX (spesso, ma non sempre, giochi), ora puoi guardare i grafici Frame Time, Frame Rate e GPU Utilization mentre le applicazioni sono in esecuzione dal vivo. Questi indicatori ti permetteranno di capire se la GPU o la CPU potrebbero essere il collo di bottiglia delle prestazioni della tua app.

Scorecard Capacità (30%) Prestazioni (30%) Facilità di utilizzo (20%) Documentazione (10%) Valore (10%) Facilità di sviluppo (20%) Punteggio totale
Visual Studio 2015 10 9 8 8 9 0 9.0