[WPF] Windows Presentation Foundation
하...C#을 보면서 WPF란것을 접하게 되었다...MFC를 하면서 UI쪽이 없어보여서 winform(혹은 dialog) application을 만들때 마다 아쉬웠던 부분이다..이미 내 앞에서 남긴 발자국들을 근 몇시간을 찾아보고 읽어보고..했지만 아직 어디서 부터 손을 대야할지는 모르겠따..
[WPF]
2002년 정식으로 출시된 .NET Framework 1.0에서 Windows Forms이라는 좋은 기술이 등장했지만 사용자들의 눈높이가 높아지면서 Window Application에서 풍부한 비디오와 다양한 컨텐츠를 요구하기 시작했고, 미디어, 애니메이션, 2D 3D그래픽 등을 사용할 수 있기를 원하게 되었습니다. 또한 기존의 주요 윈도우 플랫폼(User32/GDI32, Ruby, Windows Forms)은 사용자들의 요구를 상당부분 만족시켜 주었지만 모두 각각 독립된 기술들로 분산되어 있었습니다. 만약 윈도우 환경하에서 위에서 나열한 모든 기능을 포함하는 프로그램을 만들어야 한다면 개발자들은 여러 가지 다른 기술에 대한 이해가 있어야만 만들 수 있을 것이며 각각의 기술들을 이해하기위해 많은 노력이 필요로 하였을 것입니다.
그래서 하나의 기술의 범위에서 위의 모든 기능을 구현할 수 있도록 각각의 기술들을 광범위하게 연결하고 통합하도록 하는 기술이 필요하였고 그래서 만들어진 기술이 바로 WPF(Windows Presentation Foundation)인 것 입니다.
WPF는 .NET Framework 3.0부터 추가된 기술로 2008년 초에 출시된 비주얼 스튜디오 2008(한글판의 경우 2008년 초, 영문은 2007년 11월)에서 사용하는 .NET Framework 3.5를 살펴보면 Windows® Communication Foundation (WCF), Windows® Workflow Foundation (WF) 그리고 Windows CardSpace™ (WCS)등의 4가지 기술이 포함된 것을 볼 수 있습니다.
WPF는 .NET Framework 3.x에 추가된 새로운 기술중 하나로, Windows Vista의 새로운 UX를 제공하기 위해 탄생되었습니다.
WPF에서는 그 핵심이 UX에 있다보니 기존 Window 프로그래밍과 다르게 디자인적인 측면이 많이 요구되어 디자이너와 협업을 하여 작업을 해야 합니다.
이 때 개발자와 디자이너가 소통할 수 있는 중간언어를 사용해서 디자인과 코딩 작업을 병행할 수 있다면 커뮤니케이션 면, 생산성 면에서 좋은 효과를 거둘 수 있을 것입니다. 이를 위해 Microsoft사는XAML(Extensible Application Markup Language)이라고 하는 새로운 MarkUp Language를 발표하여 UI를 표현하기 위한 XAML언어를 이용하여 개발자와 디자이너가 모두 사용 가능한 형태의 중간 언어를 제공하게 되었습니다.
정리를 하자면 WPF는 Windows vista의 새로운 UX(User Experience:사용자 경험)를 제공하기 위해 탄생되었으며 이를 위해 개발자와 디자이너의 협업을 위한 XAML이라는 MarkUp Language로 개발자와 디자이너가 공동으로 작업할 수 있는 환경이 만들어지게 된것 입니다.
작업은 디자이너/개발자의 공동협업으로 진행할 수 있으며 작업 진행시
디자이너 : Microsoft Expression Blend 4(Microsoft Expression Interactive Designer) 사용
개발자 : Microsoft Visual studio(2005, 2008, 2010 ~) / .Net Framework 3.0 이상
그런데..아직 툴 사용법이랑 XAML사용이 서툴러서 마냥 어렵게만 느껴지네... 천천히 해보자...