Firma Microsoft ogłosiła dziś znaczącą nową wersję platformy open source .NET 6, powstałej w wyniku połączenia produktów .NET Framework, .NET Core i Mono. Dzięki .NET 6 można tworzyć aplikacje wieloplatformowe dla przeglądarek, chmury, komputerów stacjonarnych, urządzeń IoT i platform mobilnych, korzystając ze zunifikowanych bibliotek i wspólnego procesu kompilacji, niezależnego od typu aplikacji. Zestawy .NET SDK 6, .NET Runtime 6 i ASP.NET Core Runtime 6 zostały zaprojektowane z myślą o: Linux, macOS и Windows.NET Desktop Runtime 6 jest dostępny tylko dla WindowsPrace związane z tym projektem rozpowszechniane są na licencji MIT.
.NET 6 zawiera środowisko uruchomieniowe CoreCLR z kompilatorem RyuJIT JIT, bibliotekami standardowymi, bibliotekami CoreFX, WPF, Windows Forms, WinUI, Entity Framework, interfejs wiersza poleceń dotnet oraz narzędzia do tworzenia mikrousług, bibliotek, aplikacji serwerowych, graficznych i konsolowych. Stos narzędzi do tworzenia aplikacji internetowych ASP.NET Core 6.0 oraz warstwa ORM Entity Framework Core 6.0 (dostępne są sterowniki, w tym dla SQLite i PostgreSQL) zostały wydane osobno, wraz z wersjami języków C# 10 i F# 6. Wsparcie dla .NET 6.0 i C# 10 jest zawarte w edytorze kodu open source Visual Studio Code.
Cechy nowego wydania:
- Znacznie poprawiono wydajność, włącznie z optymalizacją wejścia/wyjścia plików.
- C# 10 wprowadza obsługę struktur rekordów, dyrektywę „global using”, przestrzenie nazw oparte na plikach i nowe możliwości wyrażeń lambda. Kompilator obsługuje teraz przyrostowe generowanie kodu źródłowego.
- F# 6 wprowadza obsługę asynchronicznego wykonywania zadań i debugowania potoków.
- Dostępna jest funkcja Hot Reload, która umożliwia edycję kodu na bieżąco, podczas działania programu. Dzięki temu można wprowadzać zmiany bez konieczności ręcznego zatrzymywania wykonywania programu lub dodawania punktów przerwania. Programista może uruchomić aplikację w ramach „dotnet watch”, po czym zmiany wprowadzone w kodzie zostaną automatycznie zastosowane w uruchomionej aplikacji, co pozwoli natychmiast zobaczyć wynik.
- Dodano narzędzie „dotnet monitor” umożliwiające dostęp do informacji diagnostycznych na temat procesu dotnet.
- Zaproponowano nowy dynamiczny system optymalizacji oparty na wynikach profilowania kodu (PGO — Profile-guided optimization), który umożliwia generowanie bardziej optymalnego kodu na podstawie analizy cech wykonania. Użycie PGO pozwoliło zwiększyć wydajność zestawu TechEmpower JSON „MVC” o 26%.
- ASP.NET Core, HttpClient i gRPC obsługują teraz protokół HTTP/3.
- API związane z formatem JSON zostało rozszerzone. Dodano nowy generator kodu System.Text.Json i system serializacji danych w formacie JSON.
- Blazor, środowisko do tworzenia aplikacji internetowych przy użyciu języka C#, dodało obsługę renderowania komponentów Razor z poziomu JavaScript i integrowania ich z istniejącymi aplikacjami JavaScript.
- Dodano obsługę kompilowania kodu .NET do reprezentacji WebAssembly.
- Dodano obsługę łączy symbolicznych do interfejsu API File IO. W pełni przepisany FileStream.
- Dodano obsługę biblioteki OpenSSL 3 i algorytmów kryptograficznych ChaCha20/Poly1305.
- Środowisko wykonawcze implementuje mechanizmy ochrony W^X (Write XOR Execute, uniemożliwiający jednoczesny dostęp do zapisu i wykonywania) oraz CET (Control-flow Enforcement Technology, chroniący przed wykonywaniem exploitów stworzonych przy użyciu technik programowania zorientowanego na zwrot).
- Dodano eksperymentalną obsługę dla iOS i Android jako platformy TFM (Target Framework Moniker).
- Znacznie poprawiono obsługę systemów Arm64. Dodano obsługę urządzeń Apple opartych na układzie ARM M1 (Apple Silicon).
- Udostępniono proces budowania zestawu .NET SDK z kodu źródłowego, co upraszcza tworzenie pakietów .NET dla dystrybucji. Linux.
Źródło: opennet.ru
