Winform 과 WPF의 가장 큰 차이점은 Winform은 Standard Windows Control(e.g a TextBox)에 의존한다는 점 입니다.
즉, WPF는 Standard Windows Control에 의존하지 않으므로 버튼 내부에 이미지를 넣거나, 버튼 내부에 또 버튼을 넣거나 그런 구조를 쉽게 만들어 낼 수 있습니다.
이러한 유연함은 디자인적 장점이 될 수 있습니다.
WPF
- Winform보다 나중에 나와 상대적으로 최신 기준들에 부합한 경우가 많습니다.
- Microsoft에서 출시하는 새로운 은용프로그램은 WPF를 사용하고 있습니다. 대표적 예시로 Visual Studio는 WPF로 구성되어있습니다
- Winform보다 유연하기 떄문에 새로운 컨트롤들을 직접 제작하거나 구매하지 않아도 많은 작업이 가능합니다.
- 외부 컨트롤들을 사용해야 할 때 유용한 경우가 많습니다.
- XAML은 GUI 파트를 담당하고 비하인드 코드는 분리하여 디자이너와 프로그래머의 업무를 분리한 구조를 구축하기 매우 용이합니다 ( MVVM 패턴 : 데이터와 레이아웃을 구분하고 바인딩 할 수 있습니다. )
- 하드웨어 가속장치로 GUI를 그리기 때문에 더 나은 성능을 제공합니다.
- Windows 기반 프로그램과 Web 기반 프로그램 모두 사용자 인터페이스를 제작할 수 있습니다.(Silverlight/XBAP).
Winform
- 오래 사용되어 안정성이 보장되어있습니다 ( 이는 WPF도 나온지 오래되었기에 충분히 안정성이 테스트 되었습니다. )
- WPF 대비 코드 제작 양, 난이도가 훨씬 낮습니다.
- 오랜시간 있었던 만큼 많은 회사나 기업들이 Winform을 채용하고 있는 경우가 많습니다.
Winform vs WPF 요약
GDI -> DirectX
하드웨어 가속장치로 GUI를 그리기 때문에 더 나은 성능을 제공합니다.
보다 다양한 사용자 인터페이스 제공 가능
최신으로 보다 좋은 호환성
WPF 성능 이해
WPF에서는 Winform과 달리 GPU를 적극적으로 사용하게 됩니다.
그렇기에 gpu를 갖춘 컴퓨터 또는 서버를 이용하면 winform보다 더 나은 속도를 보장할 수 있습니다.
즉, 그래픽카드에게 그래픽 관련 화면을 그리는 요소를 담당하게하고 CPU에는 계산 작업에 더욱 집중할 수 있기에 좋은 성능을 발휘할 수 있습니다.
그러나 가정용 컴퓨터가 아닌 납작한 컴퓨터, 즉 서버에서의 그래픽 카드는 일반 컴퓨터용 그래픽 카드보다 매우 비싸기에 주의하실 점이 되겠습니다. 만약 서버에 GPU 즉 그래픽카드 없이 CPU만 있다면 winform과 동일하게 CPU가 화면을 그리는데 담당하게 됩니다.
-> WPF에서는 GPU 사양에 따라서 2D,3D요소를 그리는데 더 많이 그래픽카드가 담당하게 된다는 이야기.
'공부 정리 > WPF' 카테고리의 다른 글
WPF의 Event를 어렵게하는 요인 (0) | 2025.01.02 |
---|---|
WPF에서의 Event (0) | 2025.01.02 |
코드 비하인드에서 접근 (0) | 2024.12.27 |
WPF, C# 개발 Visual Studio 간단 기능 (0) | 2024.12.25 |