Microsoft๋ .NET Framework, .NET Core ๋ฐ Mono ์ ํ์ ํตํฉํ์ฌ ๋ง๋ ๊ฐ๋ฐฉํ ํ๋ซํผ .NET 6์ ์๋ก์ด ์ฃผ์ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ณต๊ฐํ์ต๋๋ค. .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์๋ RyuJIT JIT ์ปดํ์ผ๋ฌ, ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ, CoreFX ๋ผ์ด๋ธ๋ฌ๋ฆฌ, WPF, Windows Forms, WinUI, Entity Framework, dotnet ๋ช ๋ น์ค ์ธํฐํ์ด์ค๊ฐ ํฌํจ๋ ๋ฐํ์ CoreCLR์ ๋ฌผ๋ก ๋ง์ดํฌ๋ก์๋น์ค, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์๋ฒ ์ธก, GUI ๋ฐ ์ฝ์ ๊ฐ๋ฐ์ ์ํ ๋๊ตฌ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ. ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํ ์คํ ASP.NET Core 6.0 ๋ฐ ORM ๊ณ์ธต Entity Framework Core 6.0(๋๋ผ์ด๋ฒ๋ SQLite ๋ฐ PostgreSQL์์๋ ์ฌ์ฉ ๊ฐ๋ฅ)๊ณผ C# 10 ๋ฐ F# 6 ์ธ์ด ๋ฆด๋ฆฌ์ค๊ฐ ๋ณ๋๋ก ๊ฒ์๋์์ต๋๋ค. .NET 6.0 ๋ฐ C# 10์ฉ์ ๋ฌด๋ฃ ์ฝ๋ ํธ์ง๊ธฐ Visual Studio Code์ ํฌํจ๋์ด ์์ต๋๋ค.
์ ๋ฆด๋ฆฌ์ค์ ๊ธฐ๋ฅ:
- ํ์ผ I/O ์ต์ ํ๋ฅผ ํฌํจํ์ฌ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค.
- C# 10์๋ ๋ ์ฝ๋ ๊ตฌ์กฐ์ฒด์ ๋ํ ์ง์, ์ ์ญ using ์ง์๋ฌธ, ํ์ผ ๋ฐ์ธ๋ฉ ๋ค์์คํ์ด์ค ๋ฐ ๋๋ค ์์ ๋ํ ์๋ก์ด ๊ธฐ๋ฅ์ด ๋์ ๋์์ต๋๋ค. ์ฆ๋ถ ์์ค ์ฝ๋ ์์ฑ์ ๋ํ ์ง์์ด ์ปดํ์ผ๋ฌ์ ์ถ๊ฐ๋์์ต๋๋ค.
- F# 6์๋ ๋น๋๊ธฐ ์์ ์คํ ๋ฉ์ปค๋์ฆ ๋ฐ ํ์ดํ๋ผ์ธ ๋๋ฒ๊น ์ ๋ํ ์ง์์ด ๋์ ๋์์ต๋๋ค.
- ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ ์ฆ์ ์ฝ๋๋ฅผ ํธ์งํ ์ ์๋ ์๋จ์ ์ ๊ณตํ๋ ํซ ๋ฆฌ๋ก๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์๋์ผ๋ก ์คํ์ ์ค์งํ๊ฑฐ๋ ์ค๋จ์ ์ ์ฐ๊ฒฐํ์ง ์๊ณ ๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ "dotnet watch"๋ฅผ ์คํํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ ์ ์์ผ๋ฉฐ, ๊ทธ ํ ์ฝ๋์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ด ์คํ ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋์ผ๋ก ์ ์ฉ๋๋ฏ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ฆ์ ํ์ธํ ์ ์์ต๋๋ค.
- dotnet ํ๋ก์ธ์ค์ ์ง๋จ ์ ๋ณด์ ์ก์ธ์คํ๊ธฐ ์ํด "dotnet ๋ชจ๋ํฐ" ์ ํธ๋ฆฌํฐ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์ฝ๋ ํ๋กํ์ผ๋ง(PGO - Profile-guided Optimization) ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์๋ก์ด ๋์ ์ต์ ํ ์์คํ ์ด ์ ์๋์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์คํ ๊ธฐ๋ฅ ๋ถ์์ ๊ธฐ๋ฐ์ผ๋ก ๋ณด๋ค ์ต์ ์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. PGO๋ฅผ ์ฌ์ฉํ๋ฉด TechEmpower JSON "MVC" ์ ํ๊ตฐ์ ์ฑ๋ฅ์ด 26% ํฅ์๋์์ต๋๋ค.
- HTTP/3 ํ๋กํ ์ฝ ์ง์์ด ASP.NET Core, HttpClient ๋ฐ gRPC์ ์ถ๊ฐ๋์์ต๋๋ค.
- JSON ํ์๊ณผ ๊ด๋ จ๋ API๊ฐ ํ์ฅ๋์์ต๋๋ค. ์๋ก์ด ์ฝ๋ ์์ฑ๊ธฐ System.Text.Json๊ณผ JSON ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ง๋ ฌํํ๋ ์์คํ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- C#์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํ ํ๋ซํผ์ธ Blazor์๋ JavaScript์์ Razor ๊ตฌ์ฑ ์์๋ฅผ ๋ ๋๋งํ๊ณ ๊ธฐ์กด JavaScript ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํตํฉํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- .NET ์ฝ๋๋ฅผ WebAssembly ๋ณด๊ธฐ๋ก ์ปดํ์ผํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- File IO API์ ๋ํ ์ฌ๋ณผ๋ฆญ ๋งํฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์์ ํ ๊ท์ ๋ FileStream.
- OpenSSL 3 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ChaCha20/Poly1305 ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ฐํ์์ ๋ณดํธ ๋ฉ์ปค๋์ฆ W^X(Write XOR Execute, ๋์ ์ฐ๊ธฐ ๋ฐ ์คํ ์ก์ธ์ค ๊ธ์ง) ๋ฐ CET(Control-flow Enforcement Technology, ๋ฐํ ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋ ์ต์คํ๋ก์ ์คํ ๋ฐฉ์ง)๋ฅผ ๊ตฌํํฉ๋๋ค.
- TFM ํ๋ซํผ(Target Framework Moniker)์ผ๋ก iOS ๋ฐ Android์ ๋ํ ์คํ์ ์ง์์ ์ถ๊ฐํ์ต๋๋ค.
- Arm64 ์์คํ ์ ๋ํ ์ง์์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค. M1 ARM ์นฉ(Apple Silicon) ๊ธฐ๋ฐ Apple ์ฅ์น์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์์ค ์ฝ๋์์ .NET SDK๋ฅผ ๋น๋ํ๋ ํ๋ก์ธ์ค๊ฐ ์ ๊ณต๋์ด Linux ๋ฐฐํฌ์ฉ .NET ํจํค์ง ์์ฑ ์์
์ ๋จ์ํํฉ๋๋ค.
์ถ์ฒ : opennet.ru