Wersja otwartej platformy platformy .NET 6

Firma Microsoft zaprezentowała nową, ważną wersję otwartej platformy .NET 6, utworzoną poprzez ujednolicenie produktów .NET Framework, .NET Core i Mono. Dzięki platformie .NET 6 można tworzyć wieloplatformowe aplikacje dla przeglądarek, chmur, komputerów stacjonarnych, urządzeń IoT i platform mobilnych, korzystając ze wspólnych bibliotek i wspólnego procesu kompilacji niezależnego od typu aplikacji. Kompilacje .NET SDK 6, .NET Runtime 6 i ASP.NET Core Runtime 6 są dostępne dla systemów Linux, macOS i Windows. Środowisko wykonawcze .NET Desktop 6 jest dostępne tylko dla systemu Windows. Prace związane z projektem rozpowszechniane są na licencji MIT.

.NET 6 zawiera środowisko wykonawcze CoreCLR z kompilatorem RyuJIT JIT, biblioteki standardowe, biblioteki CoreFX, WPF, Windows Forms, WinUI, Entity Framework, interfejs wiersza poleceń dotnet, a także narzędzia do tworzenia mikrousług, bibliotek, po stronie serwera, GUI i konsoli aplikacje . Odrębnie opublikowano stos do tworzenia aplikacji internetowych ASP.NET Core 6.0 i warstwę ORM Entity Framework Core 6.0 (dostępne są także sterowniki dla SQLite i PostgreSQL), a także wydania języków C# 10 i F# 6. dla .NET 6.0 i C# 10 jest zawarty w darmowym edytorze kodu Visual Studio Code.

Cechy nowego wydania:

  • Wydajność została znacznie poprawiona, w tym optymalizacja operacji we/wy plików.
  • W języku C# 10 wprowadzono obsługę struktur rekordów, globalnej dyrektywy using, przestrzeni nazw powiązanych z plikami i nowych funkcji wyrażeń lambda. Do kompilatora dodano obsługę przyrostowego generowania kodu źródłowego.
  • W języku F# 6 wprowadzono obsługę mechanizmu wykonywania zadań asynchronicznych i debugowania potoku.
  • Dostępna jest funkcja Hot Reload, która umożliwia edycję kodu na bieżąco podczas działania programu, umożliwiając wprowadzanie zmian bez ręcznego zatrzymywania wykonywania lub dołączania punktów przerwania. Programista może uruchomić aplikację z systemem „dotnet watch”, po czym zmiany wprowadzone w kodzie zostaną automatycznie zastosowane do działającej aplikacji, co pozwala na natychmiastowe zobaczenie wyniku.
  • Dodano narzędzie „dotnet monitor” umożliwiające dostęp do informacji diagnostycznych procesu dotnet.
  • Zaproponowano nowy system optymalizacji dynamicznej bazujący na wynikach profilowania kodu (PGO – Profile-guided optymalizacji), który umożliwia generowanie bardziej optymalnego kodu na podstawie analizy cech wykonawczych. Korzystanie z PGO poprawiło wydajność pakietu TechEmpower JSON „MVC” o 26%.
  • Do ASP.NET Core, HttpClient i gRPC dodano obsługę protokołu HTTP/3.
  • Rozszerzone zostało API związane z formatem JSON. Dodano nowy generator kodu System.Text.Json oraz system serializacji danych w formacie JSON.
  • Blazor, platforma do tworzenia aplikacji internetowych w języku C#, dodała obsługę renderowania komponentów Razor z JavaScript oraz integrację z istniejącymi aplikacjami JavaScript.
  • Dodano obsługę kompilowania kodu .NET do widoku WebAssembly.
  • Dodano obsługę dowiązań symbolicznych do interfejsu API File IO. W pełni przepisany FileStream.
  • Dodano obsługę biblioteki OpenSSL 3 i algorytmów kryptograficznych ChaCha20/Poly1305.
  • Runtime implementuje mechanizmy zabezpieczające W^X (Write XOR Execute, uniemożliwiające równoczesny dostęp do zapisu i wykonania) oraz CET (Control-flow Enforcement Technology, ochrona przed wykonaniem exploitów zbudowanych przy użyciu technik programowania zorientowanego na zwrot).
  • Dodano eksperymentalne wsparcie dla iOS i Androida jako platform TFM (Moniker Target Framework).
  • Znacząco ulepszona obsługa systemów Arm64. Dodano obsługę urządzeń Apple opartych na chipie M1 ARM (Apple Silicon).
  • Dostarczono proces budowania .NET SDK z kodu źródłowego, co upraszcza pracę przy tworzeniu pakietów .NET dla dystrybucji Linuksa.

Dodaj komentarz