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, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° микросСрвизи, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ, Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ ΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»Π½ΠΈ прилоТСния. ΠžΡ‚Π΄Π΅Π»Π½ΠΎ сС прСдоставя стСк Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΡƒΠ΅Π± прилоТСния 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 Π² прСдпослСдния). Π’ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΈ асинхроннитС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ·Ρ€Π°Π·ΠΈ ref ΠΈ unsafe. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° escape послСдоватСлност Β«\eΒ». Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΅ опрСдСлянСто Π½Π° интСрфСйси Π·Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ Β«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β€œ ΠΈ колСкция ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° изчислСния ΠΈ манипулация с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π”ΠΎΠΏΡŠΠ»Π½Π΅Π½ΠΈΡΡ‚Π° Π·Π° 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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster