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 լիցենզիայի ներքո։
.NET 6-ը ներառում է CoreCLR գործարկման ժամանակը RyuJIT JIT կոմպիլյատորով, ստանդարտ գրադարաններ, CoreFX գրադարաններ, WPF, Windows Forms, WinUI, Entity Framework, dotnet հրամանի տող ինտերֆեյս և միկրոծառայությունների, գրադարանների, սերվերի, գրաֆիկական և կոնսոլային հավելվածների մշակման գործիքներ: Առանձին հրապարակված են ASP.NET Core 6.0 վեբ հավելվածների մշակման փաթեթը և Entity Framework Core 6.0 ORM շերտը (դրայվերներ, ներառյալ SQLite-ի և PostgreSQL-ի համար), ինչպես նաև C# 10 և F# 6 թողարկումները: Աջակցություն .NET 6.0 և C#-ին: 10-ը ներառված է անվճար Visual Studio Code խմբագրիչում:
Նոր թողարկման առանձնահատկությունները.
- Զգալիորեն բարելավված կատարումը, ներառյալ ֆայլի I/O օպտիմիզացումը:
- C# 10-ը ներկայացնում է կառույցների աջակցությունը գրառումների տեսքով (գրառման կառուցվածք), գլոբալ՝ օգտագործելով դիրեկտիվ, ֆայլով կապված անվանատարածքներ և նոր հնարավորություններ lambda արտահայտությունների համար: Կազմողին ավելացվել է ելակետային կոդի ստեղծման աջակցություն:
- F# 6-ը ներկայացնում է աջակցություն async առաջադրանքի կատարման մեխանիզմին և խողովակաշարով վրիպազերծմանը:
- Հասանելի է Hot Reload ֆունկցիան, որն ապահովում է ծրագրի գործարկման ընթացքում կոդը անմիջապես խմբագրելու միջոցները, ինչը թույլ է տալիս փոփոխություններ կատարել առանց ձեռքով դադարեցնելու կատարումը և առանց ընդմիջման կետեր կցելու: Մշակողը կարող է գործարկել հավելվածը «dotnet watch»-ի ներքո, որից հետո կոդի մեջ կատարված փոփոխություններն ավտոմատ կերպով կիրառվում են գործող հավելվածի վրա, ինչը թույլ է տալիս անմիջապես դիտարկել արդյունքը։
- Ավելացվեց «dotnet մոնիտորի» օգտակար ծրագիրը՝ dotnet գործընթացի համար ախտորոշիչ տեղեկատվություն մուտք գործելու համար:
- Առաջարկվում է դինամիկ օպտիմալացման նոր համակարգ՝ հիմնված կոդի պրոֆիլավորման արդյունքների վրա (PGO - Profile-guided optimization), որը թույլ է տալիս ավելի օպտիմալ կոդ ստեղծել՝ հիմնված կատարման առանձնահատկությունների վերլուծության վրա։ PGO-ի օգտագործումը 26%-ով բարելավեց TechEmpower JSON «MVC» փաթեթի աշխատանքը:
- ASP.NET Core-ը, HttpClient-ը և gRPC-ն ավելացրել են աջակցություն HTTP/3 արձանագրությանը:
- Ընդլայնված API՝ կապված JSON ձևաչափի հետ: Ավելացվեց նոր կոդի գեներատոր System.Text.Json և JSON տվյալների սերիալացման համակարգ:
- Blazor-ը՝ C# վեբ հավելվածի շրջանակը, ավելացնում է աջակցություն՝ JavaScript-ից Razor-ի բաղադրիչները ներկայացնելու և գոյություն ունեցող JavaScript հավելվածների հետ ինտեգրվելու համար:
- Ավելացվել է աջակցություն .NET կոդը WebAssembly դիտում հավաքելու համար:
- File IO API-ում ավելացվել է խորհրդանշական հղումների աջակցություն: Ամբողջությամբ գրված FileStream:
- Ավելացվել է աջակցություն OpenSSL 3 գրադարանի և ChaCha20/Poly1305 ծածկագրային ալգորիթմների համար:
- Runtime-ն իրականացնում է W^X (Write XOR Execute) և CET (Control-flow Enforcement Technology) պաշտպանության մեխանիզմները:
- Ավելացվել է փորձնական աջակցություն iOS-ի և Android-ի համար՝ որպես TFM հարթակներ (Target Framework Moniker):
- Զգալիորեն բարելավվել է Arm64 համակարգերի աջակցությունը: Ավելացված է աջակցություն Apple սարքերի համար, որոնք հիմնված են M1 (Apple Silicon) ARM չիպի վրա:
- Տրամադրվել է աղբյուրից .NET SDK-ի կառուցման գործընթաց, ինչը հեշտացնում է Linux բաշխումների համար c.NET փաթեթներ ստեղծելը:
Source: opennet.ru