.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" 발표에 대해 흥미롭다고 평가하면서, 이것이 좋은 변화인지 아니면 너무 많은 "마법"인지에 대해 아직 결정하지 못함을 나타냄.