Rilasciato nelle scorse ore, .NET 8 è l'ultima versione del framework Open Source per la creazione di Web application, applicazioni per dispositivi mobile e App per il Desktop. Si tratta di di una release LTS (Long Term Support) che viene messa a disposizione insieme ad Aspire. In versione di anteprima, quest'ultimo è uno stack ottimizzato per il Cloud con cui creare applicazioni distribuite.
.NET e Aspire
Aspire è stato introdotto per venire incontro alle esigenze di molti sviluppatori che lamentavano difficoltà nel creare soluzioni per il Cloud. Parliamo nello specifico dell'evoluzione di Project Tye la cui prima versione risale al 2020. La maggiore differenza tra Project Tye e Aspire risiede però nel fatto che il primo fu concepito almeno inizialmente per l'orchestrazione tramite Kubernetes.
Announcing the availability of .NET 8, the latest LTS version of one of the world’s leading development platforms.
With this release, .NET reshapes the way we build intelligent, cloud-native, applications and high-traffic services that scale on demand. 📖 https://t.co/WqZkUpJOhN pic.twitter.com/NmARKBd78q
— .NET (@dotnet) November 14, 2023
Aspire deve essere considerato parte integrante dell'implementazione di .NET 8, per questo motivo lo sviluppo dei due progetti procederà in parallelo. La Casa di Redmond lo ha rilasciato sotto licenza Open Source e chi lo desidera può fornire il proprio contributo, o testare lo stack, grazie al repository dedicato su GitHub.
Quando utilizzare Aspire
Aspire è una soluzione per applicazioni Cloud native pensata innanzitutto per l'orchestrazione. Mette infatti a disposizione le funzionalità necessarie per eseguire e connettere App e le loro dipendenze. I sui componenti sono package NuGet per i servizi utilizzati più comunemente come per esempio Redis o Postgres. Tali componenti hanno delle interfacce standardizzate per semplificare le procedure di connessione con le App.
Aspire comprende inoltre due progetti. Il primo prende il nome di AppHost, il secondo di ServiceDefaults. AppHost può eseguire qualsiasi progetto .NET che faccia parte di un'applicazione distribuita. ServiceDefaults supporta invece funzionalità per la la verifica degli endpoint e la telemetria tramite Open Telemetry.
Un altro aspetto interessante riguarda il supporto per il tooling. Lo stack fornisce infatti template e strumenti per lo sviluppo su Visual Studio e la sua interazione con le App. In linea generale esso è indicato per la creazione di progetti destinati ad utilizzare un gran numero di servizi tra cui caching, database e messaggistica.