Wydanie otwartej platformy .NET 6

Firma Microsoft zaprezentowała nową, znaczącą wersję otwartej platformy .NET 6, stworzonej dzięki unifikacji produktów .NET Framework, .NET Core i Mono. Na bazie .NET 6 można tworzyć aplikacje wieloplatformowe dla przeglądarek, systemów chmurowych, komputerów stacjonarnych, urządzeń IoT i platform mobilnych, używając jednolitych bibliotek oraz wspólnego procesu kompilacji, niezależnego od typu aplikacji. Pakiety .NET SDK 6, .NET Runtime 6 i ASP.NET Core Runtime 6 są dostępne dla systemów Linux, macOS i Windows. .NET Desktop Runtime 6 jest dostarczany wyłącznie dla systemu Windows. Prace związane z projektem są udostępniane na licencji MIT.

.NET 6 zawiera runtime CoreCLR z kompilatorem JIT RyuJIT, standardowe biblioteki, biblioteki CoreFX, WPF, Windows Forms, WinUI, Entity Framework, interfejs wiersza poleceń dotnet, a także narzędzia do tworzenia mikrousług, bibliotek, aplikacji serwerowych, graficznych i konsolowych. Osobno opublikowano stos do tworzenia aplikacji webowych ASP.NET Core 6.0 oraz ORM Entity Framework Core 6.0 (sterowniki dostępne, w tym dla SQLite i PostgreSQL), a także wydania języków C# 10 i F# 6. Wsparcie dla .NET 6.0 i C# 10 jest dostępne w darmowym edytorze kodu Visual Studio Code.

Cechy nowego wydania:

  • Zwiększona została wydajność, w tym optymalizacja operacji wejścia/wyjścia.
  • W języku C# 10 wprowadzono wsparcie dla struktur w formie rekordów (record struct), dyrektywy "global using", powiązanych z plikami przestrzeni nazw oraz nowe możliwości dla wyrażeń lambda. Kompilator zyskał wsparcie dla inkrementalnej generacji kodu źródłowego.
  • W języku F# 6 wprowadzono wsparcie dla mechanizmu asynchronicznego wykonania zadań async oraz debugowania potokowego.
  • Dostępna jest funkcja Hot Reload, która umożliwia edytowanie kodu w locie podczas wykonywania programu, pozwalając na wprowadzanie zmian bez ręcznego zatrzymywania wykonywania i bez korzystania z punktów przerwania. Programista może uruchomić aplikację pod kontrolą "dotnet watch", po czym wprowadzone zmiany w kodzie są automatycznie stosowane do uruchomionej aplikacji, co pozwala natychmiast zobaczyć rezultat.
  • Dodano narzędzie "dotnet monitor" do uzyskiwania informacji diagnostycznych procesu dotnet.
  • Zaproponowano nowy system dynamicznej optymalizacji oparty na wynikach profilowania kodu (PGO – profilowane optymalizacje), który umożliwia generowanie bardziej zoptymalizowanego kodu w oparciu o analizę cech wykonania. Zastosowanie PGO pozwoliło zwiększyć wydajność zestawu TechEmpower JSON „MVC” o 26%.
  • W ASP.NET Core dodano wsparcie dla protokołu HTTP/3 w HttpClient i gRPC.
  • Rozszerzono API związane z formatem JSON. Dodano nowy generator kodu System.Text.Json oraz system serializacji danych w formacie JSON.
  • W Blazor, platformie do tworzenia aplikacji webowych w języku C#, dodano wsparcie dla renderowania komponentów Razor z JavaScript oraz integracji z istniejącymi aplikacjami JavaScript.
  • Dodano wsparcie dla kompilacji kodu .NET do WebAssembly.
  • W API File IO dodano wsparcie dla linków symbolicznych. Całkowicie przepisano FileStream.
  • Dodano wsparcie dla biblioteki OpenSSL 3 oraz algorytmów kryptograficznych ChaCha20/Poly1305.
  • W Runtime wprowadzono mechanizmy ochrony W^X (Write XOR Execute, zakaz jednoczesnego dostępu do zapisu i wykonania) oraz CET (Control-flow Enforcement Technology, ochrona przed wykonywaniem exploitu opartego na technikach orientowanego-programowania zwrotnego).
  • Dodano eksperymentalne wsparcie dla iOS i Android jako platform TFM (Target Framework Moniker).
  • Znacznie poprawiono wsparcie dla systemów Arm64. Dodano wsparcie dla urządzeń Apple opartych na chipie ARM M1 (Apple Silicon).
  • Zrealizowano proces budowy .NET SDK z kodu źródłowego, co ułatwia pracę nad tworzeniem pakietów .NET dla dystrybucji Linux.
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster