GN⁺: .NET 8 릴리즈
(devblogs.microsoft.com)- .NET 8은 성능, 안정성, 보안 향상뿐만 아니라 개발자 생산성과 혁신 속도를 높이는 플랫폼 및 도구 개선을 제공
- 클라우드 네이티브 애플리케이션과 대규모 트래픽 서비스를 구축하는 방식을 재정립하며, Linux나 Windows에 배포하거나 컨테이너를 사용하는 경우에도 앱 구축을 용이하게 함
- .NET 8은 Microsoft의 대규모 서비스에서 사용되는 입증된 라이브러리 세트를 포함하여 관찰 가능성, 복원력, 확장성, 관리 용이성 등의 기본적인 도전과제를 해결하는 데 도움을 줌
.NET 8의 뛰어난 성능
- .NET 8은 스택 전반에 걸쳐 수천 가지의 성능 개선을 포함하고 있으며, 기본적으로 활성화된 새로운 코드 생성기인 Dynamic PGO를 통해 앱 성능을 최대 20%까지 향상시킬 수 있음.
- AVX-512 명령 세트 지원을 통해 512비트 벡터 데이터에 대한 병렬 연산을 수행할 수 있어 더 많은 데이터를 더 빠르게 처리할 수 있음.
- 기본 타입들은 새로운 형식화 및 구문 분석 인터페이스를 구현하여 UTF-8로 직접 형식화하고 구문 분석할 수 있어 변환 오버헤드 없이 처리할 수 있음.
.NET Aspire
- .NET Aspire는 .NET을 사용하여 복원력 있고, 관찰 가능하며, 구성 가능한 클라우드 네이티브 애플리케이션을 구축하기 위한 스택으로, 기본적으로 텔레메트리, 복원력, 구성 및 상태 점검을 포함함.
- 클라우드 네이티브 애플리케이션에 필수적인 종속성을 발견하고 획득하며 구성하는 것을 쉽게 만들어주며, .NET Aspire의 첫 번째 프리뷰가 오늘 제공됨.
.NET 8 컨테이너 향상
- .NET을 사용하여 컨테이너를 더 쉽고 안전하게 패키징할 수 있으며, 모든 .NET 이미지에는 비루트 사용자가 포함되어 있어 한 줄 구성으로 더 안전한 컨테이너를 가능하게 함.
- .NET SDK 도구는 Dockerfile 없이 컨테이너 이미지를 게시하며 기본적으로 비루트임.
- 더 작은 .NET 베이스 이미지로 인해 컨테이너화된 앱을 더 빠르게 배포할 수 있으며, 새로운 Chiseled Ubuntu 이미지 변형을 통해 보안 강화를 선택할 수 있음.
네이티브 AoT
- .NET 앱을 네이티브 코드로 컴파일하여 메모리 사용을 줄이고 즉시 시작할 수 있음.
- JIT 컴파일러가 런타임에 코드를 컴파일할 필요가 없으며, JIT 컴파일러와 IL 코드를 배포할 필요가 없음.
- AOT 앱은 앱에 필요한 코드만 배포하므로 제한된 환경에서도 실행할 수 있음.
인공 지능
- .NET 8은 AI 기능을 간단하게 활용할 수 있도록 .NET SDK에 일급 AI 기능을 제공하고 다양한 도구와의 원활한 통합을 지원함.
-
System.Numerics
라이브러리에 여러 가지 개선 사항을 도입하여 Generative AI 워크로드와의 호환성을 향상시키고, AI 활성화 앱의 부상으로 새로운 도구와 SDK가 등장함. - 다양한 내부 및 외부 파트너와 협력하여 .NET 개발자가 다양한 AI 모델, 서비스 및 플랫폼에 쉽게 접근할 수 있도록 지원함.
Blazor
- .NET 8의 Blazor는 서버와 클라이언트를 함께 사용하여 모든 웹 UI 요구 사항을 처리할 수 있음.
- 페이지 로드 시간, 확장성 및 사용자 경험을 최적화하는 여러 가지 새로운 개선 사항을 통해 개발자는 Blazor Server와 Blazor WebAssembly를 동일한 앱에서 사용할 수 있음.
.NET MAUI
- .NET MAUI는 단일 프로젝트 시스템과 단일 코드베이스를 제공하여 WinUI, Mac Catalyst, iOS 및 Android 애플리케이션을 구축할 수 있음.
- 새로운 Visual Studio Code 확장 프로그램을 통해 .NET 모바일 및 데스크톱 앱을 개발할 수 있는 도구를 제공하며, Xcode 15와 Android API 34를 지원하여 최신 버전의 iOS와 Android를 대상으로 할 수 있음.
C# 12 기능
- C# 12는 코딩 경험을 더 생산적이고 즐겁게 만들어주며, 간단하고 우아한 구문을 사용하여 클래스와 구조체에 기본 생성자를 만들 수 있음.
- 배열, 스팬 및 기타 컬렉션 타입을 간결하고 표현력 있는 구문으로 쉽게 생성할 수 있음.
GN⁺의 의견
이 기사에서 가장 중요한 것은 .NET 8이 개발자들에게 제공하는 다양한 새로운 기능과 개선 사항들임. 성능 향상, 클라우드 네이티브 애플리케이션 개발 용이성, AI 통합 강화, Blazor 및 .NET MAUI의 발전 등은 개발자들이 더 효율적이고 혁신적인 소프트웨어를 만들 수 있게 도와줄 것임. 이러한 기능들은 기술의 최전선에서 일하는 개발자들에게 흥미롭고 매력적인 업데이트로, 그들이 현재와 미래의 프로젝트에 적용할 수 있는 새로운 가능성을 열어줌.
"한 풀스택 .NET 개발자는 채용 시장에서 .NET 관련 포지션이 드물고, 있어도 "록스타" 수준을 요구하는 경우가 많아 실망감을 표현함."
해외도 별반 다르지 않나보네요.. 닷넷과 C#을 좋아하는 편인데 이쪽으로 커리어를 쌓고싶어도 포지션도 별로 없거나 눈이 너무 높습니다. ㅠㅠ
개인적으로 닷넷이 생산성과 퍼포먼스를 모두 잡을 수 있다고 생각해서 사용하고 싶지만...
국내 시장에서는 인력 이슈로 사용하기 조금 아쉬운 ㅜㅜ
오... 보니까 Native AoT가 .Net 7에 비해서 플랫폼이 엄청 늘어났네요.
아예 네이티브 코드로 컴파일이 된다는데, 더 이상 제가 알던 .Net이 아니군요. +_+
그런데 벌써 버전이 8...? .Net 으로 이름 바뀐지도 얼마 안된 것 같은데...
Hacker News 의견
-
.NET에 대한 인상적인 경험
한 사용자는 오래되고 독점적인 비디오 포맷을 다루는 작업을 하면서 .NET에 깊은 인상을 받았음. 이 포맷은 GPS, 비디오, 오디오 등을 포함하고 있었고, 파일 크기가 매우 커서 이해하기 어려웠음. 사용자는 독점적인 오래된 플레이어 애플리케이션을 찾아 C#으로 디컴파일하고, 플레이어 부분을 제거하여 MP4와 다른 부분들을 추출할 수 있는 코드를 남겼음. 이 코드를 .NET 4에서 콘솔 애플리케이션으로 빌드한 후, 리눅스에서 컴파일하고 실행할 수 있도록 업그레이드하는 데 성공함. 수천 줄의 코드를 파싱하는 복잡한 작업에도 불구하고, 이 과정은 매우 쉬웠으며, 10년 이상 된 코드를 하루 만에 리눅스에서 실행할 수 있었음.
-
.NET의 발전과 조직 내에서의 변화
.NET은 초기 이미지로 인해 평가절하되었지만, 최근에는 작업하기 매우 즐거운 환경으로 변모함. 도구와 사용성의 개선으로 인해, 한 조직에서는 Go를 대체하여 .NET Core 3.1에서 Go로 이동했다가 최근에 다시 .NET 6으로 돌아옴.
-
.NET 8의 DynamicPGO 기능
.NET 8은 DynamicPGO를 기본적으로 활성화하여 제공하며, 이는 이전 버전인 6과 7에서 개선되었음. 이 기능은 인터페이스/가상 호출의 가드된 탈가상화, 대리자 인라이닝, 분기 재정렬을 통해 추상화가 많은 코드베이스에 큰 도움이 됨.
-
.NET과 Mono의 관계에 대한 질문
한 사용자는 .NET과 Mono 사이의 관계에 대해 설명을 요청함. Mono가 완전히 구식이 되었는지, 아니면 .NET에 통합되었는지 궁금해함. 또한, .NET의 명칭과 어셈블리가 네이티브 코드인지 바이트코드인지에 대한 혼란도 표현함.
-
.NET의 크로스플랫폼 UI 문제
.NET의 크로스플랫폼 UI가 혼란스럽고, 특히 MVC 구현이 명확하지 않아 아쉬움을 표현함. 간단하고 직관적인 데스크톱 GUI가 있었으면 하는 바람을 나타냄.
-
.NET 개발자의 채용 시장에 대한 실망
한 풀스택 .NET 개발자는 채용 시장에서 .NET 관련 포지션이 드물고, 있어도 "록스타" 수준을 요구하는 경우가 많아 실망감을 표현함.
-
Blazor의 발전과 기대
Blazor가 서버 측 스트리밍과 렌더링, 컴포넌트 수준의 상호작용을 제공하면서 매력적으로 보임. .NET이 WasmGC 기능과 통합되면 더욱 개선될 것으로 기대함.
-
.NET 생태계의 장점에 대한 의견 요청
.NET 팬들에게 다른 생태계 대신 .NET을 사용하도록 설득할 수 있는 이유를 듣고 싶어함.
-
.NET Conf - Day 1 영상 링크
.NET Conf 첫째 날에 대한 영상 링크를 제공함.
-
C# 12의 새로운 기능과 "Aspire" 발표에 대한 의견
C# 12의 새로운 품질 개선 기능(컬렉션 리터럴, 기본 생성자)과 "Aspire" 발표에 대해 흥미롭다고 평가하면서, 이것이 좋은 변화인지 아니면 너무 많은 "마법"인지에 대해 아직 결정하지 못함을 나타냄.