Lan3 WPF Study
[Sams Teach Yourself WPF in 24 Hours]
What WPF IS and Isn't
WPF란 무엇인가
WPF는 커다란 그림의 한 부분과 같다. 3가지의 추가적인 라이브러리가 .NET 3.0 의 한 부분으로 존재한다.
WCF | Windows Communication Foundation은 메세징에 중점을 두고있다. 이 API는 매우 간단하다. WCF는 P2P, 웹서비스의 확장형으로 보완된다. |
WF | WF는 강력한 라이브러리로 응용프로그램을 활성화한다. 어플리케이션 상에서 마크업 언어의 응용선언을 위하고, 개발자가 사용자 지정 워크 플로 작업을 쉽게 할 수 있도록 도와준다. |
CardSpace | 카드 스페이스는 데스크톱 응용프로그램, 웹사이트 등의 공통 식별 시스템을 제공해 준다. |
요약하자면 WPF는 윈도우 기반 어플리케이션의 그래픽 렌더링을 위한 플래폼으로서 풍부한 UI, Data를 통해 사용자 경험의 폭을 넓히는데 큰 도움이 된다.
WPF는 Windows API의 그래픽적인 기능에 접근하는데 Direct X의 기반을 두고 기능을 제공한다. DirectX API는 멀티미디어와 부분적 게임 프로그래밍에 접근하여 WPF의 시각적 효과를 더할 수 있고 하드웨어 가속이 활용된다는 것을 의미한다.
WPF의 기능 알기
UI적 선언.
WPF는 XAML이라는 마크업 언어를 사용하여 인터페이스를 구성할 수 있다. XAML은 HTML보다 훨씬 풍부한 마크업 언어이며, 표현가능한 프로그래밍 제품은 기본적으로 XAML을 생성할 수 있다.
지능형 레이아웃
복잡할 수 있는 응용 프로그램 화면의 다양한 구성 요소를 정렬하여 그것이 무수한 디스플레이의 가능성에 의해 WPF에 확장가능한 레이아웃 시스템을 제공해 주어 사용자들은 지능적으로 인터페이스의 크기를 조절할 수 있고 상황에 따라 레이아웃을 정의할 수 있게 된다.
확장 가능한 그래픽
WPF는 벡터 이미지 그래픽을 기반으로 하고 있다. 벡터 그래픽은 본질적으로 확장 가능하고 일반적으로 적은 스토리지를 필요로 한다. 어도비사의 플래쉬와 벡터그래픽사양(SVG)는 WPF 개발자를 위해 품질의 손실이 적게 할 수 있는 응용프로그램이 된다.
WPF와 Silverlight
실버라이트는 Rich Internet Application을 개발하기 위한 플랫폼이고 WPF는 주로 데스크톱 응용 프로그램을 위하는데 실버라이트는 WPF와 비슷하게 설계 되었지만 두 제품은 별도의 제품이다. 실버라이트의 초창기 이름은 WPF/E인데 Windows Presentation Foundation /Everywhere 의 줄임말로서 서로 출발은 비슷하게 시작하였다. 실버라이트 또한 사용자 인터페이스를 선언하기 위해서 XAML을 사용하고 2.0 버전에서는 보다 강력한 런타임과 기본 클래스 라이브러리를 제공한다. 실버라이트 2.0은 WPF와 많이 비슷하지만 WPF의 기능중 실버라이트가 지원하지 못하는 것도 발생할 수 있음을 염두해 두어야 한다. 마찬가지로 실버라이트용으로 작성된 코드는 상당한 변화가 필요할 수 있다.
XAML은 무엇인가
XAML은 WPF에서 사용자 인터페이스를 만드는데 사용되는 언어중의 하나이다. XML기반의 마크업 언어로서 사용자 인터페이스를 정의한다. Visual Studio 2008을 사용해 드래그 앤 드롭이 지원 되더라도 제작에 있어 XAML을 조작하면서 자주 수정을 거쳐주어야 한다.
xaml파일은 웹 브라우저에 흔히 일반적으로 호스팅 되고 있다.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Button x:Name="blueButton" Width="100" Height="40" Background="Blue" Content="Click Me" /> </Page> |
XAML의 구문
일반적으로 XAML의 요소는 개체와 특성의 인스턴스가 된다.
루트요소는 페이지의 인스턴스가, 더 구체적으로 시스템에 해당한다.
BlueButton타입의 경우 버튼의 요소는 XAML에 앞서 C#과 같다
Button blueButton = new Button(); blueButton.Width = 100; blueButton.Height = 40; blueButton.Content = "Click Me"; blueButton.Background = new SolidColorBrush(Colors.Blue); |
총 정리
1. WPF : Windows Presentation Foundation
- 윈도우 기반 어플리케이션의 그래픽 랜더링을 위한 플랫폼
- 풍부한 UI, data : 사용자 경험의 폭을 넓이는데 큰힘이 될것
- UX : User eXperience
>> 기술이 인간을 향해 발전하는 공학의 목적(공학의 따뜻한 배려)
--> WPF는 시각적으로 뛰어난 사용자 환경, 사용자경험(User Interface)을 제공하는 응용프로그램을
만들 수 있도록 해주는 차세대 프리젠테이션 시스템
- 대표적인 예) Window Vista, Windows7 에서의 OS 기능, 디자인 등의 새로운 플랫폼
- .NET 3.0 : .NET Framework 2.0 + WPF + WCF + WF + CardSpace
>> WCF : Windows Comunication Foundation
>> WF : Windows WorkFlow Foundation
2. WPF의 등장배경
- 사용자 경험(UX) 증가.
- 어플리케이션 개발에서의 디자이너와 프로그래머의 생산성을 증가 요구됨
>> xaml, c#, Visual basic.net 분리로 원활한 협업의가능
-> XAML : Extensible Application Markup Language
- xmal제공으로 개발자와 디자이너 모두 손쉬운 개발과 디자인을 할수있도록 도와줌
3. WPF의 특징
- 효과적인 GUI(Graphic User Interface), UI 개발을 위한 서브시스템
- Windows7 개념의 새로운 UX 제작 기술제공
- xml로 UI를 설계가능 : xaml (XML : eXtensible Markup Language)
- 새로운 디자인 도구 제공 (디자이너들의 Expression brend)
- 통합 응용 프로그램 제작 가능 by .NET framewrok
- 벡터그래픽 처리방식의 랜더링 엔진 탑재
4. WPF의 기능
- 하드웨어 가속
> 모든 wpf 드로잉 작업은 DirectX를 통해 수행 : 비디오카드의 이점을 최대한 활용
- 해상도 독립성
> DPI 설정에 따라 모니터, 디스플레이 선호에 유연성을 제공
- 고정되지 않은 컨트롤 외형 등등
[출처] WPF-1. WPF의 소개|작성자 초천재
'프로그래밍언어 > WPF' 카테고리의 다른 글
WPF 레이아웃 (0) | 2011.06.29 |
---|---|
WPF(기본적인 개념,아키텍쳐)[XAML이란 무었인가 (0) | 2011.06.29 |
Hour 6 Introducing Data Binding (0) | 2011.03.24 |
Hour 4: Handling application layout (1) | 2011.03.24 |
Hour 5 Using Basic Controls (0) | 2011.03.24 |