.NET 11 프리뷰 1: 큰 런타임 개선, 더 큰 방향성 질문
Microsoft는 2월에 .NET 11의 첫 미리보기 버전을 출하했으며, 런타임 개선 사항을 제공합니다. 우리 Iron Software 팀은 .NET 11 Preview 1을 검토해왔으며, .NET 개발자 커뮤니티를 위해 주목할 만한 몇 가지 변화를 확인했습니다.
핵심 요약
- 비동기 실행이 런타임으로 이동 - 더 빠르고, 최적화되었으며, 디버그하기 더 쉬워졌습니다. 우리의 범용 제품에는 좋은 소식입니다.
- CoreCLR이 WASM 지원 - Mono를 대체하며, 브라우저에서 컴파일된 .NET 코드는 눈에 띄게 더 빨라져야 합니다.
- 네이티브 Zstandard 압축 - 우리는 IronZIP 아래서 이를 채택하는 것을 검토하고 있습니다.
Microsoft가 .NET 11 Preview 1을 공식적으로 발표했으며, 이는 2026년 11월을 목표로 하는 차기 표준 지원 릴리스의 첫 번째 이정표입니다.
런타임 수준의 비동기: 조용히 큰 변화
Preview 1에서 가장 중요한 업데이트 중 하나는 비동기 추적이 컴파일러에 의해 완전히 처리되는 대신 런타임 자체로 더 깊이 이동한다는 것입니다.
문맥을 위해, 비동기 프로그래밍은 애플리케이션이 비차단 작업을 실행할 수 있게 하는 패턴이며, 네트워크 호출, 파일 읽기 또는 데이터베이스 응답을 기다리는 동안 전체 스레드가 멈추지 않도록 합니다. 현대 .NET 개발에 있어 기본 필수 요소입니다. 대부분의 API, 서비스 및 UI 기반 작업 부하가 이를 많이 의존합니다.
비동기 조정을 런타임 계층 가까이로 이동함으로써, Microsoft는 한 번에 이러한 문제 지점 모두를 해결할 수 있습니다:
디버깅: 재구성된 비동기 흐름. 디버거는 마침내await를 건너면서 실행 경로를 추적하여 현재 잃어버리는 컨텍스트를 복원할 수 있어야 합니다.
성능: 낮은 조정 오버헤드. 런타임 수준 최적화는 컴파일러 생성 상태 머신만큼이나 공격적일 수 있으며, 작업당 비용을 줄입니다.
분산 서비스, 클라우드 네이티브 API 및 UI 애플리케이션의 경우, 이는 측정 가능한 전반적인 개선을 의미할 수 있습니다.
CoreCLR이 WebAssembly로 오다
지금까지 WebAssembly로 컴파일된 .NET 앱은 교차 플랫폼 호환성을 위해 원래 설계된 오래된 런타임인 Mono에 의존해왔습니다. Mono는 작동하지만 잘 알려진 성능 제한이 있으며, CoreCLR과 같은 최적화 투자에서 이점이 없습니다.
이 프리뷰와 함께, CoreCLR은 WebAssembly를 지원하며, 여러 구체적인 개선사항을 제공합니다: JIT 기능이 런타임 실행 속도를 향상시킵니다. 메모리 관리가 더 효율적이 됩니다. 브라우저 호스팅 .NET 앱이 네이티브 실행과 더 가까워집니다. Blazor WebAssembly 앱을 구축하거나 브라우저 측 .NET 작업 부하를 실험하는 팀에게는 이 전체 프리뷰의 최고의 업그레이드 중 하나입니다.
이는 더 넓은 생태계에도 관련이 있습니다. 브라우저 기반 문서 처리, 렌더링 및 데이터 조작을 포함하여 WASM을 대상으로 하는 라이브러리 및 도구.
네이티브 Zstandard 압축
.NET 11은 새로운 ZstandardStream 구현을 통해 Zstandard (Zstd) 압축 알고리즘에 대한 일급 지원을 추가합니다. Zstd는 고성능 시스템에서 표준이 되었으며, Gzip보다 우수한 압축 비율, 현저히 빠른 압축 해제, 대규모 데이터 처리에 강력한 처리량을 제공하기 때문입니다.
라이브러리 및 도구 개발자에게는 서드파티 바인딩의 마찰을 제거합니다. 압축이 집중된 제품은 이제 Zstd를 네이티브로 사용할 수 있습니다. 이것이 IronZIP과 같은 도구나 성능과 파일 크기가 중요한 워크플로우에 유용할 수 있음을 쉽게 알 수 있습니다.
더 큰 테마: .NET의 에이전틱 AI로의 피벗
런타임 개선을 넘어서 .NET 11의 전략적인 방향이 명확해지고 있습니다. Microsoft는 AI 에이전트, Copilot 워크플로우 및 구조화된 모델 컨텍스트와 상호 작용하도록 설계된 애플리케이션인 '에이전틱 AI'를 강력히 추진하고 있습니다. 여기에는 모델 컨텍스트 프로토콜 지원, AI 지원 개발 패턴 및 에이전트가 호출하고 조정할 수 있는 도구로서의 .NET 앱 위치 지정이 포함됩니다.
그 방향은 놀랍지 않습니다. 업계 전체가 AI 지원 워크플로우로 이동하고 있으며, Microsoft는 .NET을 그 생태계의 일류 시민으로 만들 동기가 충분합니다.
여기서 실제로 중요한 사항
로드맵 논쟁을 제쳐두고 실제 영향을 순수하게 집중하면 런타임 개선이 실질적인 이야기입니다:
- 비동기 디버깅은 복잡한 코드베이스에 대해 비로소 다루기 쉬워질 수 있습니다.
- WebAssembly 성능은 Mono를 대체하는 CoreCLR로 눈에 띄게 향상될 수 있습니다.
- Zstd 압축은 타사 의존성을 제거하면서 일급 지원을 받습니다.
이것들은 화려한 기능이 아닙니다. 컨퍼런스의 키노트 박수를 이끌어낼 것은 아닙니다. 하지만 일상의 개발에서 마찰을 조용히 줄이는 개선이며, 이러한 것들이 장기적으로 헤드라인 기능보다 훨씬 더 중요합니다.
미리보기 1은 이미 두 가지 .NET 생태계의 측면을 보여줍니다: 언어 방향과 플랫폼 우선순위에 대한 논의가 증가하는 것과 함께 강력하고 의미 있는 런타임 발전. 그 긴장감이 반드시 나쁜 것은 아닙니다. 보통 그것은 사람들이 실제로 관심을 가지고 있는 방향으로 플랫폼이 진화하고 있다는 것을 의미합니다.
