Miroslav Holec
Premium

Byla vydána LTS verze [ASP].NET Core 3.1 / EF Core 3.1

Miroslav Holec   6. prosince 2019

Článek se vztahuje k verzi produktu .NET Core 3.1

Tento článek byl napsán v roce 2019. Vývojářské technologie se neustále inovují a článek již nemusí popisovat aktuální stav technologie, ideální řešení a můj současný pohled na dané téma.

Vydání nové LTS verze frameworku je výjimečná událost. Přináší vývojářům totiž jistotu podpory po dobu tří let a s tím i velké množství prostoru pro aktualizace webových aplikací a jejich stabilizaci.

Od poslední LTS verze frameworku (2.1) utekla již dlouhá doba. Třetí major verze frameworku přinesla velké myšlenkové změny a plno užitečných nástrojů a drobností. O třetí verzi se začalo mluvit již polovině minulého roku. Na většině přednášek jste se dozvěděli velmi podobné a v zásadě strohé informace.

To nové přišlo ale až teď

A nemyslím konkrétně verzi 3.1. Novinek kolem třetí verze .NET Core je obrovské množství a objevily se prakticky až na poslední chvíli. Pokud jste tedy cca od října nenavnímali nic nového, s jistotou Vám téměř všechno uniklo. I proto jsem na konci listopadu uspořádal školení Novinky a změny v ASP.NET Core, kde jsem během tří hodin ukazoval to nejdůležitější, co by si neměl žádný vývojář nechat uniknout. Další termín jsem vypsal na leden 2020.

Tři roky klidu

Mnoho vývojářů začínají neustálé novinky unavovat. Naštěstí LTS verze přináší jistotu podpory na následující tři roky. Máte-li projekty napsané ve starších verzích, je ideální čas migrovat je na novou verzi. Nejde ale jen o migraci. Jarní údržba by se měla skládat z několika částí:

Změna target frameworku

Do této kategorie spadají především breaking changes a změny, které se týkají celého frameworku. Po změně target frameworku půjde zejména o připojení chybějících NuGet balíčků, přechod na Endpoint Routing nebo drobné úpravy ve startup rutinách.

Zapojení funkcí, které jsou opt-in

Pokud projekt udržujete ze starších verzí 1.x / 2.x, pak v každé verzi došlo k úpravám na projektových šablonách. Protože ale neexistuje žádný spolehlivý migrační mechanismus, nové funkce se Vám do projektu samy nepřidaly. Nově zapojené middlewares nebo chování logování tak přetrvává ze starších verzí.

Využití nových funkcí .NET Core

Dále je tu řada novinek nejen kolem frameworku ale i nástrojů. Mohou Vám usnadnit vývojářský život. Používat je sice nemusíte, ale stojí za to o nich vědět. Jak si v týmu vytvořit snadno NuGet balíček, nástroj nebo projektovou šablonu? Jak diagnostikovat produkčně nasazenou aplikaci z terminálu?

Pochopení co se vlastně děje a co to dělá

Nakonec mnoho novinek je ukrytých pod kapotou frameworku, runtime nebo kompileru. Vývojář o nich neví, protože zkrátka obvykle fungují a dělají to, co dělat mají. Jsem ale zastáncem toho, že je dobré vědět, jak věci fungují. Líbí se mi odhalovat souvislosti a skutečně chápat, co se stane, když zmáčknu F5 v IDEčku. A tady se samosebou také dost věcí za poslední roky změnilo.

.NET Core 3.1 Release Notes

V samotné verzi 3.1 se toho mnoho nezměnilo. Je to v zásadě stabilizační verze, která funkčně kopíruje to, co přišlo na podzim do 3.0. Veškeré informace jsou dostupné v release notes a zejména pak v článcích:

Entity Framework 3.1 / EF 6.4

Nakonec odkážu ještě na release notes ORMka EF Core. Upozorňuji, že tady došlo k jedné významnější změně. EF Core 3.1 je zpětně targetován na .NET Standard 2.0 (verze 3.0 byla zbytečně targetována na NET Standard 2.1).

A to je vše. Pokud se novinkami nechcete prokousávat a čeká Vás migrace na novou verzi, přijďte na lednové školení Novinky a změny v ASP.NET Core 3.x.