Il 12 novembre 2014, con l'annuncio storico fatto al Connect(); (evento online per sviluppatori), Microsoft incide il solco del sentiero verso l'open source portando .NET su Linux e Mac. A partire dalla versione 5, infatti, il codice sorgente di questa tecnologia sarà rilasciato pubblicamente su GitHub e potrà essere modificato e migliorato da chiunque.
Segue a ruota il rilascio di Visual Studio 2013 gratuito in edizione Community insieme ad una serie di nuovi tool per lo sviluppo di app Mobile per Android e iOS, nonché l'annuncio di Visual Studio 2015.
Per approfondire meglio tutto abbiamo chiesto aiuto a Fabio Santini, direttore della divisione Developer Experience and Evangelism di Microsoft Italia. Da subito Santini ci tiene a stabilire i punti d'eccellenza con cui l'azienda di Redmond si propone agli sviluppatori:
- .NET Core, framework di base per tutte le esigenze, dal desktop al mobile e per tutti i SO
- C#, linguaggio di programmazione dall'ottima potenza espressiva
- Visual Studio, tool di sviluppo completo che massimizza la produttività.
.NET Core 5 open source
«Microsoft continuerà a lavorare con le proprie linee di produzione su .NET, ma avere una community aiuta molto, sia per la collaborazione sul codice sia per i continui feedback che può restituire.», così Santini mentre ci spiega il passaggio all'open source di .NET che possiamo sintetizzare in alcuni punti:
- Sono disponibili i sorgenti della parte centrale del framework, si tratta del .NET Core, «ovvero tutti tool che servono per la compilazione e il runtime, la parte che in questo momento sembra avere più senso portare su più piattaforme».
- Al momento non è previsto il rilascio di WPF, che non è considerato strategico in ottica cross-platform. Discorso diverso per ASP.NET che sarà sdoganato anche su Linux e Mac.
- La licenza opensource è la MIT e, come precisa Santini, pone come unico vincolo quello dell'approvazione definitiva di Microsoft sulle modifiche al codice.
- Il .NET Core sarà il runtime che potremo utilizzare per tutte le piattaforme, anche sui sistemi embedded.
Questo passaggio sembra andare incontro a molte delle esigenze degli sviluppatori, interessante ad esempio anche la scelta di GitHub rispetto a CodePlex e l'integrazione del progetto all'interno della .NET Foundation, «una organizzazione indipendente della quale fanno parte persone di Microsoft e non, per lavorare sulle tecnologie .NET», spiega Santini. Oltre al core di .NET i progetti che ne fanno parte sono tra i più noti e prestigiosi: da NuGet a Xamarin da Orchard a Entity Framework.
Questa svolta pone anche fine alle incongruenze tra framework ufficiale e Mono, mettendo gli sviluppatori nelle condizioni di non avere più un duplice approccio lavorando su piattaforme diverse.
ASP.NET 5 e front-end development
ASP.NET 5 sarà disponibile per Windows, Mac, and Linux e sarà open source e disponibile su GitHub (qui). Inlcuderà kestrel un web server per Mac e basato su libuv, confrontabile con prodotti come Nginx.
Buone notizie anche per i front-end developers: Visual Studio 2015 e ASP.NET supporteranno i principali tool per l'automazione dei processi come gulp, grunt, bower e npm.
Visual Studio Community Edition
Oltre a presentare in anteprima Visual Studio 2015, Microsoft ha rilasciato una nuova edizione dell'ambiente di sviluppo, che ha il vantaggio di essere completamente gratuita: si tratta di Visual Studio Community 2013, un progetto che ha lo scopo di avvicinare ulteriormente gli sviluppatori al mondo Microsoft.
Anche in questo caso, le opportunità offerte abbracciano le sfere cloud e mobile, ma è altresì consentito lo sviluppo di applicazione desktop e web.
«L'idea» - dice Santini - «è che oggi uno sviluppatore o una startup devono poter iniziare a sviluppare progetti, anche complessi, sfruttando appieno e gratuitamente strumenti professionali quali l'ambiente di sviluppo e i servizi cloud, per poi iniziare a spendere solo nel momento in cui il suo progetto raggiunge numeri o dimensioni che lo rendano remunerativo».
Visual Studio Community 2013 è stato presentato come uno strumento per lo sviluppo multipiattaforma, consentendo di fatto di realizzare applicazioni per Windows, Windows Phone, Android ed iOS (sebbene in quest'ultimo caso avremo sempre bisogno di un Mac) tramite un'unica IDE.
L'emulatore Android
Tra le maggiori attrattive di Visual Studio, oggi emerge la possibilità di creare applicazioni Mobile cross-platform fruttando tecnologie ibride come HTML5 (tramite Apache Cordova), Xamarin o framework nativi come nel caso di Android NDK.
Santini specifica che con Xamarin in particolare, «abbiamo raggiunto un accordo che ci consente di integrare in Visual Studio le caratteristiche offerte normalmente dallo starter kit gratuito più alcune altre funzionalità», restano a pagamento opzioni avanzate come il numero illimitato di progetti.
Ottima la possibilità di effettuare il debug su tutte le piattaforme mobile. Se per iOS possiamo comunque pilotare l'applicazione ma mettendo di mezzo un Mac, per Android abbiamo a disposizione un ottimo emulatore, che Fabio Santini modestamente definisce «almeno uguale a quello di Eclipse», ma che in realtà si rivela notevole come supporto. Ecco alcune funzionalità.
Oltre all'integrazione completa con il debugger di Visual Studio, l'emulatore ci permette di simulare i movimenti del telefono per sollecitare l'accelerometro e testarne il comportamento.
Possiamo modificare a mano i dati del GPS e simulare spostamenti del telefono impostando tragitti e velocità di percorrenza.
L'emulatore offrirà anche la possibilità di testare il comportamento delle nostre applicazioni quando la batteria è scarica, e potremo agire sui parametri dell'emulatore (quali ad esempio la memoria) tramite hyperV, agendo di fatto sulle caratteristiche della macchina virtuale che utilizzeremo.
Conclusioni
Microsoft è sempre nel cuore degli sviluppatori, anche di chi l'ha sempre contestata, ma il sentimento è ricambiato. Saranno i tempi, le mosse dei competitor, l'eredità di Ballmer o il riscaldamento globale, ma l'era Satya Nadella sembra più concreta. Insieme al tabù sui sorgenti crolla un muro che, forse per troppo tempo, ha separato molti da una software house che oggi più che mai dimostra di avere a cuore gli sviluppatori.