김영욱 - 해당되는 글 1건

특집기사 Microsoft WPF

Windows Vista and WinFX™
차세대 운영체제 이런 예기는 이미 충분히 들었을 줄로 안다.
Windows Vista에 대한 예기들을 하면서 깔끔한 UI, 강화된 보안기능등에 대한
예기를 하면서도 정작 엄청나게 바뀐 내부적인 변화에 대해서는 섵불리
예기 하기가 쉽지 않은것은 그 변화 폭과 내용이 너무 엄청나서 일 것이다.

누가 그랬던가 Windows 3.x에서 Windows 95가 나올때 이상의 변화이다 라고
물론 그때도 UI적인 측면이 충격적으로 바뀠지만 그 보다 더 중요한 변화라고 하면
Win16 API에서 Win32 API로의 환경적인 변화가 실상 더 큰 변화 였다.

이번의 Windows Vista의 변화 역시 Win32 API와 .NET Framework가
WinFX라는 환경으로의 충격적인 진화와 확장이 된 버전으로 그 내부적인 환경의
변화를 설명할 수 있다.
 

WinFX는 아래와 같이 세 부분으로 크게 구성되어 있다.
-WPF -Presentation Foundation
-WCF -Communication Foundation
-WWF -Workflow Foundation

UI의 혁명적 변화를 이끌어 낼 WPF와 SOA를 단일환경으로 통합시릴 수 있는 WCF
그리고 Workflow로 비지니스 프로세스를 구조화 할 수 있는 WWF와 같은 요소들은
바로 WinFX를 구성하고 있는 주요 구성 요소이다.

이 중에서도 설명해 드릴 내용은 WPF라고 하는 UI의 혁명이다.
제가 백마디 하는 것 보다 데모 동영상을 보고나서 계속 이어가겠다.

동영상 URL:http://www.microsoft.com/products/expression/en/demos.mspx

일단은 보기에는 멋있다. 멋있는 정도가 아니라 무슨 방송용 화면이나 광고같기도 하다.
심지어는 마이널리티 리포터의 한 장면이 떠오를라 하려고 까지 한다.
문제는 저런 화면을 실제로 구현할 수 있는가 하는 것이다.
KBS 개그맨 중에서 백수들의 애환을 다루고 있는 누구는
"안돼는게 어딧니~" 라는 대사로 항상 코너를 마무리 지었다.
말 그대로 안되는 건 사실상 거의 없다. 하지만 그 정도의 혁신적인 UI와 환경을
구축하는데 얼마 만큼의 시간과 비용이 소비되는가 하는게 문제 일 것이다.

WPF는 이런 완성된 그리고 엄청난 UI를 비교적 쉽게 구현할 수 있는 환경을 예기하고
있다. WPF는 아래와 같은 구성 요소를 가지고 있다.



WPF는 위의 그림에서 볼 수 있듯이 XAML(Extensible Application Markup Language)
와 C#과 같은 언어로 구성되어 있다.
XAML은 UI를 구성하는 XML의 일종으로 WPF에서 UI의 모든 부분을 담당하고 있다.
UI를 XAML로 구성하면서 UI에 대한 관리가 좀더 직관적으로 변하였고 융통성 있게
관리할 수 있는 장점이 생겼다.

Markup tag로 애플리케이션 구축 할 수 있게 되였고 단순한 명시적 선언구조에
어떤 CLR 객체 구조 표현 가능해 졌다. 또 코드와 내용의 효과적 분리가 되었고
설계자와 개발자 사이의 협업과 동시작업이 가능하다.

XAML로 구성된 UI의 실제 기능은 C#, VB.NET, Java Script등으로 구성할 수 있다.

WPF의 핵심 구성요소로 다음과 같은 내용들을 제공해 준다.
-탐색, 윈도우, 대화상자에 대한 지원
-UI Data binding, 확장 layout 및 풍부한 control objects,
-2D와 3D 그래픽, Animation, Media, Document

엄청나지 않은가 기본적인 폼 이외에도 각종 Media와 2D, 3D 그래픽까지 모두 다룰
수 있게 되었기 때문에 위의 데모 동영상에서 본 것과 같은 화려한 화면을 구상할
수 있게 된 것이다.

또 WPF는 기본적으로 아래와 같이 OS를 지원할 예정이다.

-Windows의 다음 버전인 Vista에 포함예정
-Windows XP SP2와 Windows Server 2003 SP1에는 WinFX 런타임의 일부로 제공될 예정
-Windows Presentation Foundation Everywhere(WPF/e)
  XAML과 Javascript에 기반을 둔 WPF의 mobile version
  3D 기능은 제공되지 않음, 그러나, XPS, vector-based drawing,
  hardware acceleration은 제공

위의 내용을 정리해 보면 WPF는 Vista 부터 본격적으로 지원이 되지만
Windows XP나 Windows 2003에서도 그 기능을 사용할 수 있다. 또한 Web Application과
Windows Application을 공통적으로 개발할 수 있는 기반이 된다.

이 비슷한 기술들이 이미 RIA(Rich Internet Application)라는 이름으로 나와 있는
제품들도 많이 있다. 가장 대표적인 재품은 Adobe사의 Flex가 그 예이다.
하지만 Flex은 현재 몇가지 치명적인 문제점들이 보이는데
디자이너와 개발자의 협업과 성능, 보안 문제들이 존재한다.

디자이너와 개발자의 협업은 보통 일정 규모 이상의 프로젝트에서 사용하는 형상관리
툴인 CVS나 Visual Source safe, Team System 중에서 CVS만 지원하고 있으며 이는
규모 있는 Project의 운영에 치명적인 약점으로 작용한다.

둘째 성능상의 문제는 Flex는 모든 화면 처리를 CPU가 직접 계산하고 있기 때문에
화면 해상도가 높아지고 Control수와 Effect가 많아지면 화면이 끊기고
CPU점유율이 100%를 상위하는 경우를 쉽게 볼 수 있다.
처리 결과를 보여주어야 할 화면이 처리를 못하게 CPU를 점유하는 아이러니가 남게
되는 것이다.
또 아직은 성능과 보안적인 이슈를 않고 있기 때문에 비교적 데이터양이 적은
영화 예약과 같은 곳에 한정적으로 활용되고 있다.
그럼 WPF의 경우는 어떠한가 WPF는 형상관리 툴을 적극적으로 활용할 수 있으며
Microsoft에 제공하는 개발도구들은 모두 Team System과 Visual Source Safe를 활용 할
수 있게 되어 있다. 또한 WPF는 일반적으로 우리가 3D 가속 칩으로 알고 있는 GPU를
활용할 수 있게 되어 있다. 이는 CPU의 부하를 획기적으로 줄여주면서 더 매끄럽고
화려한 효과를 줄 수 있다. (Nvidia 혹은 ATI의 제품들이 소위 말하는 GPU)이다.

아직 보안과 성능에 관련한 이슈에 대한 답은 아직 WPF라도 처리 방법을 지금은 테스트
해보지는 않았으나 나름 방법은 있을 것이라 기대하고 있다.

WPF를 이용하기 위한 개발환경을 구성하기 위해서는 무엇이 필요한가?
WPF는 WinFX의 한 부분이며 따라서 WPF를 설치하고 테스트 해보기 위해서는 WinFX 개발환경을
구성해야 한다. WinFX의 개발환경을 구성하기 위해서는 설치할 것도 많다.
하지만 WinFX가 정식 발표 되었을 때는 개발도구에 모두 통합되어서 간단히 설치 할 수도
있을 것 같다. WinFX를 사용하기 위해서 설치해야 되는 목록과 순서는 아래와 같다.

이 순서는 친절한 성철씨가 3일간 삽질한 결과로 올려 놓은 것이라 한다.
이 자리를 빌어서 감사의 말씀을 드립니다.
http://lovewiz.pe.kr/31

1. Windows XP SP2 or Windows Server 2003 SP1 설치된 깨끗한 컴퓨터
(Windows Vista도 가능)

2. WinFX Runtime Components 다운로드 및 설치
http://msdn.microsoft.com/windowsvista/downloads/getthebetaaspx?FamilyId=AD0CE56E-D 7B6-44BC-910D-E91F3E370477&displaylang=en

3. Visual Studio 2005 설치

4. Windows SDK 다운로드 및 설치
http://www.microsoft.com/downloads/details.aspx?FamilyId=9BE1FC7F-0542-47F1-88DD-61E3EF88C402&displaylang=en

5. Visual Studio Extensions for WinFX 다운로드 및 설치
http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0CE56E-D7B6-44BC-910D-E91F3E370477&displaylang=en

6. Interactive Designer 다운로드 및 설치(Option)
http://www.microsoft.com/downloads/details.aspx?familyid=D0161985-AE53-4794-9860-61A4906587F0&displaylang=en


Windows SDK를 설치하고 나면 C:\Program files\Windows SDKs\ 하위에 Sample code가 있으며
Sample code를 통해서 전체적인 모습을 보실 수 있다.


 

김영욱 Microsoft MVP
blog: blog.naver.com/microsoftMVP

Web: www.winkey.pe.kr

email: iwinkey@Hotmail.com


|

No7Do's Blog is powered by Daum & tistory