.NET 5: Što znači spajanje .NET Framework i .NET Core

Microsoftova .NET strategija možda je nedavno bila pomalo nejasna, s dva različita pravca razvoja u poznatom .NET Framework i novoj .NET Core otvorenog koda. Uobičajeni skup .NET Standardnih knjižnica imao je za cilj spojiti njih dvije, pružajući programerima jedan način rada s bilo kojom od različitih .NET verzija na svim njihovim ciljnim platformama, od Windows-a do mobitela i weba. Ali to je i dalje značilo da treba razmišljati o tome koje .NET runtime koristiti: Core, Xamarin, Mono ili Framework?

Predstavljamo vam .NET 5, budućnost .NET-a

Na Build 2019 Microsoft je predstavio svoje planove za budućnost .NET-a, najavljujući da će sljedeće veliko izdanje nakon .NET Core 3 biti jednostruka verzija .NET-a pod nazivom .NET 5. Nadovezujući se na brzi rast obnovljenog i obnovljenog .NET-a Core, Microsoft nastoji da mnogi postojeći API-ji i značajke .NET Framework 4.8 rade na .NET 5, zajedno s novim API-ima i uslugama. Ne konvergiraju se samo knjižnice osnovne klase; Microsoft koristi priliku da okupi svoje različite .NET kompajlere, razvijajući i .NET Core JIT (upravo u vrijeme) i Mono-ove modele kompilacije koji su prošli vrijeme.

Nije iznenađujuća odluka. .NET Framework nije napredovao tako brzo kao .NET Core, opterećen naslijeđenim kodom. To je, u kombinaciji s rastućim fokusom Microsofta na razvoj više platformi, osiguralo neizbježan odlučni prelazak s gotovo dvadeset godina starog okvira na noviju jezgru. Ispuštanje Core iz imena je također logično. S dodavanjem API-ja od pokretanja i podrškom za .NET Standardne biblioteke, .NET Core stvarno više nije reducirana jezgra za refaktoriranje. Budući da .NET 5 označava kraj razvoja .NET Framework-a, očito je vrijeme za novo ime.

Bez obzira na to, to neće biti promjena preko noći. .NET Core 3 još uvijek se isporučuje, a .NET 5 vidjet ćemo tek na jesen 2020. Planirani datum isporuke u studenom 2020. daje nam gotovo 18 mjeseci da pripremimo naš kôd, s verzijama za pregled dostupnim neko vrijeme u prva polovica 2020.

Što se događa s .NET Frameworkom?

Jedna stvar koju Microsoft jasno stavlja do znanja: .NET Core 3 bit će posljednje izdanje za priključivanje API-ja .NET Framework. Dakle, u .NET 5 neće biti dodatnih Framework API-ja, a neke starije tehnologije poput Web Forms i Windows Communication Foundation neće biti dio nove platforme. Ako želite prijeći s .NET Framework 4.8, morat ćete pronaći alternativne, podržane tehnologije. Trenutno Microsoft preporučuje Blazor da zamijeni web obrasce i gRPC da zamijeni WCF. Oni su razumne alternative, pružajući vam podršku za više platformi koja ne bi bila dostupna putem starijih tehnologija, a s Blazorom koji koristi Web Assembly ili nudi kontrole na strani poslužitelja u ASP.NET-u, sada podržavaju mnogo novije i veće performanse tehnologije.

Microsoftov savjet programerima je da počnu koristiti .NET Core 3 za sve nove programe, ali važno je napomenuti da ovo nije kraj vaših .NET Framework aplikacija. Microsoft se obvezuje na dugoročnu podršku .NET Framework, pa ako imate kôd pokrenut na .NET Framework 4.8, neće ga trebati ažurirati dok ne budete spremni za promjenu. Napokon, trenutno isporučuje osnovne razvojne alate, uključujući Visual Studio, izrađen pomoću .NET Framework-a. Čak i tada, s kompatibilnošću osnovne klase između većine novog .NET-a i starog zahvaljujući .NET Standardu, migracija ne bi trebala biti bolna i pružit će vam priliku za pokretanje tog koda na još mnogo mjesta.

Međutim, jednostavno migriranje koda propustit će priliku za refaktoriranje i redizajniranje aplikacija za oblak i mikroservise. .NET 5 razvija se za današnji IT svijet, s hibridnim oblakom i kontejnerskim distribuiranim sustavima koji su visoko na dnevnom redu, a ne sa svijetom klijent-poslužitelj koji je rodio izvorni .NET krajem devedesetih.

Izvršavanje više platformi za svijet više platformi

Objedinjavanjem .NET Core, .NET Standard i Xamarin u jednoj platformi, Microsoft želi zauzeti međuplatformno visoko mjesto. Vaš kôd (s nekim radom korisničkog sučelja) moći će se izvoditi na Windowsima, Linuxu, iOS-u, Androidu i mnogim drugim, uz podršku za mnoge različite klase uređaja. Dodajući podršku .NET Core 3 za Windows radnu površinu, postoji širok raspon aplikacija koje se mogu ugraditi u .NET 5, posebno ako iskoristite prednosti UWP kontrola koje se pokreću bilo gdje zahvaljujući podršci nezavisnih .NET alata iz Uno i drugi.

Kako implementacije .NET-a nadilaze .NET Core, i dalje će biti mjesta za .NET standardne knjižnice. Uobičajene knjižnice olakšavaju ciljanje više verzija .NET-a iz istog izvornog koda, a sav vaš .NET 5 kôd upotrebljavat će .NET Standard, pojednostavljujući prenošenje koda iz starijih verzija .NET Core-a i iz drugih .NET-ovih implementacija kao što je npr. Mono ili Xamarin.

Pravilno postavljanje .NET-ovih korporacija

Jedan od aspekata najave .NET 5 je redoviti raspored izdavanja za .NET. Stavljanje .NET-a u godišnji ritam, s dvogodišnjim izdanjem dugoročne podrške, trebalo bi ublažiti dodatni pritisak na programere, dodajući razinu predvidljivosti koja nedostaje. Znajući da će se .NET 6 pojaviti 2021. godine, a slijedi ga .NET 7 godinu dana kasnije, a s četiri godine podrške za dugoročna izdanja podrške olakšat će planiranje novih značajki i životnih ciklusa aplikacija. Omogućit će Microsoftu i ostatku.NET Foundation da objave jasne mape puta što očekivati ​​i kada to očekivati.

Izvan .NET ekosustava, ovdje postoji još jedna prilika za Microsoft i njegov fokus na pretplate na alate za programere. S Oracleovim izmijenjenim uvjetima licenciranja za Javu, bespovratno radno vrijeme otvorenog koda bit će privlačno mnogim postojećim Java razvojnim timovima. Ovih 18 mjeseci prije pokretanja .NET-a 5 moglo bi se smatrati vremenom za osposobljavanje programera za nove jezike i alate i planiranje ponovne primjene aplikacija u .NET-ovim mikro servisima.

Ako se sve skupa skupi, rezultat je .NET putopisna karta tvrtke pogodna za programere. Microsoft i .NET Foundation obvezuju se na redovita ažuriranja i jedinstveno, višeplatformno vrijeme izvođenja, uz istovremeno osiguravanje da starije aplikacije .NET Framework ne budu napuštene. Dugoročna podrška trebala bi pomoći razvojnim timovima u planiranju životnih ciklusa aplikacija, odabiru što nadograditi i kada. Možete započeti s trenutnim pregledima .NET Core 3, spremnim za izdanja 2020. godine.