반응형
작년에 면접에서 받았던 질문 중 하나인 WPF와 Winform의 특징 정리
두 프레임워크는 같은 목적(윈도우 응용프로그램 개발)을 수행하지만 특성에서 차이가있다.
Winform은 Windows 표준 컨트롤을 베이스로 하지만
WPF는 Windows 표준 컨트롤에 의존하지 않는다.
하나의 예시로 이미지가있는 버튼을 생각해보면
이 컨트롤은 Windows 표준 컨트롤이 아니므로 Winform에서 제공하지 않는다.(기본적으론)
원한다면 타사 컨트롤을 사용하거나 직접 만들어야 한다.
반면 WPF는 button컨트롤 안에 Image컨트롤을 넣으면 된다.
이러한 WPF의 유연성은 Winform이 작업 중 특정 컨트롤을 필요로하는 시나리오로 부터 만들어졌다.
다시말해 Winform은 보다 간단한 작업을 하는데 생각보다 많은 시간을 투자해야할 수 있다.
그 외 특성
WPF
MVVM 패턴을 사용. View(UI)와 ViewModel(Business Logic)의 보다 명확한 분리가 가능
xaml을 이용해 GUI를 보다 쉽게 만들 수 있고 디자이너, 프로그래머 작업 분할에 용이함
더 나은 GUI를 위해 하드웨어가속 사용가능
유연성이 뛰어나 새 컨트롤 작성없이 할수있는것의 폭이 넓음
Winform
레퍼런스가 많고(오래되서) 많은 테스트를 거쳤음.
(이걸 장점으로 삼기엔 WPF도 충분한 테스트를 거쳤다고 보여짐)
무료로 얻을 수 있는 서드파티 컨트롤이 많음
반응형