Microsoft ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ .NET 9.0

Компания Microsoft прСдставила выпуск ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET 9, созданной благодаря ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² .NET Framework, .NET Core ΠΈ Mono. На основС .NET 9 ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ прилоТСния для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… систСм, Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола, IoT-устройств ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΅Π΄ΠΈΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ процСсс сборки, Π½Π΅ зависящий ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° прилоТСния. Π‘Π±ΠΎΡ€ΠΊΠΈ .NET SDK 9, .NET Runtime 9 ΠΈ ASP.NET Core Runtime 9 сформированы для Linux, macOS ΠΈ Windows. .NET Desktop Runtime 9 поставляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Windows. БвязанныС с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

Π’ состав .NET Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Runtime с JIT-компилятором RyuJIT, спСцификации API, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ WPF, Windows Forms, WinUI ΠΈ Entity Framework, интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки dotnet, Π° Ρ‚Π°ΠΊΠΆΠ΅ инструмСнты для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ микросСрвисов, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, сСрвСрных, графичСских ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ стСк для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ASP.NET Core 9.0, ORM-прослойка Entity Framework Core 9.0 (Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ, Π² Ρ‚ΠΎΠΌ числС, для SQLite ΠΈ PostgreSQL), Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° WPF 9 (Windows Presentation Foundation), Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Windows Forms 9 для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ GUI, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Aspire 9 для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Cloud Native, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ MAUI 9 для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… интСрфСйсов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° Ρ‚Π°ΠΊΠΆΠ΅ выпуски языков C# 13 ΠΈ F# 9. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° .NET 9.0 ΠΈ C# 13 Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² свободный Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° Visual Studio Code.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ выпуска:

  • ВнСсСно Π±ΠΎΠ»Π΅Π΅ тысячи ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, связанных с ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ качСства Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠœΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ сборщик мусора, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΈ задСйствован ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ динамичСской Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ прилоТСния (сборщик мусора привязываСтся Π½Π΅ ΠΊ Π½Π°Π»ΠΈΡ‡ΠΈΡŽ доступных Π² систСмС рСсурсов, Π° ΠΊ Ρ‚ΠΎΠΌΡƒ, сколько памяти трСбуСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ). Новый Ρ€Π΅ΠΆΠΈΠΌ позволяСт ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° систСмах с большим числом процСссорных ядСр, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ°Π»ΠΎ памяти ΠΈΠ»ΠΈ Ссли ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² памяти сущСствСнно мСняСтся Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹.

    Π’ JIT-компилятор Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° основС профилирования (PGO), ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ†ΠΈΠΊΠ»ΠΎΠ², inline-Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π³Ρ€Π°Π½ΠΈΡ†. Π’ .NET runtime Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΎ использованиС Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… инструкций ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Arm64 SVE ΠΈ Intel AVX10. На 50% ускорСн ΠΊΠΎΠ΄ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Для ΠΊΠΎΠ΄Π° с опСрациями привСдСния Ρ‚ΠΈΠΏΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ «(IFoo)myFoo» ΠΈ «myFoo is IFoo», зафиксировано ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎ 70%. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² языкС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов LINQ (Language-Integrated Query), Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Take ΠΈ DefaultIfEmpty, возросла Π΄ΠΎ 10 Ρ€Π°Π· ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с пустыми массивами ΠΈ коллСкциями.

    Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° System.Text.Json. Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ JsonProperty.WriteTo Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прямой записи строк UTF8, ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ лишнСС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° JsonObject. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ тСстов TechEmpower, ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ JSON-запросов, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с .NET 8 Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° 15% ΠΈ сниТСниС потрСблСния памяти Π½Π° 93%.

  • Π’ Runtime ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° новая модСль Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΈ урСзания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ….
  • Π’ языкС C# 13 Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности использования ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° «params», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠΌΠΈΠΌΠΎ массивов Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массивов Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ индСкса Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «^» для ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π° индСкса с ΠΊΠΎΠ½Ρ†Π° массива (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «buffer = { [^1] = 0, [^2] = 1,….}» Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ 0 Π² послСдний элСмСнт, Π° 1 Π² прСдпослСдний). Π’ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… ΠΈ async-ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ использованиС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ref ΠΈ unsafe. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ «\e». Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ интСрфСйсов для Ρ‚ΠΈΠΏΠΎΠ² «ref struct» ΠΈ использованиС Ρ‚ΠΈΠΏΠΎΠ² «ref struct» Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Ρ‹Ρ… функциях. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Lock для установки Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… прилоТСниях. Lock myLock = new(); void Concat<T>(params List<T> items) { lock (myLock) Console.WriteLine(string.Join(«\e[1mItem: \e[0m», items)); }
  • Π’ языкС F# 9 появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null. Π’ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΡ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ свойства «.Is*» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, person.contact.IsEmail), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ принадлСТности значСния мноТСству. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° пустых вычисляСмых Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ («let xs = seq { }»). Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ…, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…ΡΡ с символа «#», Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ нСстроковых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ #nowarn 0070 вмСсто #nowarn «0070»). Π’ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ List, Array ΠΈ Seq Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для случайного Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΡ элСмСнтов. К спискам (list ΠΈ set) Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с коллСкциями.
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности стСка .NET Aspire, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, запускаСмых Π² ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… окруТСниях. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ возмоТности для управлСния рСсурсами ΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ срСдства для сбора Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ абстракций C# для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ AI-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, использования Π±ΠΎΠ»ΡŒΡˆΠΈΡ… языковых ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, обращСния ΠΊ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌ ΠΈ взаимодСйствия с AI-сСрвисами. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ «Tensor<T>» ΠΈ коллСкция ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для вычислСний ΠΈ манипуляции с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ДополнСния для AI Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² System.Numerics.Tensors, Microsoft.Extensions.AI ΠΈ Microsoft.Extensions.VectorData. ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ML.NET, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ машинного обучСния Π² прилоТСния. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Microsoft.ML.Tokenizers для кодирования ΠΈ дСкодирования тСкста Π² Ρ‚ΠΎΠΊΠ΅Π½Ρ‹.
  • Π’ стСкС для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ASP.NET Core Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ компиляции (ahead-of-time), Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ трассировки, сокращСно врСмя запуска ΠΈ сниТСно ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° со статичСскими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ API для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ Blazor, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ для создания web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языкС C#, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Ρ… ΠΈ web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° MAUI для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… интСрфСйсов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. УсилСна интСграция с Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ прилоТСниями. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ элСмСнты интСрфСйса TitleBar ΠΈ HybridWebView.
  • Π’ WPF (Windows Presentation Foundation) Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅ΠΌ оформлСния ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°ΠΊΡ†Π΅Π½Ρ‚Π½Ρ‹Ρ… Ρ†Π²Π΅Ρ‚ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru