티스토리 뷰

C# Language/C# WPF

[1. WPF시작] 1-1) WPF란?

OManager 2019. 7. 5. 15:02

WPF(Windows Presentation Foundation)의 약자다.

2002년경 Microsoft에서 출시한 GUI(Graphical User Interface)이로 프로그램을 사용하는 사용자와의 인터페이스를 담당한다.

그렇다면 과거에는 GUI가 없었을까? 
대표적인 GUI는 Win3.1부터 시작해서 나오던 WinForm(Windows + User Interface)가 있다. 

왜 마이크로 소프트사는 기존 WinForm을 놔 두고 WPF를 출시하였을 까?
그 이유는 두가지 GUI의 장점을 비교해 보면 알 수 있을 것 같다. 

WPF(Windows Presentation Foundation) WinForms

- 최신 기준에 부합한다.
- 유연한 프로그램이 가능하기 때문에 컨터롤 제작이 쉽다. 
- XAML을 사용하므로 디자이너와 프로그래머의 업무를 분리가능하다.
- 데이터와 레이아웃을 구분하여 바인딩 가능하다. 
- 하드웨어 가속으로 속도가 빠르다.
- Window, Web 기반 프로그램을 동시에 사용가능하다.

- 오래되었으며, 검증된 기술이 많다.
- 많은 예제를 인터넷에서 찾을 수 있다. 
- 지원하는 외부 컨터롤이 많다. 
- 혼자서 작업할때 용이하다. 

특히 마이크로 소프트 사에서 장점으로 밀었던 Window, Web 동시사용가능이 장점이라 생각했던 것 같은데 실무에서는 거의 사용되지 않는 분위기이다. 


필자가 느끼는 측면에서 정리하자면 아래와 같다. 

첫번째로 과거에 프로젝트를 진행하면서 사용자 인터페이스를 고민하는 경우가 많았으며, 보통 상용컨터롤을 구매하여 사용하였다.  최근 WinForms에서 작성한 프로젝트를 WPF를 다시 구현할 일이 있었는데, WinForms보다 WPF가 인터페이스를 유연하게 작성할 수는 있었다. 다만 "양날의 검이라!"  유연성이 높아지니 생산성이 떨어지는 것은 어쩔수 없었다. 
두번째는 WPF의 속도가 빠르다고 나와 있는데 솔직히 잘 모르겠다.
특히 WPF는 XAML BASE와 CODE BASE의 두가지 방법으로 프로그램이 가능한데 XAML 방식으로 작성했을 때는 WinForms보다 더 느리다는 느낌을 받았다.

프로그램 기간이 늘어나 소스가 정밀해지고, 정규화 되어지면 복사, 붙여넣기를 사용할 만한 내용들이 생기게 된다. 이쯤 되면 WPF가 WinForms보다 훨씬 좋은것 같다. 나의 경우 4개월 정도 지나고 나니 효율이 나기 시작했다. 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함