WinUI3를 잠깐 써보고 드는 생각들.

업무에서 메인으로 개발을 하지 않은지 몇년이 흐르고, 다시금 프로그램 만드니 쉽지가 않네요.
WPF를 사용해서 간단한 테스트 프로그램들 만들곤 했는데, WPF 말고 다른것을 써보고 싶어서 WPF로 짠것을 WinUI3로 바꿔 보았습니다.
잠깐동안 WinUI3를 사용했을때의 느낌입니다.

첫번째. 왜 디자인 뷰가 왜 없지?

좀 찾아보니 마소 정책인것 같기도 하고, 아무튼 디자인 뷰 없이 과연 될까? 했는데 꾸역 꾸역 하고 있습니다.
하지만, 저처럼 기술에 익숙하지 않는 사람들은 디자인 뷰가 있으면 더 좋을것 같다는 생각은 지울수가 없습니다.

두번째. 마우스 이벤트 핸들러가 줄어듬.

마우스 버튼, 휠 이벤트를 처리하고 싶어서 찾아보니 바로는 안 되네요.
뭐 그렇다고 못하는것은 아니고 이전보다 조금 더 귀찮은것 같습니다.
WinUI부터 터치 지원이 강화되어서 그런가 싶기도 하고…

세번째. WPF, UWP와 조금 다름.
새로운 기술이니 당연히 다른게 맞는데… 할때마다 찾아서 하기가 힘듭니다.

네번째. 컴파일 및 디버그가 느림.
느립니다. WPF로 디버그 모드 실행했을때보다 배로 느린것 같습니다.
.Net에서 .Net Core로 바뀐 후 빨라진 속도를 보고 놀랬었는데… WinUI는 거꾸로 갔습니다.

생각나는것은 이 정도네요.

간단한 GUI 프로그램을 만들어서 그런지 WPF에 비해 어떤 큰 장점이 있는지는 잘 못 느끼겠습니다.
‘Windows 10/11의 조금 더 이쁜 컨트롤를 기본으로 쓸 수 있다’ 정도인것 같습니다.

그리고 아직 정보가 부족해서 ChatGPT와 Bard가 제대로 된 솔루션을 내놓지 못하네요.
WinUI3라고 질문해도 UWP나 WPF를 사용한 솔루션을 내 뱉는 경우가 대부분 인것 같습니다.

5 Likes

Blazor도 그렇고 wpf , api 전부 그랬던것 같습니다.
MS 제품군 나올때마다 써보면 처음에는 너무 불편하다
못쓸정도네 등등 부정적이었던것 같습니다.
하지만 시간이 지나고 버전업이 되고 의도를 알게 되면서
이래서 써야 하는구나 알게된것 같아요

5 Likes

첫번째로 말씀하신 디자인 뷰에 관한 것은 적응을 하셔야 하는 부분이라고 생각합니다.

점차 IDE 안에 내장된 미리보기 디자인 뷰는 사라지는 추세입니다.

WPF에도 Window나 UserControl(사용자 정의 컨트롤)에는 디자인 뷰가 있지만 CustomControl(사용자 지정 컨트롤)에는 디자인 뷰가 없습니다.

그리고 WPF에서 대형 테마를 다루는 군은 거진 CustomControl로 작업하는 것으로 알고 있어서 더 현대적인 메타인 것으로 알고 있습니다.

아마도 그렇게 붙어있을 경우 아키텍쳐 적으로 의존성에 대한 문제가 생길 수 있기 때문이라고 생각합니다.

Winform이든 WPF-UserControl 이던 지요…

그렇기 때문에 Hot reload 지원을 강화하고 있다고 생각합니다.

4 Likes

마소가 또 뻘짓한거죠. 이러니 점유률이 계속 떨어지고 탈윈도우 바람만 부는거겠죠.

(추가)
디자인뷰가 없어지는건 어쩔 수가 없습니다.
.net core 덕분에 멀티 플랫폼을 대상으로한 개발이 가능해졌는데, 디자인뷰를 넣으려면 모든 멀티플랫폼을 대상으로 해야하고, 이것 하나때문에 IDE가 거대해질 수 있고 오류도 엄청날게 뻔하니 디자인뷰보다는 hot-reload로 밀고 나가려는 거겠죠.
애초에 uwp나 winui가 아니라 윈폼과 WPF의 기능 개선버전으로 이어가고, 멀티플랫폿만 자마린으로 했어야했는데, 마소 특유의 똥고집으로 뻘짓하다 또 망하는 상황이죠.

2 Likes

Github에 보면 수많은 사람들이 요구하는데도 마소가 움직이지 않는것 보면 더 이상 지원하지 않을것 같습니다.

디자인뷰와 툴이 없으면 WinUI를 처음 접하는 개발자나 저처럼 라이트하게 쓰는 사람들은 사용하기가 쉽지 않다는게 조금 아쉽네요.

2 Likes

이제 아니 벌써 데스크탑 GUI는 한물간게 아닌가 싶은데, 마소가 감사하게도 최신 컨트롤을 좀 더 편하게 쓸 수 있는 WinUI를 내 놓았다는데 감사하고 있습니다.

개인적으로 마소가 WinUI는 조금 오래 밀지 않을까 싶어서 만져봤는데… 자료가 없어서 진도가 잘 안 나가네요.

1 Like

글쎄요… 저는 WinUI 3을 미리보기 때부터 써오고 있는데 익숙해지면 뭐 적응이 되는 것 같습니다.
아직 까지는 UWP의 WinUI 2를 쫓아가는 양상이고 성능도 100%에 도달하지는 않았어서 아쉬운 부분도 있지만 점점 더 개선되겠지요.
WinUI 3에 익숙해지면 바로 Uno Platform으로 넘어갈 수 있습니다. 동일한 컨트롤 기반이라 XAML을 동일하게 전개할 수 있습니다.

Windows Community Toolkit 지원도 있을 예정이라 WinUI 3의 아쉬운 부분을 조금은 보완할 수 있습니다.

아직 패키지 릴리스 되지는 않은 것 같아요. WinUI 2, WinUI 3, Uno Platform에서 모두 사용할 수 있습니다. 다음을 통해 Uno Platform을 이용해 웹브라우저에서 동작성을 확인할 수 있습니다.

https://toolkitlabs.dev/

2 Likes