Programovanie

Pochopenie Microsoft .NET 5

Za jednu z kľúčových tém vývojovej stratégie spoločnosti Microsoft do roku 2020 sa možno najlepšie považuje prechod z generácie na generáciu. Je to relatívne plynulé odovzdanie, ktoré je koncipované ako zjednotenie starých a nových spôsobov práce. Ale nakoniec, či už sa jedná o Project Reunion, WinUI 3 alebo uvedenie .NET 5, nová technológia napreduje a staré necháva za sebou.

To nie je zlá vec. Vyvíjame nové spôsoby, ako robiť veci z mnohých dôvodov, ale často sa spájajú okolo jedného kľúčového bodu: Nový spôsob je lepší. Rieši problémy, ktoré staré nástroje nedokázali, a odpovedá na nové otázky, ktoré sa pri definovaní pôvodného riešenia nepýtali.

Nový .NET pre nový svet

Všetky tieto dôvody sa spojili pri prechode z .NET Framework na .NET 5. Pred dvadsiatimi nepárnymi rokmi, keď sa definoval pôvodný .NET Framework, sme vytvorili monolitické aplikácie klient-server v presne definovaných prostrediach IT. Teraz budujeme kombináciu ľahkých distribuovaných mikroslužieb a mobilných aplikácií pre rôzne platformy pomocou rýchlo sa meniacich infraštruktúr. Je to napriek klišé úplne nový svet.

.NET Core bol navrhnutý pre tento spôsob práce; cross-platform od samého začiatku svojej životnosti a zameraná na podporu nových mobilných aplikácií, ktoré sú prvými v cloude, ako aj tradičné vývojové vzory a postupy .NET. Vyzdvihla viac a viac rozhraní API prostredníctvom troch hlavných vydaní, a keď knižnice .NET Standard začali ponúkať spoločný cieľ pre kód, ktorý uľahčoval zdieľanie projektov v rámci nej, .NET Framework a Xamarin.

.NET 5: Cesta pre budúci vývoj

Technicky by toto nové vydanie malo byť .NET Core 4, ale spoločnosť Microsoft preskočí číslo verzie, aby nedošlo k zámene s aktuálnym vydaním .NET Framework. Zároveň prechod na vyššie číslo verzie a vypustenie jadra z názvu naznačuje, že toto je ďalší krok pre celý vývoj .NET. Dva projekty si stále zachovávajú názov Core: ASP.NET Core 5.0 a Entity Framework Core 5, pretože staršie projekty s rovnakými číslami verzií stále existujú.

Je to dôležitý míľnik, ktorý označuje bod, v ktorom musíte zvážiť začatie všetkých nových projektov v .NET 5 a presunutie existujúceho kódu z .NET Framework. Aj keď spoločnosť Microsoft neodstraňuje podporu z .NET Framework, je v režime údržby a v budúcich bodových vydaniach nedostane žiadne nové funkcie. Všetky nové API a vývoj komunity budú v .NET 5 (a 2021 s dlhodobou podporou .NET 6).

Podpora niektorých známych technológií, ako sú webové formuláre a Windows Communication Foundation, sa v .NET 5. končí. Ak ich stále používate, je najlepšie zatiaľ zostať na .NET Framework 4 a naplánovať migráciu na novšie podporované technológie, napríklad ako stránky ASP.NET Razor Pages alebo gRPC. Existujú plány komunitnej podpory alternatívnych rámcov, ktoré ponúknu podobné API, ale práca s novšími prístupmi pomôže budúcemu kódu a uľahčí prácu naprieč platformami.

Jedným mierne mätúcim aspektom .NET 5 je jeho fungovanie s knižnicami .NET Standard. Nejdú preč, hoci kód .NET 5 ich nemusí priamo odkazovať, pretože teraz sú podmnožinou zástupcu cieľovej architektúry .NET 5 (TFM). Táto nová TFM nahrádza starú netcoreapp a netstandard TFM, aj keď v prípade, že píšete kód, ktorý je potrebné zdieľať v rámci rôznych rámcov, môžete na účely kompatibility stále používať .NET Standard 2.0 TFM. Vo väčšine prípadov však pravdepodobne budete pracovať iba v prostredí .NET 5, aby ste mohli bezpečne zostať pri net5.0 Vyhlásenie TFM.

Začíname s .NET 5

.NET 5.0 pokračuje v hostení rovnakej známej sady jazykov vrátane nových verzií C # aj F #. Tieto pridávajú veľa nových funkcií a prichádzajú ako súčasť Visual Studio 16.8 alebo s aktualizovaným rozšírením C # Visual Studio Code. Spoločnosť Microsoft presunula rámec a všetky jeho implementácie, podobne ako veľkú časť Mono, do jedného úložiska GitHub, čím konsolidovala vývoj a zabezpečila, aby všetky verzie mali rovnaké základné vlastnosti. Keď Microsoft prejde na .NET 6, prinesie ďalšie implementácie na vyššej úrovni, vrátane Xamarin.

Nový .NET zostáva založený na technikách kompilátora just-in-time vyvinutých pre pôvodný Common Language Runtime. Nový CoreCLR pokračuje v zlepšovaní výkonu pri práci na viacerých architektúrach procesorov. S príchodom procesorov založených na ARM od spoločnosti Apple M1 bude kód napísaný v .NET pre macOS bežať ako natívne binárne súbory na hardvéri založenom na procesoroch Intel aj ARM, takže kód nebude musieť prechádzať druhou vrstvou emulácie. Podpora ARM64 umožní aplikáciám .NET 5 natívne bežať v systéme Windows na hardvéri ARM s využitím výhod funkcií vlastných procesorov Microsoft SQ1 a SQ2.

Niektoré scenáre, ako napríklad Web Assembly a mobilné operačné systémy, vyžadujú predkompilovaný kód a .NET 5 ponúka okrem svojich nástrojov JIT aj kompilátor v predstihu. Kompilátor AOT je teraz k dispozícii pre akékoľvek vývojové prostredie a tím platformy Uno Platform už zaznamenáva výrazné zvýšenie rýchlosti pre svoju podporu webového zhromaždenia, rádovo 7 až 15-násobne oproti predchádzajúcemu jazykovému tlmočníkovi.

Existujú plány na sprístupnenie kompilátora AOT pre aplikácie, ktoré potrebujú rýchle spustenie a menšie nároky na pamäť, napríklad na inteligentných hodinkách s obmedzeným zdrojom a hardvéri IoT. Ďalšou možnosťou je nasadenie jedného súboru. Všetko potrebné pre aplikáciu (vrátane runtime) je zoskupené do jedného balíka, čo uľahčuje nasadenie aplikácií .NET v kontajneroch alebo na systémoch iných ako Windows.

Na nový .NET by sa nemalo pozerať izolovane. Dôležitý je aj ďalší vývoj okolo Web Assembly s Blazorom a vývoj multiplatformného používateľského rozhrania s MAUI (multiplatformové používateľské rozhranie aplikácie). Pomocou kombinácie týchto technológií nemožno na .NET 5 zacieliť veľmi málo, od hardvéru triedy Raspberry Pi po telefóny so systémom Android až po kontajnery hostované v Kubernetes, ktoré bežia na AWS a Azure.

Na .NET 6 v roku 2021

Dôležitým bodom je, že ide iba o ďalší krok v procese. .NET 5 je kľúčová technológia na oddelenie Windows API od OS, zlúčenie Project Reunion WinRT a Win32 API a prechod na WinUI 3 a MAUI ako vrstvy používateľského rozhrania. Veľa z týchto prác pokračuje vydaním .NET 6 v roku 2021 - cieľom mnohých z týchto projektov. Na začatie migrácie nemusíte čakať na .NET 6. Čím skôr začnete, tým lepšie, čím získate čas na riešenie akýchkoľvek problémov, ktoré sa môžu objaviť.

Mali by ste vidieť .NET 5 ako prvý krok v ďalšej etape cesty .NET, kde by ste mali začať brať všetok ten starší kód a rozhodnúť sa, čo je potrebné preniesť pomocou prenosu a aktualizácie, a čo treba úplne vymeniť . S blížiacim sa koncom roku 2020 budete pravdepodobne plánovať svoj plán vývoja do roku 2021. Z tohto dôvodu by .NET 5 mal byť objektív, ktorý vám pomôže zamerať sa na to, čo je potrebné urobiť, aby bol váš softvérový komplex pripravený na oveľa rýchlejšiu budúcnosť, ktorá už nebude viazaná na vydania Windows - alebo na Windows vôbec.

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