본문 바로가기

IT 살이/04. 기술 - 프로그래밍

01 WPF로 사용자 경험(User Experience) 높이기

Build A Great User Experience With Windows Presentation Foundation

이번 포스트는 MSDN 매거진 10월에 실린 아티클을 번역(번역은 달봉이한테 무리이고 그냥 나름대로 해석한 것이다.)한 내용을 올려 볼려고 한다. Smart Client 애플리케이션은 역시나 WPF(Windows Presentation Foundation)을 알아야 한다. 

SmartClient 기술이 나오고 웹 브라우저도에서도 Windows Form 기술의 컨트롤들을 호스팅하고 그리고 Windows Forms WebControl에서는 웹 페이지를 불러와 보여주고 하는 것이 지금의 상황이다. 즉  동일한 컨텐트인데 그것을 호스팅하는 컨테이너만 Windows Form으로 하느냐 아니면 웹 브라우저로 하느냐 인데 이런 상황을 지켜보고 있으면 언젠가는 애플리케이션 모델이 통합될 것이 아닌가 하는 예상을 해 본적이 있다.

이 문서에서는 그 통합의 가능성을 현실화시켜주는 WFP에 대한 이야기를 볼 수 있다. 그러나 AJAX 기술이 열렬한 환경을 받으며 등장하는 것과 함께 여러가지 생각을 해 보면, 데스크탑 애플리케이션과 웹 애플리케이션등 모든 애플리케이션 타입이 하나로 통합되는 것은 현실적으로 불가능할 것같다는 생각도 든다.

그러나 이제 WPF 애플리케이션 모델을 보게 된다면 기존의 Windows Forms 애플리케이션에서 만큼은 데스크톱형식과 브라우저 기반의 타입들이 통합되어지고 있다는 것을 이해할 수 있게 될 것이다.

이 문서를 읽으려고 했다면 반드시 끝까지 읽어보길 바란다. 그래서 Window, Page, Hyperlink, NavigationWindow, NavigationService, Frame, WPF 리소스, PageFunction의 새로운 개념들을 이해할 수 있기를 바란다. WPF 애플리케이션 모델을 구성하는 중요한 개념들로서, 여러분들이 개발하려는 WPF 애플리케이션을 사용자 경험(user experience) 측면에서 좀 더 적절한 구조로 만들어 줄 수 있을 것이라 본다.

또 한가지 더 짚어본다면, 이 문서 서두에 사용자 경험(User Experience)라는 것을 애플리케이션의 모델과 설계의 중요한 근거로 사용하고 있음을 언급하고 있다. 이 말은 Windows Vista WPF가 나오면서 자주 듣게 되는 말인데, 3D니 벡터 방식이니 해서 일반 애플리케이션에서도 UI(User Interface) 출력 방식의 새로운 경험을 제공할 수 있게 되어서일 것이다.

그러나 또 한편으로는 앞에서 말한 것처럼 독립형 데스크톱 애플리케이션과 브라우저 임베딩 타입의 애플리케이션개발 모델이 통합되었기 때문에 지금까지의 사용자 경험을 계속 유지하려는 노력도 더욱 더 필요해지게 되었기 때문이기도 하다. 무슨 말인가 하면 독립형 애플리케이션을 만들었는데 페이지간의 네비게이션을 하이퍼링크 방식으로 구현한다면 사용자는 왠지 편치 못한 경험을 겪게 될 것이다. 메뉴 스타일의 네비게이션과 하이퍼링크 스타일의 네비게이션이 하나의 애플리케이션에서 모두 가능하게 되면서 그 사용에 대한 가이드 라인이 필요하게 되었을 것이고 그 기준으로서 지금까지의 사용자 경험이 중요하게 되었을 것이라고 보인다. 컨테이너 안에 들어가는 페이지는 통일된 모델을 갖지만 그러나 지금까지의 사용자 경험을 근거로 해서 애플리케이션 모델을 별도로 구분하게 된다는 것이다.

따라서 이 문서에서는 WPF에서 지원하는 애플리케이션 타입들을 다루면서 앞에서 언급한 모델들의 구요 구성 객체들을 설명하고 있다. 이에 대한 이해는 앞으로의 WPF에 대한 이해에 많은 도움이 될 것으로 기대한다.

이 아티클에 대한 주요 사항을 요약하면 다음과 같다.

아티클 주소

-         http://msdn.microsoft.com/msdnmag/issues/06/10/AppFundamentals/default.aspx

사용하는 기술

-         .NET Framework 3.0, Visual Studio 2005, XAML, C#

다루는 주제

-         UX의 요소

-         WPF 리소스 모델

-         WPF 애플리케이션 모델

-         XBAP 애플리케이션 설계

소스 코드 다운로드

http://msdn.microsoft.com/msdnmag/code06.aspx