WPF를 접하고 난 뒤의 간략한 리뷰
JOB/웹 이야기 2007/07/20 11:28전 Microsoft 애찬론자도 아니다.
그리고 ActiveX를 너무나 싫어한다.
하지만 이 기술을 알게 되었을때 우리는 주목을 해야되는 필요성을 느꼈다.
2007년 1월 Microsoft는 Windows Vista와 Office 2007의 출시를 했습니다
기업을 위한 한글버전이 이전에 공개된 상황입니다.
지금 현재 WPF와 관련된 자료는 주위에서 쉽게 찾아볼 수 있을 것입니다.
여러 자료들에서 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 구현을 위해서는 여러 가지 기술들이 분산되어 있었다.
기술과 대표 기능들을 나열해보면 다음과 같다.
자세한건 아래의 WFP Architecturefmf 참조하면 좋을거 같다.
● Windows Forms – GUI(폼 및 버튼과 같은 컨트롤), 화면에 표시되는 문서
● PDF – 고정된 형식의 문서(벡터 기반의 문서 및 화면과 동일한 프린트 출력)
● Windows Forms/GDI+ - 이미지 제어, 2차원 그래픽
● Windows Media Player – 비디오 및 오디오
● Direct3D - 3차원 그래픽
예전 윈도우 환경에서 위에서 나열한 모든 기능을 포함하는 Application을 만들어야 한다면
개발자들은 일명 삽질을 통하여 만들 수 있었다.
아니, 삽질만으로는 아래에 소개되는 Application은 만들수 없을거라는 것이 개발자의 답변이다.
그러나 WPF는 모든 위의 기능을 구현할 수 있도록 제공한다.
Microsoft가 소개하는 WPF로 제작된 병원 프로그램을 한번 살펴보자.
이제는 윈도우 Application도 디자인되어야 한다.
웹 서비스를 만들 때 웹 개발자들은 웹 디자이너와 협업하는 것을 당연하게 생각한다.
이는 전혀 이상한 모습이 아니다. 그러나 윈도우 Application을 만들 때 개발자가 디자이너와 협업을 하는지
주변을 둘러보자. 아마 대부분의 기업에서 아이콘과 같은 그래픽 요소를 제외한 다른 폼 디자인과
같은 윈도우 UI 디자인을 개발자가 직접 작업하고 있을 것이다. 이제는 이런 생각을 버려야 한다.
사용자들의 눈을 충족하기 위해서라도 윈도우 Application도 사용자 경험을 기반하여 전문가에 의해
새롭게 디자인되어야 한다.
이를 위해 Microsoft는 XAML(Extensible Application Markup Language)이라는 새로운 마크업 언어를 소개하였고, 개발자와 디자이너의 협업을 위한 Expression 프로그램들을 소개하고 있다. 앞으로 국내 개발사들이 어떻게 받아들일지는 조금 더 살펴보아야 하겠지만 이는 의미 있는 메시지이며, 새로운 흐름이다
WPF의 핵심을 요약하면
1) 최신 사용자 인터페이스를 제공하기 위한 통합 플랫폼
WPF에서는 기존 윈도우 프로그램처럼 UI를 구성할 수도 있고, 플래시와 같은 UI도 구성할 수 있다. 또한 벡터기반으로 동작하기 때문에 줌인/줌아웃과 같은 다양한 사용자 인터페이스를 제공할 수 있게 된다.
2) 개발자와 디자이너가 공동으로 작업할 수 있는 환경 (아주중요하다)
윈도우 Application의 디자인은 이제 전문 디자이너에 의해 개발되어야만 한다.
실제로는 UX(User Experience) 전문가의 등장이 필요하다.
WPF는 이를 위해 개발자와 디자이너의 협업을 위한 기본 구조와 프로그램을 제공하고 있다.
3) 윈도우 사용자 인터페이스와 웹 브라우저 사용자 인터페이스를 개발하기 위한 공통의 기술
WPF를 이용하면 거의 동일한 코드를 사용하여 윈도우와 웹 브라우저에서 모두 실행할 수 있다.
물론 인터넷 익스플로러에서만 동작하는 단점은 가지고 있지만 이전까지 나온 기술에 비해 상당 부분 개선되었다.
4)스크립트에 한정되지 않은 강력한 언어를 지원
WPF는 C를 기반으로 만들어진 플랫폼이다.
기존의 플래시 등에서 표현이 자유롭지 못한 기능을 수행을 한다.
사용자 중심의 인터페이스와 개발자들의 자유로운 기능구현, 두마리 토끼를 한번에 잡은것이다.
Windows Vista GUI 환경인 WPF를 어떻게 생각합니까?
그저 단순한 윈도우 기술의 진화라고 보십니까?
개발자와 디자이너, 나아가서는 개발업체의 새로운 도전을 요구하고 있습니다.
변화의 2007년을 지금부터라도 관심을 가지고 준비하기 바랍니다.
윈도우 Application 과 웹 프로그램의 경계가 점점 희미해질 것입니다.
3D 기반의 새로운 UI, 마이너리티 리포트 또는 아일랜드에서 보았던 새로운 사용자 경험의 등장이 멀지
않았습니다.
예전에 사내 세미나를 진행할때 발표한 자료를 업로드 합니다
많은 관심을 가졌으면 좋겠습니다


Vista&WFP_20070511_v1.1.3.ppt