WPF 개념, WPF 정의, WPF란?


Windows Presentation Foundation 의 약자로서 Window 기반 응용프로그램에서 사용자 Interface를 표시하기 위한 목적으로 Microsoft에서 만든 그래픽 서브시스템입니다.

WPF는 2D/3D 렌더링, 고정 및 가변 문서, 타이포그래피, 벡터 그래픽스, 실시간 애니메이션, 프리렌더링 미디어와 같은 여러가지 보편적인 사용자 인터페이스들을 통합하는 것을 목적으로 합니다. 이러한 요소들은 다양한 이벤트, 사용자 인터랙션, 그리고 데이터 바인딩에 기반하여 연결 및 처리될 수 있습니다. WPF는 다양한 인터페이스 요소들을 정의하고 연결하기 위해 XML 기반의 언어인 XAML을 채택했습니다. WPF 응용프로그램은 데스크탑에서 단독으로 실행될 수도 있고 웹사이트에 내장된 객체로 서비스될 수도 있습니다.. NET 프레임워크는 XAML에 대한 지원은 없지만 WPF 기반의 GUI 객체 모델을 포함하고 있습니다.

 

WPF에서는 다음과 같은 프로그래밍 모델을 기반으로 개발을 수행하게됩니다.  
- XAML 코드 + 코드 숨김  
- 트리 구조의 UI 요소  
- 데이터 바인딩  


WPF의 가장 큰 특징은

- 사용자 인터페이스는 XAML에서 작성합니다.
- 실행 코드의 구현부는 C # 또는 Visual Basic을 사용합니다.
- 그래픽 렌더링은 DirectX를 사용합니다.
- 동적 데이터 기반 형 애플리케이션을 구축 할 수 있습니다. (Data Binding 데이터 바인딩)

 

WPF의 장점은 다음과 같습니다.
● 그래픽 하드웨어 
 WPF는 코어 부분에 그래픽 하드웨어를 활용한 벡터 기반 렌더링 엔진을 채택하고 있습니다. 벡터 기반이기 때문에 UI 요소에 부드러운 확대 · 축소 / 회전을 보여줄 수 있고. 또한 하드웨어 가속을 통해 CPU의 부담을 최소화하고 있습니다. 
● 컨트롤, 미디어, 문서의 통합 
 WPF는 버튼 및 목록 상자와 같은 컨트롤 래스터 이미지와 벡터 그래픽 정점 메쉬를 이용한 3D 그림, 동영상 등의 미디어 리치 텍스트 등의 포맷된 문서에 대해 통용적인 개발 기능을 제공합니다. 각각 별도의 프로그래밍 모델을 기억할 필요가 없을뿐만 아니라, 예를 들어 버튼에 동영상을 표시하는 등의 조합도 쉽게 할 수있습니다. 
● UI 사용자의 유연성 
 기존의 GUI 개발 라이브러리에서는 버튼 등의 UI 요소를 사용자 정의해도 크기와 배경색 변경 정도의 기능 밖에 가지고 있지 않은 것도 많습니다. 이에 대해 WPF에서는 예를 들면 어떤 형태의 버튼을 만들거나 배경으로 동영상을 흘리거나 동적으로 회전 및 크기 조절을 실시하는 등 매우 유연한 사용자 정의가 가능합니다. 
● 외형 (= 외관 디자인)과 로직의 분리 
 WPF에서 XAML (Extensible Application Markup Language)이라는 XML 형식의 선언적 언어를 사용하여 사용자 인터페이스기술을 사용합니다. 외형 (= 외관 디자인)에 관한 부분을 XAML 언어로 작성된 논리를 C# 언어 등을 사용하여 나타냄으로써 응용 프로그램의 외형에 관한 부분을 논리에서 완전히 분리된 구조로 되어있습니다. 

반응형