.NET 5: Какво означава сливането на .NET Framework и .NET Core

Наскоро стратегията на Microsoft .NET може да е малко неясна напоследък, с две отделни направления на развитие в познатата .NET Framework и новата .NET Core с отворен код. Често срещан набор от .NET стандартни библиотеки има за цел да обедини двете, като дава на разработчиците един начин да работят с която и да е от различните .NET версии на всичките си целеви платформи, от Windows до мобилни до мрежата. Но това все пак означаваше да се наложи да помислите коя среда за изпълнение .NET да използвате: Core, Xamarin, Mono или Framework?

Представяме ви .NET 5, бъдещето на .NET

По време на Build 2019 Microsoft разкри плановете си за бъдещето на .NET, обявявайки, че следващата голяма версия след .NET Core 3 ще бъде една версия на .NET, наречена .NET 5. Въз основа на бързия растеж в реконструирания и ревигриран .NET Core, Microsoft се стреми да има много съществуващи API и функции на .NET Framework 4.8, работещи на .NET 5, заедно с нови API и услуги. Не само библиотеките на базовия клас се сближават; Microsoft се възползва от възможността да обедини различните си .NET компилатори, развивайки както JIT на .NET Core (точно навреме), така и модели за компилация преди време на Mono.

Не е изненадващо решение. .NET Framework не напредваше толкова бързо, колкото .NET Core, претеглено от наследения код. Това, в комбинация с нарастващия фокус на Microsoft върху развитието на различни платформи, гарантира, че решителното преминаване от почти двадесетгодишната рамка към по-новото ядро ​​е неизбежно. Отпадането на Core от името също е логично. С добавените приложни програмни интерфейси (API) след стартирането и поддръжката на .NET Standard библиотеките, .NET Core наистина вече не е рефакторинг на съкратено ядро. С .NET 5, който сигнализира за края на разработката на .NET Framework, очевидно е време за ново име.

Въпреки това, това няма да бъде промяна за една нощ. .NET Core 3 все още се доставя и няма да видим .NET 5 до есента на 2020 г. Планираната дата на доставка през ноември 2020 г. ни дава близо 18 месеца, за да подготвим кода си, с версии за предварителен преглед, налични известно време в първата половина на 2020 г.

Какво се случва с .NET Framework?

Едно нещо, което Microsoft изяснява: .NET Core 3 ще бъде последното издание за пристаняване на API на .NET Framework. Така че в .NET 5 няма да има допълнителни API на Framework, а някои по-стари технологии като Web Forms и Windows Communication Foundation няма да бъдат част от новата платформа. Ако искате да преминете от .NET Framework 4.8, тогава ще трябва да намерите алтернативни, поддържани технологии. В момента Microsoft препоръчва Blazor да замени Web Forms и gRPC да замени WCF. Те са разумни алтернативи, които ви осигуряват поддръжка на различни платформи, която не би била достъпна чрез по-стари технологии, а с Blazor, използващ Web Assembly или предлагащ контрол от страна на сървъра в ASP.NET, те вече поддържат много по-нови и по-ефективни технологии.

Съветът на Microsoft към разработчиците е да започнат да използват .NET Core 3 за всички нови приложения, но е важно да се отбележи, че това не е краят на вашите приложения .NET Framework. Microsoft се ангажира с дългосрочна поддръжка на .NET Framework, така че ако имате код, работещ на .NET Framework 4.8, няма да е необходимо да се актуализира, докато не сте готови да извършите смяната. В края на краищата в момента се доставят основните инструменти за разработчици, включително Visual Studio, изградени с помощта на .NET Framework. Дори и тогава, със съвместимостта на базовия клас между голяма част от новия .NET и стария, благодарение на .NET Standard, миграцията не трябва да бъде болезнена и ще ви даде възможност да стартирате този код на много повече места.

Просто мигриращият код обаче ще пропусне възможността за рефакториране и редизайн на приложения за облак и за микроуслуги. .NET 5 се разработва за днешния ИТ свят с хибридни облачни и контейнеризирани разпределени системи, които са високо на дневен ред, а не клиент-сървърният свят, който роди оригиналния .NET в края на 90-те години.

Изпълнение на различни платформи за свят на различни платформи

Чрез обединяването на .NET Core, .NET Standard и Xamarin в една платформа, Microsoft се стреми да се възползва от високата платформа. Вашият код (с известна работа на потребителския интерфейс) ще може да се изпълнява под Windows, Linux, iOS, Android и други, с поддръжка за много различни класове устройства. Като добавим поддръжката на .NET Core 3 за работния плот на Windows, има широк спектър от приложения, които могат да бъдат вградени в .NET 5, особено ако се възползвате от UWP контролите, които се изпълняват навсякъде, благодарение на поддръжката на .NET инструменти на трети страни от Uno и други.

Тъй като внедряванията на .NET надхвърлят .NET Core, все още ще има място за .NET стандартните библиотеки. Общите библиотеки улесняват насочването на множество версии на .NET от един и същ изходен код и целият ви код .NET 5 ще използва .NET Standard, опростявайки пренасянето на код напред от по-стари версии на .NET Core и от други внедрения на .NET, като например Моно или Xamarin.

Получаване на правилните основи на .NET за предприятията

Един аспект на съобщението .NET 5 е редовен график за пускане на .NET. Поставянето на .NET на годишен каданс, с двугодишно освобождаване за дългосрочна поддръжка, трябва да облекчи допълнителния натиск върху разработчиците, като добави ниво на предсказуемост, което липсва. Знаейки, че .NET 6 ще продължи през 2021 г., за да бъде последван от .NET 7 година по-късно и с четири години поддръжка за дългосрочните версии на поддръжката ще улесни планирането на нови функции и на жизнения цикъл на приложенията. Това ще позволи на Microsoft и останалата част от .NET Foundation да публикуват ясни пътни карти за това какво да очакват и кога да го очакват.

Извън екосистемата .NET тук има още една възможност за Microsoft и нейният фокус върху абонаментите за инструменти за разработчици. С променените условия за лицензиране на Oracle за Java, безплатното изпълнение с отворен код за предприятия ще бъде привлекателно за много съществуващи екипи за разработка на Java. Този 18-месечен опит за стартирането на .NET 5 може да се разглежда като време да обучите разработчиците си на нови езици и инструменти и да планирате повторно изпълнение на приложения в микрослужбите на .NET.

Събирайки всичко това, резултатът е .NET пътна карта, подходяща за разработчици на предприятия. Microsoft и .NET Foundation се ангажират с редовни актуализации и единна платформа за изпълнение, като същевременно се уверяват, че по-старите приложения .NET Framework не са изоставени. Дългосрочната поддръжка трябва да помогне на екипите за разработка да планират жизнения цикъл на приложенията, като избират какво да надстроят и кога. Можете да започнете с текущите визуализации на .NET Core 3, готови за версии 2020.