Реліз відкритої платформи .NET 6

Компанія Microsoft представила новий значний випуск відкритої платформи .NET 6, створеної завдяки уніфікації продуктів .NET Framework, .NET Core та Mono. На основі .NET 6 можна створювати багатоплатформні програми для браузера, хмарних систем, робочого столу, IoT-пристроїв та мобільних платформ, використовуючи єдині бібліотеки та загальний процес складання, який не залежить від типу програми. Складання .NET SDK 6, .NET Runtime 6 та ASP.NET Core Runtime 6 сформовані для Linux, macOS та Windows. .NET Desktop Runtime 6 постачається лише для Windows. Пов'язані з проектом напрацювання поширюються під ліцензією MIT.

До складу. . Окремо опубліковано стек для розробки web-додатків ASP.NET Core 6 та ORM-прошарку Entity Framework Core 6.0 (драйвери, є в тому числі для SQLite та PostgreSQL), а також випуски мов C# 6.0 та F# 10. Підтримка .NET 6 та C# 6.0 включено у вільний редактор коду Visual Studio Code.

Особливості нового випуску:

  • Значно підвищено продуктивність, зокрема проведена оптимізація файлового вводу/вывода.
  • У мові C# 10 реалізована підтримка структур у вигляді записів (record struct), директиви «global using», прив'язаних до файлів просторів імен та нових можливостей для лямбда-выражений. У компілятор додано підтримку інкрементальної генерації вихідного коду.
  • У мові F# 6 з'явилася підтримка механізму асинхронного виконання завдань async та конвеєрного налагодження.
  • Доступна функція Hot Reload, яка надає засоби для редагування коду на льоту під час виконання програми, дозволяючи вносити зміни без ручної зупинки виконання та без прикріплення точок зупинки. Розробник може запустити програму під керуванням «dotnet watch», після чого зміни, що вносяться в код, автоматично застосовуються до запущеної програми, що дозволяє відразу спостерігати результат.
  • Додано утиліту «dotnet monitor» для доступу до діагностичної інформації процесу dotnet.
  • Запропоновано нову систему динамічної оптимізації на основі результатів профілювання коду (PGO - Profile-guided optimization), що дозволяє генерувати більш оптимальний код на основі аналізу особливостей виконання. Використання PGO дозволило підвищити продуктивність набору TechEmpower JSON MVC на 26%.
  • В ASP.NET Core, HttpClient та gRPC додано підтримку протоколу HTTP/3.
  • Розширено API, пов'язане з форматом JSON. Додано новий генератор коду System.Text.Json та систему серіалізації даних у форматі JSON.
  • У Blazor, платформу для створення web-додатків мовою C#, додано підтримку малювання Razor-компонентів з JavaScript та інтеграції з існуючими JavaScript-додатками.
  • Додана підтримка компіляції .NET-коду на представлення на WebAssembly.
  • В API File IO додано підтримку символічних посилань. Повністю приписаний FileStream.
  • Додано підтримку бібліотеки OpenSSL 3 та криптографічних алгоритмів ChaCha20/Poly1305.
  • У Runtime реалізовані механізми захисту W^X (Write XOR Execute, заборона одночасного доступу на запис та виконання) та CET (Control-flow Enforcement Technology, захист від виконання експлоїтів, побудованих з використанням прийомів зворотно-орієнтованого програмування).
  • Додана експериментальна підтримка iOS та Android як TFM-платформ (Target Framework Moniker).
  • Значно вилучена підтримка систем Arm64. Додано підтримку пристроїв Apple на базі ARM-чіпа M1 (Apple Silicon).
  • Забезпечено процес складання .NET SDK з вихідних текстів, що полегшує роботу з формування пакетів c .NET для дистрибутивів Linux.

Додати коментар або відгук