본문 바로가기
개발

WPF 성공할 수 있을까?

by esstory 2007. 12. 8.

어제 Mary Jo Foley 가 쓴 WPF 에 관련된 포스트를 읽어 봤는데요.

 

One year later: Where are the killer Vista apps?

 

포스트 내용을 요약하면 올 1월에 마이크로소프트와 야후는 윈도우 비스타에 최적화된 WPF 기반 야후 메신저를 개발키로 했다고 합니다. 두 회사의 비중으로 봐서 누가 봐도 대단한 WPF 기반 어플리케이션이 나올 거라 상상했을 텐데요

하지만 거의 1년이 다 되어 가는 12 6일에야 정식버전도 아닌 프리 베타 버전의 야후 메신저를 발표했다고 하네요. 무엇이 이렇게 WPF 기반 어플리케이션을 개발하는데 오래 걸리게 하는 것인지, 사용자를 비스타로 건네오게 할 진정한 비스타 용 킬러 어플리케이션은 없는 것인지 묻고 있습니다.

 

MFC 기반 어플리케이션을 만들고 있는 저로서도 WPF의 등장은 많은 고민을 하게 했습니다.

기존 레거시 MFC 프로그램을 WPF로 가야 할지에 대해 자료를 찾고 약간의 공부도 했는데요.

그 당시( 5월쯤이었던고 같네요) 제가 내린 결론은 아직은 아니다라는 거였습니다.

제가 생각한 아직은의 이유들은

 

  • WPF 기반 어플리케이션은 닷넷 종속적이었습니다. WPF로 만든 프로그램을 배포하기 위한 가장 좋은 운영체제는 비스타 뿐이었습니다. 윈도우 XP 사용자의 경우, 서비스 팩과 닷넷의 배포 문제가 있어, MFC 처럼 응용프로그램만 사용자 PC 에 단순히 설치하는 문제가 아니었습니다.  윈도우 98부터, 윈도우 2000 등의 다양한 사용자를 대상으로 하는 프로그램에게 이 문제는 심각하다고 여겨졌습니다.

 

  • 윈도우 비스타의 성장 속도가 더딜 것이라고 예상했습니다. 실제로 윈도우 비스타가 나온 지 꽤 시간이 지났지만, 아직도 비스타의 가장 큰 적인 XP 만큼 폭발적으로 사용자가 늘지 않고 있고(하위 호환성을 무시했으니 당연한 결과라고 봅니다), 오히려 XP로 되돌아가는 사용자도 많지요. 개발자인 저조차도 아직 윈도우 비스타를 개발 PC 에 설치하지 않고 있습니다. 회사 내 일부 공용 PC 에 윈도우 비스타를 설치해 두고는 있지만 화려한 UI 맑은 고딕폰트 이외에 그다지 끌리는 게 없었습니다. (그것조차 금방 싫증나는) 또 이래 저래 귀찮기만 한 UAC 도 한 몫을 했습니다.

 

  • 성능 문제도 아주 큰 이슈였습니다. C++ 기반의 MFC 코드와는 달리 닷넷위에 올려져서 돌아가는 중간코드 프로그램이다 보니 당연히 속도가 빠를 리 없습니다. 어떤 분들은 능숙한 C++ 사용자가 아닐 경우에는 오히려 복잡한 내부 로직을 모두 다 알아 처리해 주는 닷넷이 낫다고 하시는 분도 있었지만, 절대적으로 중간 코드가 네이티브 C++ 보다 빠를 리 없습니다.  게다가 프로그램 초기 로딩 시 20~60 메가나 되는 무거운 라이브러리가 로딩되는 시간도 문제지요. 조그마한 Delay 에도 민감하게 반응하는 사용자를 생각하면 너무나 큰 모험이 아닐 수 없었습니다.

 

 

성능 관련해서는 Mary Jo Foley 포스트에서도 인용한 부분이 있는데, 딱 제가 받은 느낌 그대로였습니다.

One of the major roadblocks for WPF applications has been performance and it looks like this application (Yahoo Messenger) suffers the same fate. On a dual-core system with a more than plentiful graphics card, this application can’t even render the emoticon popout opening and closing without obvious pauses. Generally when anything animates, CPU usage flies right up and performance hits rock bottom.

 

그리고 WPF를 조사할 때 저랑 같은 고민을 하고 있는 토론방을 발견했는데요.. MFC 개발자 상당수가 이와 비슷한 고민을 하고 있었나 봅니다. ( 3월에 올라온 글이라 지금과 내용이 조금 다를 수는 있습니다)


.NET desktop application performance VS Native apps

 


WPF 에 대한 좀 부정적인 내용으로 글을 쓰긴 했지만, 개발자 된 입장에서는 계속해서 마이크로소프트의 개발 전략에 관심을 두고 MFC로 만들 수 없는, WPF로 된 멋진 프로그램이 혹여나 경쟁사에서 먼저 만들지 않을까 걱정하면서 지켜 보는 중입니다. (울 나라 사람들은 무엇이든 최초라는 수식어를 좋아라 해서 ㅠㅠ)

 

특히 얼마전 발표된 비주얼 스튜디오 2008 WPF가 시장에서 살아 남을 수 있는 지 판단할 수 있는 주요한 초석이 될 것 같습니다.

2008 이전에는 Visual Studio 2005 에서 코딩을 하고, Blend 를 사용해서 UI 를 디자인하다 보니 개발과 디자인 툴간의 코드 공유도 힘들고, 알게 모르게 손이 많이 갔는데 이러한 부분들이 2008 에서는 상당히 많이 개선되지 않았을까요.

 

혹시 누가 압니까? 차기 오피스는 WPF 기반으로 작동할지도 ^^;;

댓글