본문 바로가기

개발

WPF 성공할 수 있을까?

어제 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 기반으로 작동할지도 ^^;;

  • BlogIcon suvisor 2007.12.08 12:40 신고

    글 잘읽었습니다 ^^
    저도 아직은... 이라는 느낌을 지울수가 없네요...
    Devday2007에서의 강연들은 WPF,WCF등에 대해서 (silverlight를 포함해서) 너무 찬란한(?) 미래만을 말해서
    왠지 자바진영을 의식한 강연이었다는 느낌을 지울수가 없었습니다.(silverlight의 출시가 늦은것이 한목한거 같다는...)
    그래도 vs2008이 배포되면서 설치하는 사람들이 속속 늘어나는건, 호기심에서의 일일수도 있지만(저도 궁금해서 설치를 해봤는데... --;)
    실제 개발은 아직까지 시간이 걸릴듯하네요...
    비스타가 문제가 크죠...정말.
    우리나라에서는 2008년도에도 않될수도 있단는 생각이 듭니다. 엄청난 ActiveX의 홍수를 어떻게 다 처리할지 막막해서...
    지원되는 드라이버들도 문제고, 문제들이 하나둘이 아니어서 비스타 UI들을 구경하러 갔다가 다시 XP로 돌아오는 사용자들(저를 포함해서)이
    많아서...

    • BlogIcon esstory 2007.12.09 09:48 신고

      후니 유님 안녕하세요.
      말씀하신것처럼, 저도 '아직은' WPF 가 전성할 시기가 아니것 같습니다. 치고 빠지는 마이크로소프트전략때문에 몇년전에도 모든 어플리케이션이 닷넷 기반으로 갈 것처럼 대대적으로 광고하다가 아직 제대로 된 닷넷 어플리케이션도 없었고, WPF 도 화려하게 등장했지만, 닷넷이 가지고 있는 한계와, 플래쉬를 겨냥한 듯한, 화려한 3차원 회전 등의 기능에만 초점을 맞추고 있어서, 성능이나, 범용성에 무게를 두는 일반 어플리케이션 개발자들에게는 딴나라얘기처럼 들리네요 .
      비스타도 다음 서비스 팩에서 제대로 호환성을 보장하지 않는다면, 일단 게임 유저들이 비스타로 넘어 가질 않을테고, 많은 불편함을 감수하고 사용해야 해서 앞으로도 그다시 사용자가 늘어 날 것 같지가 않습니다.
      그래도. 비쥬얼 스튜디오 2008 은 크게 기대하고 있는 중입니다. mfc 관련 코드도 상당히 많이 개선되었다고 하니, 제가 개발중인 프로덕트도 2008 로 컴파일러를 곧 변경하려구요.

      좋은 의견 감사합니다 :)

  • BlogIcon Hwan 2008.01.22 00:44

    퍼포먼스가 문제가 될 때는... 하드웨어가 해결해 줄 때까지 기다리는 것도 방법이 아닐지... ^^ 웬지 질질 끄는 것 같지 않나요...?

    • BlogIcon esstory 2008.01.23 23:41 신고

      마이크로소프트는 웹쪽으로 옮아가는 시선을 어떻게든 WPF 같은 특화된 프로그램으로 잡아 보려는 심산 같습니다. 회사에서 WPF 를 잠시 배울 기회가 있었는데 기능으로 보면 지금까지 나온 어떤 것보다 화려한 아웃풋을 내 놓더라구요.
      하지만 화려함 뒤에는 이를 커버할 수 있는 성능문제가 따라오는데, 말씀하신 것처럼 마이크로소프트 바람대로 하드웨어의 진화가 그리 빠르지 못한 것 같습니다. 게다가 PC 를 교체하는 사용자도 생각보다 그리 많지 않은게 사실이구요. 비스타가 크게 뜨지 못하니 반도체도 영 가격이 엉망이구..
      시장 분석을 잘못한거라 봐야 할거 같아요

  • BlogIcon MaanMaan 2008.03.06 01:53

    좋은 글 잘 읽었습니다.
    마침 오늘 WPF를 사용한 MSDN Reader라는 프로그램을 심심풀이로 설치했다가, 약간 충격을 받았습니다. 사실 윈도우용 어플리케이션의 경우 기본적인 창 애니메이션을 제외하고선 상당히 투박한 모습을 보여주는 것이 대부분이었는데, 이건 마치 플래시로 도배된 웹페이지를 보는것처럼(오히려 플래시보다 가볍다는 느낌을 받았습니다) 애니메이션이 부드럽게 보여지고 기본 아이콘 등의 모습도 이제까지 윈도우 어플의 모습이 아니라는 점에서 신선한 충격을 받았다고나 할까요? 마치 영화속에서나 보일법한 컴퓨팅을 직접 하는듯한 경험이었습니다(영화속 컴퓨팅은 사실 플래시로 만들어진다는군요).
    하지만 역시나 개발자 입장에선 만만치 않은 고민거리가 있고... 개인적으로는 어서 윈도우용 어플리케이션들도 좀 화사한 모습을 보여줬으면 하는데, WPF로 가든 어떤것으로 가든 좋은 결과가 나왔으면 좋겠습니다.
    다시한번 좋은글 잘 읽었습니다.

    • BlogIcon esstory 2008.03.06 16:01 신고

      예. 플래쉬하고는 비교도 안될만큰 엄청난 그래픽 라이브러리지원을 받아 실행되는 프로그램이라, 실제 구동되는 모습은 충분히 매력적입니다.
      하지만, 예전에 비해서 사용자의 pc 성능 스펙트럼이 너무 다양해 지다 보니, 이러한 급격한 변화를 일반화 시키기에는 무리가 있어 보입니다.
      업그레이드 되지 않은 일반 pc 에서 비스타가 무리이듯이. wpf 도 당장은 힘들다고 보는데요..
      미래의 모습을 미리 본다는 점에서, 그리고 언젠가는 가야 하는 방향이라는 데는 저도 동의하고 싶습니다. 감사합니다.