Wprowadzenie

10 listopada 2020 roku jest niezwykle ważną data dla programistów platformy .NET. W tym dniu Microsoft udostępnił .NET 5.0. Głównym założeniem platformy (a jednocześnie złożoną obietnicą) jest ujednolicenie różnych wersji frameworka dzięki czemu znacznie większa grupa programistów będzie w stanie dokonać migracji kodu oraz aplikacji na .NET 5.0.

Oficjalne ogłoszenie dostępności platformy nastąpiło w trakcie pierwszego dnia wirtualnej konferencji .NET Conf 2020. Dlaczego o tym wspominam? Jeżeli przegapiliście sesje live możecie skorzystać z powtórek dostępnych na kanale youtube: Kanał YouTube platformy .NET.

Przyszłość, plany, wsparcie

Zanim pójdziemy dalej musimy pamiętać, że .NET 5 jest pierwszym głównym produktem na drodze do ujednolicenia całej platformy .NET. Jest to następca .NET Core 3.x. Dlaczego o tym mówię? W zeszłym roku Microsoft ogłosił, że spodziewa się wydawania kolejnych wersji ujednoliconej platformy w listopadzie każdego roku. Dla nas naistotniejsza jest informacja, że przyszłoroczna platforma .NET 6.0 będzie oznaczona wsparciem długoterminowym: .NET Roadmap

Istniejące wersje .NET Framework nadal pozostają wspieranymi produktami wraz z kolejnymi wersjami systemu Windows. Musimy jednak pamiętać, że Microsoft ogłosił, iż przestał dodawać nowe funkcje do .NET Framework od wersji 4.8 oraz zakończył dodawanie API do .NET Core. Firma nie planuje również wydania nowej wersji .NET Standard - pamiętajmy, że .NET 5 oraz kolejne wersje będą jednak wpierały .NET Standard 2.1 oraz wersje wcześniejsze.

Nowości

.NET 5 udostępnia programistom narzędzia, interfejsy programistyczne, funkcje działające w środowisku uruchomieniowym oraz nowe wersje dostępnych języków. Są to kluczowe elementy zalecane przez Microsoft przy tworzeniu interfejsów użytkownika oraz usług back-endowych.

Poznajmy zatem powyższe elementy nowej, ujednoliconej platformy…

C# 9, F# 5, EF Core 5.0 oraz najnowsze wydanie ASP.NET Core stanowią trzon całej platformy. Firma zachęca do tworzenia nowych interfejsów API w oparciu o .NET 5 oraz integrację z narzędziami takimi jak Power Platform - jest to zbiór aplikacji, które pozwalają na tworzenie zaawansowanych aplikacji bez lub z minimalną ilością kodu wykorzystując automatyzację procesów czy analitykę. Zgodnie z zapowiedziami pojawia się również natywne wsparcie dla Windows Arm64, poprawa wydajności bibliotek .NET oraz Garbage Collector. Istotne zmiany dotyczą również zmniejszenia rozmiaru obrazu kontenera (zyskujemy od 30 do 40% w zależności od systemu na którym opiera się kontener) przy budowaniu wielopoziomowym (o samej optymalizacji tworzonych kontenerów pisałem w tym artykule: .NET Core – Docker: budowanie wielopoziomowe).

Wspomiane powyżej wsparcie dla Windows Arm64 nie jest jeszcze kompletne. SDK nie zawiera obiecnie komponentów dla popularnych (desktopowych) typów aplikacji takich jak:

  • Windows Forms
  • WPF
Zgodnie z oficjalnym komunikatem Microsoft ma nadzieję, że w ramach przyszłych aktualizacji platformy wsparcie dla pakietu desktopowego zostanie dodane. Obecie na urządzeniach takich jak Surface Pro X możemy tworzyć aplikacje konsolowe oraz webowe przy wykorzystaniu ASP.NET Core.

Kolejne ograniczenie dotyczy twórców środowiska Xamarin. Pełne wsparcie pojawi się dopiero w przyszłym roku wraz z wersją .NET 6.0. Mam tutaj na myśli .NET MAUI - multiplatformowy, natywny interfejs użytkownika zaprojektowany w celu wdrażania na urządzeniach mobilnych i urządzeniach stacjonarnych przy wykorzystaniu jednego projektu i kodu bazowego. Rozwiązanie to stanowi ewolucję Xamarin.Forms. Miejcie jednak w pamięci, że wiele prac w kierunku integracji z Xamarin zostało już wykonane dlatego kolejna wersja zapewni pełne wsparcie.

Zespół od wielu miesięcy pracuje nad platformą .NET 5, której użycie w codziennej pracy powinno wpłynać pozytywnie na wiele aspektów. Uzyskujemy szeroki zestaw ulepszeń, poprawę wydajności czy wsparcie Arm64. Ulepszenia języka C# 9 oraz F# 5 powinny spowodować, że nasz kod będzie bardziej wyrazisty i łatwiejszy do napisania. Dodatkowo nie powinniśmy mieć większych problem z migracją kodu istniejących aplikacji na .NET 5 - nie mówię tutaj oczywiście o starszych aplikacjach rozwijanych od wielu lat.

Podsumowanie

Ten krótki wpis miał na celu zwrócenie uwagi na datę 10 listopada i oficjalne udostępnienie platformy. Zawarłem w nim kilka istotnych punktów zawartych w oficjalnym komunikacie zespołu pracującego nad rozwojem platformy. Jeżeli chcecie dowiedzieć się więcej o samej platformie odsyłam do poprzedniego wpisu .NET 5 - wprowadzenie

Bardziej dociekliwe osoby mogą skorzystać z poniższych odnośników do oficjalnej dokumentacji: