이광석
1
안녕하세요, 이광석입니다.
예전에 준비해두었던 저의 개인 프로젝트
Delta
라는 라이브러리를 이제야 소개드리게 되었습니다.
육아와 일에 치여 어영부영 멈춰 있었는데,
이번에는 slog
를 통해 조금씩이라도 진행 상황을 공유해보려 합니다.
WPF 개발에서는 XAML과 MVVM이 거의 필수처럼 따라붙습니다.
하지만 최근에는 화면을 만들 때 습관적으로 MVP 정도의 구조만 잡고,
2페이지 정도 되는 화면에도 ‘나중에 뭔가 더 붙겠지…’ 생각하며
괜히 큰 설계부터 시작하는 버릇이 생겼습니다.
Delta는 WPF 환경에서
MVU(Model-View-Update) 패턴을 간결하고 직관적으로 구현할 수 있게 도와주는 라이브러리입니다.
React의 함수형 상태 관리(Hooks) 개념에 영감을 받아,
useState
를 통한 상태 관리와
Fluent 스타일(체이닝)로 UI를 선언형으로 정의할 수 있도록 만들었습니다.
이를 통해 복잡한 UI 로직도
단순하고 명확하게 표현할 수 있으며,
필요한 업데이트를 자동으로 최적화합니다.
간단한 예시는 다음과 같습니다:
// 예시코드
using Delta;
public class CounterComponent : Component
{
protected override IVisual Render()
{
var (count, setCount) = useState(0);
return HStack(
Text($"Count: {count}"),
Button("Increment")
.OnClick(() => setCount(count + 1)),
Button("Decrement")
.OnClick(() => setCount(count - 1))
);
}
}
GitHUB URL : GitHub - lukewire129/Delta: WPF C# MVU
8개의 좋아요
정말 멋진 프로젝트군요!! 기대됩니다.
개인적으로는 Comet 등장 이후 빠르게 MVU가 도입될걸로 기대했는데…
더 기다리는 중입니다.
MAUI 처음 작업할 때 MVU로 한참 시끄러웠었죠.
2개의 좋아요