본문 바로가기
programming/TroubleShootInG

UWP와 WPF 차이 사용되는 플랫폼의 대상이 다르다

by 개코 - 개발과 코딩 2023. 5. 8.

UWP와 WPF는 윈도우 프로그램을 만드는데 사용되는 GUI 이다. 모두 윈도우 프로그램을 만드는데 사용되지만, 실행되는 플랫폼에 차이가 있다. UWP는 윈도우가 실행되는 모든 하드웨어 기기인 모바일, 데스크톱 등에서 사용할 프로그램 개발에 사용되고, WPF 는 윈도우가 실행되는 데스크톱에서 사용할 프로그램 개발에 사용된다.

UWP와 WPF 차이
사용되는 플랫폼의 대상이 다르다

WPF 로 프로그램을 만들어 보면 간간히 보이는 것이 UWP 이다.

관심이 없다가도 호기심에 프로젝트를 만들어 보면 크게 다를 바를 느끼지 못한다.

다만, 프로젝트 생성과정이 조금은 생소할 수도 있지만 결과적으로 작업 환경은 같다.

그런데 마이크로소프트의 안내를 보면 이 둘은 다르다라고 언급하고 있다.

단 하나의 공통점은 윈도우를 위한 프로그램을 개발하는 것이고, 다른 점은 실행환경에 있다.

윈도우에서 실행하면 같은 환경이지 무엇이 차이가 있다는 것인지 난해하지만 이것은 WPF 와 UWP 의 단어에 이미 녹여져 있다.

공통점 때문에 난해한 점

WPF와 UWP은 윈도우 프로그램을 개발할 때 사용하는 GUI ( Graphic User Interface ) 이다.

그래픽 기반의 프로그램을 만들기 위한 도구이다. WPF 와 UWP 의 약자를 보면 다음과 같다.

  • WPF
    Windows Presentation Foundation
  • UWP
    Universal Windows Platform

공통되는 단어는 Windows 이다.

이것은 WPF와 UWP는 윈도우 프로그램을 위한 도구임을 알 수 있다.

다만, 이들의 기준이 어디에 있는지 실행되는 타겟되는 환경이 어떤 것인지 알아볼 필요가 있다.

다양한 윈도우 플랫폼

마이크로소프트가 자사의 개발툴과 언어를 발전시키는 것은 좋지만 다방면으로 투자를 해도 이게 지속가능성이 있는 것인지 아닌지 투자를 계속 하는 것인지 아닌지 불분명하다.

공식 홈페이지에는 메뉴얼인 MSDN 의 내용을 꾸준히 유지할 뿐 별다른 내용들은 없다.

비주얼스튜디오에서 표시하는 공지 내용을 보면 꾸준하게 뭔가 하는것 같긴 한데 가시적인 측면은 잘 보이지 않는다.

다만 마이크로소프트의 플랫폼이 다양하다는 점에서 자사의 개발툴을 발전시키고 있는 것은 분명하다.

여기서 WPF와 UWP의 차이가 갈리게 된다.

다시 용어를 살펴보자.

  • WPF
    Windows Presentation Foundation
  • UWP
    Universal Windows Platform

마이크로소프트에서 출시하고 판매하는 서비스하는 하드웨어 제품군은 여러가지가 있다.

데스크톱, 엑스박스, 홀로렌즈, AI, 그리고 데이터베이스까지 다양하다.

윈도우라는 한정된 플랫폼이 여러가지 하드웨어에서 운영되도록 하기 위해 마이크로소프트 또한 모바일 기기를 위한 윈도우를 제공하고 있다.

그렇다면 WPF와 UWP의 차이가 의미하는 바를 위의 단어에서 알 수 있다.

근본적인 차이점

WPF와 UWP의 프로젝트를 한번이라도 만들어본 사람이라면 비슷한 점을 느낄 수 있다.

화면을 구성하는 것은 xaml 을 이용하고, 동작을 꾸미는 것은 cs 파일에서 처리한다.

실행을 해보면 비슷한 결과물을 보여준다.

그리고, 당연히 윈도우에서 실행되기에 크게 차이점을 느끼진 못한다.

다만, WPF와 UWP의 약자에서 차이를 볼 수 있다. 약자를 풀어 쓴 것은 위에서 언급했다.

그렇다면 차이는 무엇일까.

WPF 는 단순히 윈도우를 이용하는 데스트톱을 위한 프로그램을 개발하는데 있다.

UWP 는 범용적으로 사용되는 윈도우를 사용하는 모든 기기에서 사용할 수 있는 프로그램을 개발하는데 있다.

우리에게 인기가 없을 뿐이지 윈도우의 버전은 모바일기기부터 데스크톱까지 다양하다.

즉, WPF는 윈도우를 사용하는 데스톱에서 사용할 수 있는 프로그램 제작에 사용되고, UWP 는 윈도우를 사용하는 모든 하드웨어 기기 플랫폼에서 사용할 수 있는 프로그램 제작에 사용된다.

  • WPF
    Windows Presentation Foundation
    데스크톱과 같은 일반적인 윈도우 프로그램 개발에 사용
  • UWP
    Universal Windows Platform
    모바일과 데스크톱을 포함한 모든 윈도우 기반 플랫폼에서 사용할 프로그램 개발에 사용
반응형

댓글