Dette er utvilsomt en spennende uke for alle utviklere som jobber med Microsoft-produkter: Ikke bare starter den store Microsoft Ignite-konferansen onsdag kveld norsk tid, i går kveld startet også konferansen .NET Conf 2023.
Som ventet lanserte Microsoft den endelige LTS-utgaven av .NET 8-plattformen. .NET 8 har vært ute i ulike preview-utgaver ganske lenge, så de fleste av nyhetene er kjent fra før.
Tobias Moe Thorstensen i Enso AS går i denne artikkelen gjennom de nyhetene han synes er mest spennende i .NET 8.
Nytt i .NET 8: «Ganske imponerende!»
Noe som imidlertid er en nyhet for de fleste utviklere, er .NET Aspire – en helt ny teknologistack som skal gjøre det enklere å bygge applikasjoner i skyen.
.NET Aspire er foreløpig i preview-versjon, og en del av .NET 8-plattformen. Det skriver DevClass.
Build observable, production-ready cloud native applications.
— .NET (@dotnet) November 14, 2023
Introducing .NET Aspire➖an opinionated stack for building resilient, observable, and configurable cloud-native applications with .NET.
Learn more 📖 https://t.co/PIHXk5nH2k #dotNETAspire pic.twitter.com/ROQyonlbjS
Nyheten ser ut til å ha blitt godt tatt imot av utviklere:
– Dette virker superkult, kan nesten ikke vente på at den blir generelt tilgjengelig, skriver én utvikler på Reddit.
Åpen kildekode
.NET Aspire er åpen kildekode og ligger på GitHub.
I lanseringsbloggposten skriver Microsofts Glenn Condron at de har jobbet lenge med å forsøke å gjøre .NET til en av de mest produktive plattformene for å bygge "cloud native"-applikasjoner.
– Men vi har hørt fra utviklere at vi er nødt til å gjøre mer. Bygge apper for skyen var fortsatt for vanskelig. Utviklere blir i økende grad revet vekk fra å jobbe med forretningslogikken og det som betyr mest, for å håndtere kompleksiteten til skyen, skriver Condron.
The tech itself is insanely cool though and I can’t wait to showcase it
— Nick Chapsas (@nickchapsas) November 14, 2023
Condron beskriver .NET Aspire som en "opinionated stack for building resilient, observable and configurable cloud-native applications with .NET".
Ifølge DevClass inneholder Aspire elementer som først ble introdusert i et tidligere eksperiment kalt Project Tye, lansert i 2020. Project Tye var imidlertid laget for Kubernetes spesielt, mens Aspire ikke skal ha noe sånt krav.
Start-mal og dashbord
For å gjøre det enklere å komme raskt i gang med Aspire, har Microsoft laget en ny mal kalt .NET Aspire Starter som inkluderer en web-applikasjon laget med Blazor, et backend-API, samt en Redis-cache. Frontenden i prosjektet kaller et backend-API for å hente ut informasjon om været.
Vi skal ikke gå inn på alle detaljene – men lanseringsbloggposten forklarer hvordan man selv setter opp et prosjekt basert på eksempelmalen. Eller du finner en guide på dokumentasjonssidene.
Når du starter en .NET Aspire-applikasjon med F5 i Visual Studio eller med dotnet run fra kommandolinjen, får du opp et nytt utvikler-dashbord.
Dette dashbordet brukes til å debugge distribuerte applikasjoner og samle diagnostikk på ett sted, slik at du kan gjøre all debugging lokalt på utviklermaskinen din.
Aspire-komponenter skal gjøre det enklere å legge til funksjonalitet i applikasjoner som kjører i skyen – for eksempel Redis, en PostGres-database eller andre ting. Det uten at man skal behøve å bruke mye tid på konfigurasjon.
– .NET Aspire-komponentene er laget for å gi deg en optimal produksjonsklar konfigurasjon uten å skjule det underliggende SDK-et, skriver Condron.
Fra starten er det ferdige komponenter for blant annet PostgreSQL, RabbitMQ, Redis, SQL Server, Azure Blob Storage, Azure Cosmos DB, Azure Key Vault, Azure Service Bus og Azure Storage Queues.
Det er både "skyagnostiske" komponenter, og komponenter spesielt laget for Azure.
«.NET Aspire-komponentene er laget for å gi deg optimale produksjonsklar konfigurasjon uten å skjule det underliggende SDK-et.»
.NET 8 har blitt raskere
Det er som nevnt ikke bare Aspire som er nytt i .NET 8.
Ifølge Microsoft har .NET 8 fått en masse forbedringer relatert til ytelse, stabilitet og sikkerhet, samt forbedringer som skal gjøre utviklere mer produktive.
- Raskere: Ytelsen er forbedret blant annet ved å innføre en ny kodegenerator kalt Dynamic Profile-Guided Optimization (PGO) som optimaliserer koden, og kan øke ytelsen til appen din med opptil 20 prosent. Også andre ting har blitt raskere, som for eksempel JSON-serialisering.
- F# 8. Med .NET 8 kommer også versjon 8 av programmeringsspråket F#, med masse nytt.
- C# 12. Microsoft lover blant annet enklere syntaks og raskere kjøring.
- ASP.NET Core i .NET 8. Også denne skal ha blitt raskere, ifølge Microsoft er ASP.NET Core i .NET 8 18-24 prosent raskere enn .NET 7.
...og det er mye mer. Hele første dag av .NET Conf 2023 ligger på YouTube, du kan se den her: