Op 10 november zag .NET 5 officieel het levenslicht tijdens een driedaags online event. .NET 5 mag met recht een mijlpaal genoemd worden: wellicht wel het belangrijkste moment in het (bijna) 18-jarig bestaan van .NET. Lees in deze blog waarom dit zo is, wat je ermee kunt en wat de voordelen zijn.
Waarom is dit zo’n grote mijlpaal?
Met .NET 5 wordt gebroken met het verleden. Tot voor kort werd het .NET Framework (uit 2002) steeds verder ontwikkeld op het bestaande systeem: closed source, Windows only.
.NET 5 is natuurlijk ook niet zomaar ontstaan; het is tenslotte de opvolger van .NET Core 3.1. .NET Core zelf is echter een complete herbouw van .NET en tegelijkertijd alles wat .NET Framework niet is: open source en cross-platform.
Microsoft ❤ Open Source
Die trendbreuk is een aantal jaar geleden ingezet door Satya Nadella en tijdens de Microsoft Build van 2019 nog eens bevestigd: Microsoft ❤ Open Source.
In het tijdperk van Steve Ballmer was dit niet voor te stellen. In de open source wereld werd Microsoft verguisd en ook binnen Microsoft was het niet voor te stellen dat je een presentatie gaf op een Mac.
Dit werd ook pijnlijk duidelijk toen op 4 juni 2018 officieel werd aangekondigd dat GitHub voor 7,5 miljard dollar overgenomen zou worden door Microsoft. Concurrent GitLab zag het aantal geïmporteerde projecten vertienvoudigen. Twee jaar later lijkt de angst dat Microsoft GitHub om zeep zou helpen ongegrond. Microsoft helpt mee aan allerlei open source initiatieven, uiteraard ook hun eigen .NET projecten.
Voordelen van .NET
Zoals aangegeven is .NET 5 open source en cross platform. Het voordeel daarvan is dat er meer mogelijkheden zijn voor hosting. Zelfs binnen Azure kan een .NET webapplicatie op Linux draaien. Cross platform zorgt ook voor meer integratie met andere ontwikkelteams en heb je geen last van “vendor lock-in”: .NET 5 werkt bijvoorbeeld ook op Amazon Web Services (AWS) en de Google Cloud.
Daarnaast zijn er nog meer voordelen, maar één van de belangrijkste naast de bovenstaande, is de performance. .NET 5 is veel sneller dan zijn voorgangers. Meer informatie daarover staat in de zeer uitgebreide blog van Microsoft.
.NET Roadmap
Met .NET 5 houden we één .NET over. .NET Framework, .NET Standard en .NET Core blijven uiteraard werken, maar verdere ondersteuning houdt wel op.
De roadmap voor .NET is voor de komende jaren vastgelegd. Vanaf nu zal er elk jaar een nieuwe .NET versie uitgerold worden. In november 2021 zal .NET 6 uitkomen. Net als andere “even” versies, wordt deze met “Long Term Support” (LTS) geleverd worden.
Ondanks dat .NET 5.0 geen LTS heeft, kan je er wel bedrijfskritische applicaties mee maken. Indien er echter toch terughoudendheid is en er daarom gekozen wordt om te wachten op .NET 6 (met LTS), dan is het zeker niet het moment om af te wachten. Een migratie kan een hele operatie zijn en dan is 11 maanden voorbereiding zeker aan te bevelen en kan .NET 5 als basis dienen.
Een begin kan zijn om business logica onder te brengen in .NET Standard 2.1 class libraries. Dit is namelijk de laatste versie die zowel door .NET Framework als .NET Core / .NET 5 gebruikt kan worden. Door deze transitie te doen, kan oude code blijven werken en kunnen tegelijk de eerste stappen van de migratie worden genomen.
Voorbeeld ASP.NET WebForms
Sommige migraties zijn eenvoudig, omdat de techniek blijft bestaan. Zo is een migratie van ASP.NET MVC naar ASP.NET Core MVC een stuk eenvoudiger te realiseren dan een migratie van ASP.NET WebForms naar een .NET 5 webapplicatie, omdat WebForms niet meer bestaat.
In een eerdere blog heb ik Blazor besproken. Voor developers die nu werken met WebForms is dit een goed alternatief: een lage learning curve en de kennis en expertise is al in huis. En ook Blazor heeft componenten die hergebruikt kunnen worden. Verder kunnen met .NET 5 wel alle moderne technieken gebruikt worden. Unit tests als xUnit en bUnit kunnen gebruikt worden om de huidige functionaliteit te testen in de nieuwe omgeving.
Uiteraard zijn er ook andere mogelijkheden om de WebForms applicatie te migreren naar een andere weboplossing. Daarbij zoeken wij altijd naar een oplossing die het beste past bij de omgeving van onze klant.
.NET 5.0 Migratiescan
ShareValue heeft de kennis in huis om een migratie van een oude .NET versie naar .NET 5 te begeleiden en hier adviezen op te geven. Dit begint met een analyse van het huidige software landschap. Vervolgens brengen we een advies uit, waarbij we ook rekening houden met de impact op de business. Uiteindelijk kunnen we de uitvoering van de migratie samen met de klant realiseren en begeleiden. Wil je hier meer over weten? Neem dan contact met ons op.
Heb je vragen over dit onderwerp of zou je Michiel willen inhuren voor een vergelijkbare opdracht?