프로그래밍_Programing/C#

무엇이 다른가? WPF, WinRT, UWP(Universal Windows Platform)

NineTIN 2016. 12. 16. 11:29

지금 1년 반정도 C# WPF 프로그래머로 일하고 있지만

나에게는 Java와는 다르게 색다른 경험을 주고 있고(재밌다는 뜻임) 

이 기회에 앞으로도 계속 해보고 싶다고 생각한다.


먼저 필자가 처음 시작할때 혼란 스러웠던 .Net Framework를 정리 해보고자 한다.

심지어 아래에 설명할 것들 모두가 UI 디자인을 XAML(Extensible Application Markup Language)을 이용 하고 있어서(WinForm은 빼고) 더욱 그랬다.



  • WinForm
이제는 더 이상 업데이트도 안되고 있고 
그저 유지만 되고 있는 아주 오래된 프레임 워크
초창기 Windows 응용 프로그램 제작에 사용 되었다.
근 미래에는 지원이 중단될 것 같다.

  • WPF(Windows Presentation Foundation)
Rich UI  (Windows Vista에 부터 도입된 UI, Windows 7도 동일) 데스크톱 응용 프로그램을 만들기 위해 개발된 프레임 워크
Microsft입장 에서는 UWP가 발표된 지금도 아직까지 버리지 않고 있는데 그 때문인지
Windows 10, Windows 7, Windows 7 with SP1, Windows 8, Windows 8 Pro, Windows 8.1 에서도 문제없이 돌아간다.
로드맵을 보면 꾸준히 업데이트도 예정 중인 프레임 워크
애초에 Visual Studio2012부터 인가가 WPF로 만들어 졌고 Silverlight도 WPF다.

  • WinRT(ARM Architecture Edition) & Metro App

Windows8 부터 도입 된 프레임 워크

WinRT의 경우 급 성장 중이던 스마트폰과 태블릿은 대부분이 ARM계열 CPU를 쓰고 있었기 때문에

모바일 시장을 노리고 만들게 된 프레임워크


당시의 Microsoft는 PC와 스마트폰과의 통합을 위해 

무슨 판단 이였는지 데스크톱 응용 프로그램도 Metro App을 사용 하도록 했다.

이는 결국 Windows 8과 더불어 Windows Mobile의 실패를 불러오게 된다.

결과적으로는 Microsoft의 최대 삽질이 되었지만 이를 추진력으로


  • UWP(Universal Windows Platform Apps)

...이 나오게 된다. Windows 10 부터 도입 된 프레임 워크로

진정한 의미로 PC와 모바일의 통합을 이루어 낸 프레임 워크

심지어 Xbox에서도 쓰인다고 하니 앞으로의 행보가 기대되는 프레임 워크

(Window폰은 망했으니 아마 안 될테지만)