업무에서 메인으로 개발을 하지 않은지 몇년이 흐르고, 다시금 프로그램 만드니 쉽지가 않네요.
WPF를 사용해서 간단한 테스트 프로그램들 만들곤 했는데, WPF 말고 다른것을 써보고 싶어서 WPF로 짠것을 WinUI3로 바꿔 보았습니다.
잠깐동안 WinUI3를 사용했을때의 느낌입니다.
첫번째. 왜 디자인 뷰가 왜 없지?
좀 찾아보니 마소 정책인것 같기도 하고, 아무튼 디자인 뷰 없이 과연 될까? 했는데 꾸역 꾸역 하고 있습니다.
하지만, 저처럼 기술에 익숙하지 않는 사람들은 디자인 뷰가 있으면 더 좋을것 같다는 생각은 지울수가 없습니다.
두번째. 마우스 이벤트 핸들러가 줄어듬.
마우스 버튼, 휠 이벤트를 처리하고 싶어서 찾아보니 바로는 안 되네요.
뭐 그렇다고 못하는것은 아니고 이전보다 조금 더 귀찮은것 같습니다.
WinUI부터 터치 지원이 강화되어서 그런가 싶기도 하고…
세번째. WPF, UWP와 조금 다름.
새로운 기술이니 당연히 다른게 맞는데… 할때마다 찾아서 하기가 힘듭니다.
네번째. 컴파일 및 디버그가 느림.
느립니다. WPF로 디버그 모드 실행했을때보다 배로 느린것 같습니다.
.Net에서 .Net Core로 바뀐 후 빨라진 속도를 보고 놀랬었는데… WinUI는 거꾸로 갔습니다.
생각나는것은 이 정도네요.
간단한 GUI 프로그램을 만들어서 그런지 WPF에 비해 어떤 큰 장점이 있는지는 잘 못 느끼겠습니다.
‘Windows 10/11의 조금 더 이쁜 컨트롤를 기본으로 쓸 수 있다’ 정도인것 같습니다.
그리고 아직 정보가 부족해서 ChatGPT와 Bard가 제대로 된 솔루션을 내놓지 못하네요.
WinUI3라고 질문해도 UWP나 WPF를 사용한 솔루션을 내 뱉는 경우가 대부분 인것 같습니다.
(추가)
디자인뷰가 없어지는건 어쩔 수가 없습니다.
.net core 덕분에 멀티 플랫폼을 대상으로한 개발이 가능해졌는데, 디자인뷰를 넣으려면 모든 멀티플랫폼을 대상으로 해야하고, 이것 하나때문에 IDE가 거대해질 수 있고 오류도 엄청날게 뻔하니 디자인뷰보다는 hot-reload로 밀고 나가려는 거겠죠.
애초에 uwp나 winui가 아니라 윈폼과 WPF의 기능 개선버전으로 이어가고, 멀티플랫폿만 자마린으로 했어야했는데, 마소 특유의 똥고집으로 뻘짓하다 또 망하는 상황이죠.
글쎄요… 저는 WinUI 3을 미리보기 때부터 써오고 있는데 익숙해지면 뭐 적응이 되는 것 같습니다.
아직 까지는 UWP의 WinUI 2를 쫓아가는 양상이고 성능도 100%에 도달하지는 않았어서 아쉬운 부분도 있지만 점점 더 개선되겠지요.
WinUI 3에 익숙해지면 바로 Uno Platform으로 넘어갈 수 있습니다. 동일한 컨트롤 기반이라 XAML을 동일하게 전개할 수 있습니다.
Windows Community Toolkit 지원도 있을 예정이라 WinUI 3의 아쉬운 부분을 조금은 보완할 수 있습니다.
아직 패키지 릴리스 되지는 않은 것 같아요. WinUI 2, WinUI 3, Uno Platform에서 모두 사용할 수 있습니다. 다음을 통해 Uno Platform을 이용해 웹브라우저에서 동작성을 확인할 수 있습니다.