brainage.egloos.com

포토로그



서피스 네오가 나온 상황의 윈도우용 SW개발은 어떠한가 by 천하귀남

이달 초에 서피스 네오가 발표되었습니다. 양쪽 동일한 크기의 두개 화면을 가진 새로운 형태라 많은 이야기를 불러왔습니다.
그런데 저 서피스 네오용 앱은 어떻게 만들어야 할까요? 이것은 매우 중요한 문제입니다. 아무리 HW가 대단해도 돌아갈 SW가 없으면 끝장이고 결국 개발자들이 SW를 만들기 쉽도록 개발툴과 방법등을 잘 정비해야 합니다.

이 부분에서 MS는 매우 쓰라린 경험을 지니고 있습니다. 일단 스마트폰과 태블릿 부분에서 참담한 실패를 했습니다. 기존의 윈도우 개발과 다른 새로운 개발방법을 개발자들에게 요구 했는데 그나마 엉성하기 짝이 없는 윈도우 모바일에서 윈도우폰으로 넘어가면서 실버라이트 기반 앱개발을 요구했다가 윈도우폰8이 나오면서 다시 윈도우 RT기반으로 바꿉니다. 결과는 대차게 망했지요. 아이폰과 안드로이드가 있고 사용자에게는 이들 기기가 대부분인데다 개발편의성도 높은데 윈도우폰의 삽질에 동참할 이유가 없었지요.

이 모바일분야의 진출을 위해 MS는 윈도우8에 윈도우 RT(런타임) API를 추가합니다. 과거 PC기반의 win32 API를 대체할 새로운 API이고 폰과 태블릿 PC등 MS의 OS에서 돌아가는 앱을 만들수 있습니다. 그리고 이것은 다시 윈도우 10이 나오면서 윈도우 UWP(유니버셜윈도플랫폼)으로 이름을 바꿉니다.


윈도우 UWP의 사용을 장려하기위해 MS는 MS스토어에 올리는 앱은 UWP로만 개발해야 한다고 강제했습니다.

헌데 문제는 개발자들이 윈도우 RT고 윈도우 UWP고 안 따라갑니다.

어쩔수 없는 문제가 있는것이 오랜 역사를 가진 SW일수록 오래된 win32기반의 자체 라이브러리, 모듈, 코드가 쌓여 있습니다. 이걸 UWP기반으로 재개발 하는 것은 막대한 시간과 비용이 들어갑니다.

또 윈도우 UWP의 목표인 폰, 태블릿, PC등을 위한 공동개발이라는 것이 너무 비현실 적이기도 했습니다. 화면 크기가 달라지면 인터페이스 구성이 달라지고 결국 프로그래밍역시 달라집니다. 여기에 한 코드를 저렇게 다양한 기기에 돌려야 한다면 공통되지 못하는 부분을 제거해야 통일성이 생깁니다. PC의 경우 태블릿이나 폰과 다른 너무 막강한 추가 부품이 있습니다. 바로 게임용 그래픽 카드입니다. 이거 성능을 뽑자고 온갖 난리를 쳐야 하고 당연히 HW를 직접 건드릴 수단이 있어야 합니다. 헌데 공통개발이 되면 이걸 막아야 하니 대량의 그래픽 처리가 필요한 SW는 UWP개발이 난감해 집니다.

MS조차 이 부분에서 답이 안나왔습니다. MS 오피스의 UWP버전이 포기되었고 엣지 웹브라우저도 지금 개발중인 차기 크로미움버전은 Win32로 만드는 중입니다. 결국 MS스토어에 올리는 앱에 win32앱도 허용 한다고 하는군요.서피스 네오에 들어갈 윈도우X OS에서도 Win32 API사용은 허용될거라고 합니다. 

최종적으로 MS는 이제 UWP에서만 사용가능하던 기능도 win32 API에서 사용가능하게 할거라고 합니다.

물론 개발자들도 언젠가 win32가 버려질 것을 알고 있으니 지금도 열심히 UWP기반으로 앱을 옮기고는 있습니다. 카카오톡도 UWP기반으로 나왔다고 하더군요.

하지만 여전히 상당수의 SW는 기존 윈도우SW의 개발방법을 따라갈겁니다. 앞으로도 계속 나올겁니다. 그러니 서피스 네오가 나와도 어떤 SW는 윈도우 창이 가운데에서 쩍 갈라진 요상한 모양으로 보여도 실망하지 마시길 바랍니다.


비쥬얼 스튜디오 최신판을 까는데 아래 윈도우개발쪽에 저것이 보이길래 몇자 적어봤습니다.

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

구글 애널리틱스

통계 위젯 (화이트)

123882
6091
5700173

이 이글루를 링크한 사람 (화이트)

408

당부드리는 말

블로그 사진을 포함한 전체가 아닌 일부의 내용은 얼마든지 사용하셔도 상관없습니다.

상대방을 존중하는 생각이 있다면 욕설과 과도한 비아냥은 자제를 부탁드립니다. 정도가 심하거나 비로그인의 글은 임의 삭제 가능함을 알려드립니다.

A타입 클린 캠페인 위젯

방문자

Map