이제는 .네트 아닌 윈도우즈 앱 sdk와 윈ui

수 년 전까지 윈도우즈 프로그래밍을 한다고 하면 .네트나 c++을 한다는 뜻이었다. 이들로 디자인까지 했다. front end와 back end를 엄격하게 구분하지 않았다.

Build native Windows desktop apps with the Windows App SDK and WinUI 3 — the recommended platform for new development using C#, C++, and XAML on Windows 10 and 11.
Windows app development documentation

windows forms에서 시간이 흘러 wpf로 와서는 유저 인터패이스를 분리했다. .네트에서 유저 인터패이스를 뺀 나머지는 그럼 뭐라 해야 하나? 애매했다.

wpf를 지나 WinUi로 왔다. 이제 분명해졌다. 윈도우즈 프로그래밍은 windows app sdk와 winui로 나눈다.

윈도우즈 폼즈와 wpf는 .네트 그 자체였어서 c# 뿐만 아니라 비주얼 배이식으로도 구현할 수 있었다. 이들 언어 모두 문법만 달랐지 .네트를 이용했으므로 성능은 같았다.

윈도우즈 앱 sdk + 윈ui 조합은 그렇지 않다. c#과 c++로만 가능하다. 따라서 그 개념이 .네트를 넘어선다.

c#으로 windows app sdk를 이용하면 흔히 win32 api라 불렀던 라이브러리를 포함하는 windows sdk와 .net를 모두 쓰게 된다. 따라서 이들을 이용하는 방법이 다르지 않다.

윈ui 이용 방법은 많이 다르다. 더 어렵지만 강력하다.

c++로 하면 .네트를 쓰지 않고 내이티브 앱을 만들게 된다.

윈도우즈 앱 sdk와 윈ui로 와서는 이제 애플리캐이션이라는 말은 쓰지 않는다.