.NET 5: Wat de fusie van .NET Framework en .NET Core betekent

De .NET-strategie van Microsoft was de laatste tijd misschien wat onduidelijk, met twee verschillende ontwikkelingsstromen in het bekende .NET Framework en de nieuwe, open-source .NET Core. Een gemeenschappelijke set van .NET Standard-bibliotheken was bedoeld om de twee samen te brengen, waardoor ontwikkelaars een enkele manier kregen om met elk van de verschillende .NET-versies op al hun doelplatforms te werken, van Windows tot mobiel tot internet. Maar dat betekende nog steeds dat je moest nadenken over welke .NET-runtime je moest gebruiken: Core, Xamarin, Mono of Framework?

Maak kennis met .NET 5, de toekomst van .NET

Op Build 2019 onthulde Microsoft zijn plannen voor de toekomst van .NET en kondigde aan dat de volgende grote release na .NET Core 3 een enkele versie van .NET zou zijn, genaamd .NET 5. Voortbouwend op de snelle groei in het vernieuwde en nieuw leven ingeblazen .NET Core, Microsoft streeft ernaar om veel bestaande .NET Framework 4.8 API's en functies op .NET 5 te laten draaien, samen met nieuwe API's en services. Het zijn niet alleen de bibliotheken van de basisklasse die samenkomen; Microsoft maakt van de gelegenheid gebruik om zijn verschillende .NET-compilers samen te brengen, door zowel de JIT (just-in-time) van .NET Core als Mono's compilatiemodellen van tevoren te ontwikkelen.

Het is geen verrassende beslissing. Het .NET Framework ging niet zo snel vooruit als .NET Core, gebukt onder verouderde code. Dat, gecombineerd met de groeiende focus van Microsoft op platformonafhankelijke ontwikkeling, zorgde ervoor dat een beslissende stap van het bijna twintig jaar oude Framework naar de nieuwere Core onvermijdelijk was. Core uit de naam verwijderen is ook logisch. Met de API's die sinds de lancering zijn toegevoegd en ondersteuning voor de .NET Standard-bibliotheken, is .NET Core echt geen ingekorte kernherstructurering meer. Nu .NET 5 het einde van de ontwikkeling van het .NET Framework aangeeft, is het duidelijk tijd voor een nieuwe naam.

Toch zal het niet van de ene op de andere dag veranderen. .NET Core 3 moet nog worden verzonden en we zullen .NET 5 pas in de herfst van 2020 zien. Een geplande verzenddatum van november 2020 geeft ons bijna 18 maanden de tijd om onze code klaar te maken, met preview-versies die enige tijd in de eerste helft van 2020.

Wat gebeurt er met .NET Framework?

Eén ding maakt Microsoft duidelijk: .NET Core 3 wordt de laatste release voor port .NET Framework-API's. Er komen dus geen extra Framework API's in .NET 5 en sommige oudere technologieën zoals Web Forms en de Windows Communication Foundation zullen geen deel uitmaken van het nieuwe platform. Als u wilt overstappen van .NET Framework 4.8, moet u alternatieve, ondersteunde technologieën vinden. Momenteel raadt Microsoft Blazor aan om Web Forms te vervangen en gRPC om WCF te vervangen. Het zijn verstandige alternatieven, die u platformonafhankelijke ondersteuning bieden die niet beschikbaar zou zijn via oudere technologieën, en met Blazor die Web Assembly gebruikt of server-side controls aanbiedt in ASP.NET, ondersteunen ze nu veel nieuwere en betere prestaties technologieën.

Het advies van Microsoft aan ontwikkelaars is om .NET Core 3 te gaan gebruiken voor alle nieuwe toepassingen, maar het is belangrijk op te merken dat dit niet het einde van uw .NET Framework-toepassingen is. Microsoft zet zich in voor langdurige ondersteuning van .NET Framework, dus als u code draait op .NET Framework 4.8, hoeft deze pas te worden bijgewerkt als u klaar bent om over te stappen. Het levert tenslotte momenteel kernontwikkelaarstools, waaronder Visual Studio, gebouwd met behulp van .NET Framework. Zelfs dan, met de basisklasse-compatibiliteit tussen veel van het nieuwe .NET en het oude dankzij .NET Standard, zou migratie niet pijnlijk moeten zijn en u de mogelijkheid geven om die code op veel meer plaatsen uit te voeren.

Door simpelweg code te migreren, mis je de kans om applicaties voor cloud en microservices te refactoren en opnieuw te ontwerpen. .NET 5 wordt ontwikkeld voor de IT-wereld van vandaag, met hybride cloud- en gecontaineriseerde gedistribueerde systemen hoog op de agenda, in plaats van de client-serverwereld die eind jaren negentig het oorspronkelijke .NET voortbracht.

Een cross-platform runtime voor een cross-platform wereld

Door .NET Core, .NET Standard en Xamarin in één platform te verenigen, wil Microsoft het platformoverschrijdende hoge terrein veroveren. Uw code (met wat UI-werk) kan worden uitgevoerd op Windows, Linux, iOS, Android en meer, met ondersteuning voor veel verschillende apparaatklassen. Door de ondersteuning van .NET Core 3 voor de Windows-desktop toe te voegen, is er een breed scala aan applicaties die in .NET 5 kunnen worden ingebouwd, vooral als u profiteert van UWP-besturingselementen die overal kunnen worden uitgevoerd dankzij ondersteuning van .NET-tools van derden van Uno en anderen.

Omdat .NET-implementaties verder gaan dan .NET Core, zal er nog steeds plaats zijn voor de .NET Standard-bibliotheken. Gemeenschappelijke bibliotheken maken het gemakkelijker om meerdere versies van .NET vanuit dezelfde broncode te targeten, en al uw .NET 5-code zal .NET Standard gebruiken, waardoor het gemakkelijker wordt om code naar voren te halen uit oudere versies van .NET Core en uit andere .NET-implementaties zoals Mono of Xamarin.

De zakelijke basis van .NET goed krijgen

Een aspect van de .NET 5-aankondiging is een regelmatig releaseschema voor .NET. Door .NET op een jaarlijkse cadans te zetten, met een tweejaarlijkse langetermijnondersteuningsrelease, zou de extra druk op ontwikkelaars moeten worden verlicht door een niveau van voorspelbaarheid toe te voegen dat ontbreekt. Wetende dat .NET 6 zal volgen in 2021, gevolgd door .NET 7 een jaar later, en met vier jaar ondersteuning voor de langetermijnondersteuningsreleases, zal het gemakkelijker worden om te plannen voor nieuwe functies en voor de levenscycli van applicaties. Hiermee kunnen Microsoft en de rest van de.NET Foundation duidelijke routekaarten publiceren van wat ze kunnen verwachten en wanneer ze dit kunnen verwachten.

Buiten het .NET-ecosysteem is er hier nog een andere mogelijkheid voor Microsoft en zijn focus op abonnementen op ontwikkelaarstools. Met de gewijzigde licentievoorwaarden van Oracle voor Java zal een royaltyvrije open source enterprise-runtime aantrekkelijk zijn voor veel bestaande Java-ontwikkelingsteams. Die aanloop van 18 maanden naar de lancering van .NET 5 zou kunnen worden gezien als tijd om uw ontwikkelaars te trainen in nieuwe talen en tools en om de herimplementatie van applicaties in .NET's microservices te plannen.

Alles bij elkaar genomen, is het resultaat een ondernemingsontwikkelingsvriendelijke .NET-roadmap. Microsoft en de .NET Foundation zetten zich in voor regelmatige updates en een enkele, platformonafhankelijke runtime, terwijl ze er toch voor zorgen dat oudere .NET Framework-toepassingen niet worden verlaten. Ondersteuning op de lange termijn zou ontwikkelingsteams moeten helpen bij het plannen van de levenscycli van applicaties, het kiezen van wat ze willen upgraden en wanneer. U kunt aan de slag met de huidige previews van .NET Core 3, klaar voor 2020-releases.