Kompania Microsoft prezantoi një version të ri të rëndësishëm të platformës së hapur .NET 6, e krijuar përmes unifikimit të produkteve .NET Framework, .NET Core dhe Mono. Duke u bazuar në .NET 6, mund të krijoni aplikacione shumëplatformike për shfletuesit, sisteme cloud, desktop, pajisje IoT dhe platforma celulare, duke përdorur biblioteka të njëjta dhe një proces të përbashkët ndërtimi, i pavarur nga lloji i aplikacionit. Ndërtimet .NET SDK 6, .NET Runtime 6 dhe ASP.NET Core Runtime 6 janë krijuar për Linux, macOS dhe Windows. Ndërsa .NET Desktop Runtime 6 ofrohet vetëm për Windows. Materialet e projektit shpërndahen nën licencën MIT.
.NET 6 përfshin runtime CoreCLR me kompiluesin JIT RyuJIT, biblioteka standarde, bibliotekat CoreFX, WPF, Windows Forms, WinUI, Entity Framework, ndërfaqen e komandave dotnet, si dhe mjete për zhvillimin e mikrosherbimeve, bibliotekave, aplikacioneve server, grafike dhe konsolë. Njëherazi është publikuar stoku për zhvillimin e aplikacioneve web ASP.NET Core 6.0 dhe ORM-në Entity Framework Core 6.0 (drajverët, përfshirë ato për SQLite dhe PostgreSQL), si dhe versionet e gjuhëve C# 10 dhe F# 6. Mbështetje për .NET 6.0 dhe C# 10 është e përfshirë në redaktorin e kodit Visual Studio Code.
Karakteristikat e lëshimit të ri:
- Performanca është përmirësuar ndjeshëm, përfshirë optimizimin e hyrje/ndihmësit të skedarëve.
- Në gjuhën C# 10 është implementuar mbështetje për struktura në formën e regjistrave (record struct), direktivat "global using", lidhjet e hapësirave të emrave të lidhura me skedarët dhe mundësi të reja për shprehjet lambda. Kompilatori ka marrë mbështetje për gjenerimin me rritje të kodit burimor.
- Në gjuhën F# 6 është e disponueshme mbështetja për mekanizmin e ekzekutimit asinkron të detyrave async dhe debugimin në tub.
- Funksionaliteti Hot Reload është në dispozicion, duke ofruar mjete për redaktimin në kohë reale të kodit gjatë ekzekutimit të programit, duke lejuar modifikime pa ndaluar dorazi ekzekutimin dhe pa ngjitur pikët e pushimit. Zhvilluesi mund të niste aplikacionin nën menaxhimin e "dotnet watch", pas së cilës ndryshimet në kod aplikohen automatikisht në aplikacionin e ndihmuar, duke lejuar që të shohim menjëherë rezultatet.
- ĂshtĂ« shtuar utilitari "dotnet monitor" pĂ«r akses nĂ« informacionin diagnostik tĂ« procesit dotnet.
- ĂshtĂ« propozuar njĂ« sistem i ri dinamik optimizimi bazuar nĂ« rezultatet e profilizimit tĂ« kodit (PGO - Profile-guided optimization), qĂ« lejon gjenerimin e kodit mĂ« optimal mbi analizĂ«n e veçorive tĂ« ekzekutimit. PĂ«rdorimi i PGO ka lejuar njĂ« rritje tĂ« performancĂ«s tĂ« paketĂ«s TechEmpower JSON "MVC" prej 26%.
- Në ASP.NET Core, HttpClient dhe gRPC është shtuar mbështetje për protokollin HTTP/3.
- API, i lidhur me formatin JSON, është zgjeruar. Një gjenerator i ri kodit System.Text.Json dhe një sistem për serializimin e të dhënave në formatin JSON janë shtuar.
- Në Blazor, platforma për ndërtimin e aplikacioneve web në gjuhën C#, është shtuar mbështetje për renderimin e komponentëve Razor nga JavaScript dhe integrimin me aplikacionet ekzistuese në JavaScript.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r pĂ«rpunimin e kodit .NET nĂ« pamjen e WebAssembly.
- Në API File IO është shtuar mbështetje për lidhjet simbolike. FileStream është shkruar plotësisht nga e para.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r bibliotekĂ«n OpenSSL 3 dhe algoritmet kriptografikĂ« ChaCha20/Poly1305.
- Në Runtime janë realizuar mekanizmat e mbrojtjes W^X (Write XOR Execute, ndalimi i aksesit të njëkohshëm në shkrim dhe ekzekutim) dhe CET (Control-flow Enforcement Technology, mbrojtja nga ekzekutimi i exploiteve, të ndërtuara me metoda të programimit të kthyeshëm).
- Mbështetje eksperimentale për iOS dhe Android si platforma TFM (Target Framework Moniker) është e disponueshme.
- MbĂ«shtetje pĂ«r sistemet Arm64 Ă«shtĂ« pĂ«rmirĂ«suar ndjeshĂ«m. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r pajisjet Apple tĂ« bazuara nĂ« çipin ARM M1 (Apple Silicon).
- Procesi i ndërtimit të .NET SDK nga teksti burimor është i garantuar, duke lehtësuar punën për formimin e paketave me .NET për shpërndarjet Linux.
Burimi: opennet.ru
