상세 컨텐츠

본문 제목

[펌] Windows Vista의 UI 기술 - WPF 알아보기

WPF

by happynuri 2008. 1. 25. 19:03

본문

Windows Vista의 UI 기술 - WPF 알아보기

11월 30일 Microsoft는 Windows Vista와 Office 2007을 출시하였다. 국내에서도 기업을 위한 한글버전이 공개되었다. 내년 2월 정도에는 이들 제품을 주위에서 쉽게 찾아볼 수 있을 것이다. 여러 자료들에서 Windows Vista가 출시되면 우리의 컴퓨팅 환경이 변화한다고 이야기한다. 그 중심에 바로 사용자 인터페이스(UI)의 변화가 있으며, 그 기술의 핵심이 WPF(Windows Presentation Foundation)이다. 과연 어떤 기술이길래 이렇게 강조되고 있는지 우리가 체감할 수 있는 범위에서 간단히 알아보자.

우리도 모르는 사이 UI는 변화하였다.
Microsoft의 윈도우는 거의 5년 정도의 시간이 흘러 새로운 버전이 출시되었다. 이렇게 긴 시간 동안 우리 일상의 컴퓨터 사용 환경은 변화하였다. 그 중 하나가 바로 인터넷에 기반한 UI이다. 윈도우와 웹 사이트간의 UI는 확실히 그 느낌이 다르다. 우리가 자주 쓰는 윈도우 UI는 대화상자 기반이었다. 즉 메뉴를 선택하고, 윈도우를 통해 프로그램을 실행하였다. 그러나 웹 UI는 어떠한가? 윈도우처럼 구현할 수도 있지만 대부분 하이퍼링크를 기반으로 하는 탐색형식의 UI이다. 또한 페이지간의 이동에 뒤로/앞으로(Back/Forward) 기능을 자주 이용하고 있다.

이는 우리도 모르는 사이 이미 웹이라는 UI에 익숙해졌고, 윈도우 UI보다 어떤 경우에는 더 편안함을 느끼고 있는 것이다. 그렇다면 기존의 기술로 윈도우 환경하에서 동작하는 “웹 UI”스러운 프로그램을 만들 수 있을까? 컴퓨터로 안 되는 것이 없다고 하지만 이는 정말 생산성이 떨어지는 일이다. 플래시를 이용하여 개발할 수도 있지만 이 또한 플래시 UI와 다른 윈도우 기술을 결합해야 하는 복잡한 단계를 거쳐야 한다.


그들은 5년 동안 어떤 고민들을 하였을까?
“새 술은 새 부대에”라는 속담처럼 Microsoft는 성숙하는 사용자의 눈을 맞추기 위해 뭔가 새로운 기술이 필요로 하였다. 이 새로운 기술 중 하나가 바로 WPF이다. 그렇다면 WPF에는 어떤 고민의 흔적들이 들어가 있을까?

Windows XP와 같은 환경에서 사용자 UI 구현을 위해서는 여러 가지 기술들이 분산되어 있었다. 기술과 대표 기능들을 나열해보면 다음과 같다.

● Windows Forms – GUI(폼 및 버튼과 같은 컨트롤), 화면에 표시되는 문서
● PDF – 고정된 형식의 문서(벡터 기반의 문서 및 화면과 동일한 프린트 출력)
● Windows Forms/GDI+ - 이미지 제어, 2차원 그래픽
● Windows Media Player – 비디오 및 오디오
● Direct3D - 3차원 그래픽

만일 윈도우 환경하에서 위에서 나열한 모든 기능을 포함하는 프로그램을 만들어야 한다면 개발자들은 여러 가지 다른 기술에 대한 이해가 있어야만 만들 수 있었다. 그러나 WPF는 하나의 기술의 범위에서 모든 위의 기능을 구현할 수 있도록 제공한다. Microsoft가 소개하는 WPF로 제작된 병원 프로그램을 한번 살펴보자.


이미지, 텍스트, 2D, 3D 그래픽 결합


비디오와 사용자 입력 텍스트 메모


메모와 PDF와 같은 문서(XPS) 표시

이처럼 WPF는 사용자의 눈 높이를 맞추기 위해 흩어져있던 다양한 기술들을 합치고, 부족한 부분은 새롭게 만들어서 우리들에게 선보이고 있는 기술이라 할 수 있다.


이제는 윈도우 프로그램도 디자인되어야 한다.
웹 서비스를 만들 때 웹 개발자들은 웹 디자이너와 협업하는 것을 당연하게 생각한다. 이는 전혀 이상한 모습이 아니다. 그러나 윈도우 프로그램을 만들 때 개발자가 디자이너와 협업을 하는지 주변을 둘러보자. 아마 대부분의 기업에서 아이콘과 같은 그래픽 요소를 제외한 다른 폼 디자인과 같은 윈도우 UI 디자인을 개발자가 직접 작업하고 있을 것이다. 이제는 이런 생각을 버려야 한다. 사용자들의 눈을 충족하기 위해서라도 윈도우 프로그램도 사용자 경험을 기반하여 전문가에 의해 새롭게 디자인되어야 한다.


[그림출처: Microsoft]

이를 위해 Microsoft는 XAML(Extensible Application Markup Language)이라는 새로운 마크업 언어를 소개하였고, 개발자와 디자이너의 협업을 위한 Expression 프로그램들을 소개하고 있다. 앞으로 국내 개발사들이 어떻게 받아들일지는 조금 더 살펴보아야 하겠지만 이는 의미 있는 메시지이며, 새로운 흐름이다.


WPF의 핵심을 요약하면
WPF가 전달하는 핵심을 요약하면 다음과 같다.

1) 최신 사용자 인터페이스를 제공하기 위한 통합 플랫폼
WPF에서는 기존 윈도우 프로그램처럼 UI를 구성할 수도 있고, 플래시와 같은 UI도 구성할 수 있다. 또한 벡터기반으로 동작하기 때문에 줌인/줌아웃과 같은 다양한 사용자 인터페이스를 제공할 수 있게 된다.

2) 개발자와 디자이너가 공동으로 작업할 수 있는 환경
윈도우 프로그램의 디자인은 이제 전문 디자이너에 의해 개발되어야만 한다. 실제로는 UX(User Experience) 전문가의 등장이 필요하다. WPF는 이를 위해 개발자와 디자이너의 협업을 위한 기본 구조와 프로그램을 제공하고 있다.

3) 윈도우 사용자 인터페이스와 웹 브라우저 사용자 인터페이스를 개발하기 위한 공통의 기술
WPF를 이용하면 거의 동일한 코드를 사용하여 윈도우와 웹 브라우저에서 모두 실행할 수 있다. 물론 인터넷 익스플로러에서만 동작하는 단점은 가지고 있지만 이전까지 나온 기술에 비해 상당 부분 개선되었다.


Windows Vista GUI 환경인 WPF를 어떻게 생각하는가? 그저 단순한 윈도우 기술의 진화라고 보는가? 개발자와 디자이너, 나아가서는 개발업체의 새로운 도전을 요구하고 있다. 변화의 2007년을 지금부터라도 관심을 가지고 준비하기 바란다. 윈도우 프로그램과 웹 프로그램의 경계가 점점 희미해질 것이다. 3D 기반의 새로운 UI, 마이너리티 리포트에서 보았던 새로운 사용자 경험의 등장이 멀지 않았다.

(작성자: 네오비스)

관련글 더보기

댓글 영역