Programmering

.NET 5: Hvad betyder fusionen af ​​.NET Framework og .NET Core

Microsofts .NET-strategi kan have været lidt uklar for nylig med to forskellige tråde af udvikling i det velkendte .NET Framework og den nye open source. NET Core. Et fælles sæt .NET Standard-biblioteker har til formål at bringe de to sammen, hvilket giver udviklere en enkelt måde at arbejde med en hvilken som helst af de forskellige .NET-versioner på alle deres målplatforme, fra Windows til mobil til internettet. Men det betød stadig at skulle tænke på, hvilken .NET-runtime der skal bruges: Core, Xamarin, Mono eller Framework?

Introduktion til .NET 5, fremtiden for. NET

På Build 2019 afslørede Microsoft sine planer for fremtiden for .NET og annoncerede, at den næste store frigivelse efter. NET Core 3 ville være en enkelt version af. NET kaldet. NET 5. Bygger på den hurtige vækst i det ombyggede og genoplivede. NET Core, Microsoft sigter mod at have mange eksisterende .NET Framework 4.8 API'er og funktioner, der kører på .NET 5 sammen med nye API'er og tjenester. Det er ikke kun basisklassebibliotekerne, der konvergerer; Microsoft benytter lejligheden til at bringe sine forskellige .NET-kompilatorer sammen og udvikler både .NET Core's JIT (just-in-time) og Monos kompilationsmodeller, der forud for tiden.

Det er ikke en overraskende beslutning. .NET Framework avancerede ikke så hurtigt som .NET Core, tynget af ældre kode. Dette kombineret med Microsofts voksende fokus på udvikling på tværs af platforme sikrede, at et afgørende skridt fra den næsten tyve år gamle ramme til den nyere Core var uundgåelig. At slippe kerne fra navnet er også logisk. Med API'erne tilføjet siden lancering og understøttelse af .NET Standard-bibliotekerne, er .NET Core virkelig ikke en nedskåret kerne, der omlægger mere. Med .NET 5, der signalerer afslutningen på udviklingen af ​​.NET Framework, er det klart tid til et nyt navn.

Alligevel bliver det ikke en ændring natten over. .NET Core 3 sendes stadig, og vi kan ikke se .NET 5 før efteråret 2020. En planlagt leveringsdato i november 2020 giver os næsten 18 måneder på at få vores kode klar, med forhåndsvisning versioner tilgængelig et stykke tid i første halvdel af 2020.

Hvad sker der med .NET Framework?

En ting Microsoft gør klart: .NET Core 3 vil være den sidste udgivelse til port .NET Framework API'er. Så der vil ikke være nogen yderligere Framework API'er i .NET 5, og nogle ældre teknologier såsom webformularer og Windows Communication Foundation vil ikke være en del af den nye platform. Hvis du vil skifte fra .NET Framework 4.8, skal du finde alternative, understøttede teknologier. I øjeblikket anbefaler Microsoft Blazor at erstatte webformularer og gRPC at erstatte WCF. De er fornuftige alternativer, der giver dig support på tværs af platforme, der ikke ville være tilgængelig gennem ældre teknologier, og da Blazor bruger Web Assembly eller tilbyder server-kontrol i ASP.NET, understøtter de nu meget nyere og højere ydelse teknologier.

Microsofts råd til udviklere er at begynde at bruge .NET Core 3 til alle nye applikationer, men det er vigtigt at bemærke, at dette ikke er slutningen på dine .NET Framework-applikationer. Microsoft forpligter sig til langsigtet support af .NET Framework, så hvis du har kode, der kører på. NET Framework 4.8, behøver den ikke at blive opdateret, før du er klar til at foretage skiftet. Når alt kommer til alt, er det i øjeblikket forsendelse af centrale udviklerværktøjer, herunder Visual Studio, bygget ved hjælp af .NET Framework. Selv da, med basisklassekompatibilitet mellem meget af det nye .NET og det gamle takket være .NET Standard, burde migrering ikke være smertefuldt og giver dig mulighed for at køre koden mange flere steder.

Imidlertid vil simpelthen migrering af kode gå glip af muligheden for at omlægge og redesigne applikationer til cloud og mikrotjenester. .NET 5 udvikles til nutidens it-verden med hybride skyer og containerdistribuerede systemer højt på sin dagsorden snarere end klientserververdenen, der fødte den originale .NET tilbage i slutningen af ​​1990'erne.

En runtime på tværs af platforme til en platform på tværs af platforme

Ved at samle .NET Core, .NET Standard og Xamarin i en platform, sigter Microsoft på at gribe den højtliggende platform på tværs af platforme. Din kode (med noget UI-arbejde) kan køre på Windows, Linux, iOS, Android og mere med support til mange forskellige klasser af enheder. Tilføjelse af .NET Core 3-understøttelse til Windows-skrivebordet, der er en bred vifte af applikationer, der kan indbygges i. NET 5, især hvis du drager fordel af UWP-kontrol overalt takket være support fra tredjeparts. NET-værktøjer fra Uno og andre.

Da .NET-implementeringer går ud over .NET Core, vil der stadig være et sted for. NET Standard-bibliotekerne. Almindelige biblioteker gør det lettere at målrette mod flere versioner af .NET fra den samme kildekode, og al din. NET 5-kode vil bruge. NET Standard, hvilket forenkler at bringe koden frem fra ældre versioner af. NET Core og fra andre. NET-implementeringer som f.eks. Mono eller Xamarin.

At få .NET's enterprise-fodfæste

Et aspekt af .NET 5-meddelelsen er en regelmæssig udgivelsesplan for. NET. At sætte .NET på en årlig kadence med en halvårlig frigivelse af support på lang sigt, bør lette yderligere pres på udviklere og tilføje et niveau af forudsigelighed, der mangler. At vide, at .NET 6 vil være sammen i 2021, efterfulgt af .NET 7 et år senere og med fire års support til de langsigtede supportudgivelser vil gøre det lettere at planlægge for nye funktioner og for applikationslivscyklusser. Det giver Microsoft og resten af.NET Foundation mulighed for at offentliggøre klare vejkort over, hvad man kan forvente, og hvornår man kan forvente det.

Uden for .NET-økosystemet er der en anden mulighed her for Microsoft og dets fokus på abonnementer på udviklerværktøjer. Med Oracles ændrede licensbetingelser for Java vil en royaltyfri open source-virksomheds runtime være attraktiv for mange eksisterende Java-udviklingsteams. Den 18-måneders opstart til lanceringen af ​​.NET 5 kunne ses som tid til at træne dine udviklere i nye sprog og værktøjer og til at planlægge reimplementering af applikationer i .NETs mikroservices.

Når man sætter det hele sammen, er resultatet en virksomhedsudviklervenlig .NET-køreplan. Microsoft og .NET Foundation forpligter sig til regelmæssige opdateringer og en enkelt kørselstid på tværs af platforme, mens de stadig sørger for, at ældre .NET Framework-applikationer ikke opgives. Langsigtet support skal hjælpe udviklingshold med at planlægge applikationslivscyklusser, vælge hvad der skal opgraderes og hvornår. Du kan komme i gang med de aktuelle previews af .NET Core 3, klar til 2020-udgivelser.