Programování

Principy Microsoft .NET 5

Jedním z klíčových témat vývojářské strategie společnosti Microsoft do roku 2020 je pravděpodobně nejlepší myšlenka jako přechod mezi generacemi. Jedná se o relativně hladké předání, koncipované jako sjednocení starých a nových způsobů práce. Ale nakonec, ať už se jedná o Project Reunion, WinUI 3 nebo spuštění .NET 5, nová technologie postupuje vpřed a nechává staré za sebou.

To není špatná věc. Vyvíjíme nové způsoby, jak dělat věci z mnoha důvodů, ale často se spojují kolem jednoho klíčového bodu: Nový způsob je lepší. Řeší problémy, které staré nástroje nemohly, a odpovídá na nové otázky, které nebyly kladeny při definování původního řešení.

Nový .NET pro nový svět

Všechny tyto důvody se spojily při přechodu z .NET Framework na .NET 5. Před dvaceti lichými lety, kdy se definoval původní .NET Framework, jsme vytvořili monolitické aplikace klient-server v těsně definovaných IT prostředích. Nyní vytváříme směs lehkých distribuovaných mikroslužeb a mobilních aplikací pro různé platformy s využitím rychle se měnících infrastruktur. Je to, navzdory klišé, zcela nový svět.

.NET Core byl navržen pro tento způsob práce; napříč platformami od počátku svého života a je určen k podpoře nových mobilních aplikací založených na cloudu i tradičních vývojových vzorů a postupů .NET. Vyzvedlo více a více API prostřednictvím tří hlavních verzí a když knihovny .NET Standard začaly nabízet společný cíl pro kód, který usnadnil sdílení projektů napříč, .NET Framework a Xamarin.

.NET 5: Cesta pro budoucí vývoj

Technicky by tato nová verze měla být .NET Core 4, ale Microsoft přeskočí číslo verze, aby nedocházelo k záměně s aktuální verzí .NET Framework. Ve stejné době přesunutí na vyšší číslo verze a zrušení Core z názvu znamená, že se jedná o další krok pro veškerý vývoj .NET. Dva projekty si stále zachovávají název Core: ASP.NET Core 5.0 a Entity Framework Core 5, protože starší projekty se stejnými čísly verzí stále existují.

Je to důležitý milník, označení bodu, ve kterém musíte zvážit zahájení všech nových projektů v .NET 5 a přesun veškerého existujícího kódu z .NET Framework. Ačkoli Microsoft neodstraňuje podporu z .NET Framework, je v režimu údržby a v budoucích bodových verzích nezíská žádné nové funkce. Všechna nová rozhraní API a vývoj komunity budou v .NET 5 (a dlouhodobá podpora .NET 6 v roce 2021).

Některé známé technologie, jako jsou webové formuláře a Windows Communication Foundation, jsou v .NET 5. zastaralé. Pokud je stále používáte, je nejlepší prozatím zůstat na .NET Framework 4 a naplánovat migraci na novější podporované technologie, například jako stránky Razor ASP.NET nebo gRPC. Existují plány podpory komunity pro alternativní rámce, které budou nabízet podobná API, ale práce s novějšími přístupy pomůže budoucímu kódu a usnadní práci na různých platformách.

Jedním z mírně matoucích aspektů .NET 5 je to, jak funguje s knihovnami .NET Standard. Neodcházejí, i když je kód .NET 5 nemusí přímo odkazovat, protože jsou nyní podmnožinou cílového rozhraní .NET 5 (TFM). Tento nový TFM nahrazuje starý netcoreapp a netstandard TFM, i když píšete kód, který je třeba sdílet napříč rámci, můžete pro účely kompatibility stále používat .NET Standard 2.0 TFM. Ve většině případů však pravděpodobně budete pracovat pouze v prostředí .NET 5, abyste mohli bezpečně dodržet a net5.0 Prohlášení TFM.

Začínáme s .NET 5

.NET 5.0 pokračuje v hostování stejné známé sady jazyků, včetně nových verzí C # i F #. Tyto přidávají mnoho nových funkcí a přicházejí jako součást Visual Studio 16.8 nebo s aktualizovaným rozšířením C # Visual Studio Code. Microsoft přesunul framework a všechny jeho implementace, stejně jako mnoho Mono, do jediného úložiště GitHub, konsoliduje vývoj a zajišťuje, aby všechny verze měly stejné základní funkce. Jak Microsoft přechází na .NET 6, přinese další implementace na vyšší úrovni, včetně Xamarin.

Nový .NET zůstává založen na technikách kompilátoru just-in-time vyvinutých pro původní Common Language Runtime. Nový CoreCLR pokračuje ve zlepšování výkonu při práci napříč více architekturami procesorů. S příchodem procesorů Apple M1 ARM bude kód napsaný v .NET pro macOS spuštěn jako nativní binární soubory na hardwaru založeném na Intel i ARM, takže kód nebude muset procházet druhou vrstvou emulace. Podpora ARM64 umožní aplikacím .NET 5 nativně běžet v systému Windows na hardwaru ARM s využitím výhod funkcí vlastních procesorů SQ1 a SQ2 společnosti Microsoft.

Některé scénáře, jako je Web Assembly a mobilní operační systémy, vyžadují předkompilovaný kód a .NET 5 nabízí kompilátor předstihu vedle svých nástrojů JIT. Kompilátor AOT je nyní k dispozici pro jakékoli vývojové prostředí a tým platformy Uno již vidí výrazné zvýšení rychlosti pro jeho podporu Web Assembly, a to v řádu 7 až 15krát oproti předchozímu jazykovému tlumočníkovi Web Assembly.

Existují plány na zpřístupnění kompilátoru AOT pro aplikace, které potřebují rychlé spuštění a nižší nároky na paměť, například na inteligentních hodinkách s omezeným zdrojem a hardwaru IoT. Další možností je nasazení jednoho souboru. Všechno potřebné pro aplikaci (včetně modulu runtime) je svázáno do jednoho balíčku, což usnadňuje nasazení aplikací .NET v kontejnerech nebo v systémech jiných než Windows.

Nový .NET by neměl být viděn izolovaně. Další vývoj kolem Web Assembly s Blazorem a vývoj uživatelského rozhraní mezi platformami s MAUI (multiplatformní uživatelské rozhraní aplikace) jsou také důležité. Pomocí kombinace těchto technologií nelze na .NET 5 cílit jen velmi málo, od hardwaru třídy Raspberry Pi přes telefony Android až po kontejnery hostované v Kubernetes běžící na AWS a Azure.

Na .NET 6 v roce 2021

Jedním důležitým bodem je, že jde pouze o další krok procesu. .NET 5 je klíčová technologie pro oddělení rozhraní Windows API od operačního systému, sloučení Project Reunion rozhraní WinRT a Win32 API a přechod na vrstvy WinUI 3 a MAUI jako vrstvy uživatelského rozhraní. Hodně z této práce pokračuje vydáním .NET 6 v roce 2021 - cílem mnoha z těchto projektů. Než začnete s migrací, nemusíte čekat na .NET 6. Čím dříve začnete, tím lépe, což vám poskytne čas na řešení všech problémů, které se mohou objevit.

Měli byste vidět .NET 5 jako první krok v další části cesty .NET, kde byste měli začít brát veškerý ten starší kód a rozhodnout se, co je nutné přenést portováním a aktualizací a co je třeba úplně vyměnit . S blížícím se koncem roku 2020 budete pravděpodobně plánovat svůj plán rozvoje do roku 2021. S tímto vědomím by .NET 5 měl být objektivem, který vám pomůže soustředit se na to, co je třeba udělat, aby vaše softwarová nemovitost byla připravena na mnohem rychlejší budoucnost, která již není vázána na vydání Windows - nebo na Windows vůbec.

$config[zx-auto] not found$config[zx-overlay] not found