Il progetto .NET Core si sta evolvendo rapidamente per venire incontro alle nuove esigenze del mercato e sempre più sviluppatori stanno trovando in questa soluzione il loro punto di riferimento per lo sviluppo delle applicazioni native per tutte le principali piattaforme software, .NET Core si sta inoltre rivelando un ottimo strumento anche per lo sviluppo delle Web Application.
.NET è un framework software open source costituito da CoreCLR, un'implementazione runtime completa di CLR, la macchina virtuale che gestisce l'esecuzione di programmi .NET. Sostanzialmente .NET Core supporta quattro scenari di sviluppo di applicazioni cross-platoform: App Web ASP.NET Core, tool da shell, librerie e App Universal Windows Platform.
Potremmo riassumere .NET Core in 3 caratteristiche chiave:
- possibilità di creare e avviare applicazioni native in C# su tutti i sistemi più diffusi (compreso Linux);
- disponibilità di strumenti simili ad npm che si occupano dell'impalcatura del proprio progetto;
- perfettamente integrato con Visual Studio Code.
.NET Core è in buona sostanza la riscrittura dei .NET languages (C#, F#, ecc) con nuovi runtime/sdk non specifici per Windows ma, appunto, multipiattaforma. Le App .NET occupano molto meno spazio rispetto a quelle tradizionali e sono ideali per gli scenari in cui è necessario creare applicazioni isolate di piccole dimensioni e ad alte prestazioni, come ad esempio i micro-servizi.
Migliaia di aziende sfruttano applicazioni realizzate con .NET Core con profitto, ad esempio GoDaddy è riuscita a realizzare un infrastruttura estremamente scalabile proprio grazie ad esso, inoltre tale framework dà la libertà di sfruttare tecnologie che funzionano su Linux come Kubernetes e Docker in modo da facilitare notevolmente il lavoro di distribuzione di un applicativo.
.NET Core è stato pensato per consentire agli sviluppatori di creare dei piccoli servizi isolati tra di loro che possano scalare indipendente a seconda della necessità del progetto in cui vengono implementati. Questo elimina la necessità di aggiungere nuovi server fisici, basterà infatti inserire la propria applicazione .NET Core in un container per ottenere prestazioni ottimali. Di base .NET Core integra una pletora di strumenti e funzionalità per lo sviluppo rapido, come:
- built-in Dependency Injection;
- configurazioni semplici ed isolate tra di loro (
web.config
non verrà più sfruttato); - Razor Pages: un tool che consente di realizzare la propria Web App in modo semplice e veloce;
- accesso semplificato all'Entity Framework Core;
- vasta dotazione di tool CLI completi.
.NET Core è dunque un altro esempio perfetto del cambiamento radicale che Microsoft ha vissuto in questi ultimi anni. L'azienda ha saputo rinnovarsi, avvicinandosi al mondo open source e slegando il suo ecosistema di sviluppo da Windows per aprirsi a quante più piattaforme e sviluppatori possibili.
Via James Hickey