dotnet/runtimelab에서 지금까지 출시된 기술, 앞으로 주목해야 할 기술

.NET은 날이 갈수록 파격적이고 진보적인 발전을 이루고 있는데, 그 원천이 어디서 온 것인지 궁금하신 분들이 많이 계셨을겁니다. 바로 dotnet/runtimelab 리포지터리에 그 원천이 모여있는데요, 여러 브랜치로 나누어져서 실험이 진행되고, 그 결과가 Upstream 브랜치에 병합되는 식으로 새로운 기능이 추가되고 있습니다.

그간 여러 실험이 있었고, Native AOT나 JSON 소스 제네레이터 같은 기능들이 성공적으로 졸업하여 현재 .NET 10 LTS에 데뷔한 것들이 많습니다.

아래 프로젝트들 중 여러분께서 기다리고 계시는 프로젝트는 어떤 것이 있고, 무엇이 기대되시는지 궁금합니다. :smiley:


Active Experimental Projects

Currently, this repo contains the following experimental projects:

  • Utf8String - A new UTF-8 String data type in the runtime.

  • FreeBSD - Port of .NET runtime to FreeBSD

  • NativeAOT-LLVM - LLVM generation for Native AOT compilation (including Web Assembly)

  • NativeAOT-Mint - Mono interpreter ported to Native AOT for dynamic execution support

  • ManagedQuic - Fully managed implementation of QUIC protocol

  • LLHTTP - a set of flexible, lower-level HTTP APIs.

  • CompatibilityPackages - a set of packages which help satisfy binary dependencies of .NETFramework assemblies on .NET.

  • Hot-Cold Splitting - Support the hot-cold splitting optimization in crossgen2.

  • ManagedZLib - Fully managed implementation of DEFLATE algorithm and GZip/ZLib envelope formats.

  • Async - Move support for async state machine generation from the C# compiler to the runtime.

  • SwiftBindings - Swift bindings for .NET.

  • CoreCLR Interpreter - An interpreter for CoreCLR.

You can create your own experiment, learn more here!

Completed Projects

7 Likes

.Net 10이 상업적인 운영체제에서 벗어나길 바랍니다.

리눅스도 좋지만
FreeBSD에서 데스크톱 앱(WPF)을 개발하는 날을 기대합니다.

1 Like

아쉽게도 WPF는 구조적으로 윈도우의 DirectX와 Win32 API에 깊게 종속되어 있어, 소스코드가 공개되었음에도 불구하고 다른 OS로의 이식은 사실상 불가능에 가깝습니다. 마이크로소프트 역시 WPF를 크로스 플랫폼으로 확장할 의사가 없음을 여러 번 밝힌 바 있고요. (MS가 지금 오픈 소스로 공개한 WPF는 네이티브 코어가 아닌 그 위에 구축된 XAML 스택과 주변부에 한정된 것이어서 완전한 오픈 소스는 아닙니다. 고속 그래픽 렌더링 엔진은 Windows OS의 일부이기도 하고요.)

Avalonia나 Uno Platform이 훌륭한 대안이 될 수는 있지만, 이들 역시 상업적 생태계(C#, 기업 주도 오픈소스)에 기반을 두고 있어 말씀하신 ‘상업성이 배제된 순수한 자유 소프트웨어 정신’ 과는 다소 거리가 느껴질 수 있습니다.

진정으로 .NET 환경에서 FreeBSD나 리눅스 데스크톱의 철학을 존중하는 앱을 개발하고자 하신다면, GtkSharp(GTK 기반) 이 가장 현실적이고 올바른 선택지라고 생각합니다. WPF의 XAML 방식과는 거리가 있지만, 유닉스 철학에 가장 부합하는 GUI 개발 경험을 제공해 줄 것입니다.

1 Like

아래 그림은 GtkSharp 으로 만든 코드 예입니다.
Winform 비슷하게 UI를 만드는 듯 합니다.

3 Likes