웹개발자들 "윈도8 메트로 앱 만들어보니"

국내 인터넷비즈니스 업체 웹개발팀 비공개인터뷰

일반입력 :2012/04/19 18:51    수정: 2012/04/20 15:49

웹개발자가 대다수 윈도용 애플리케이션(이하 '앱')을 만드는 시대가 올 것인가? 자바에 익숙한 웹개발자가 이클립스 대신 마이크로소프트(MS) 개발툴인 비주얼스튜디오를 잘 다루게 될 것인가? 테스트용 태블릿PC 없이 터치 환경에 알맞은 앱이 만들어질 것인가?

차세대 윈도에서 '웹기술로 앱개발이 가능하다'는 메시지에 대한 의문의 일부다. MS가 한창 윈도8 개발자 확보에 나섰지만 기존 윈도 개발자들 모두가 분명한 기회로 다가올 것이란 확신에 찬 것은 아니다. 더불어 윈도8에 관심이 있는 웹개발자들도 '낯선 윈도'에 적응하는 부담이 얼마나 될 것인지 모르는 상황이다. 메트로 사용자 인터페이스(UI)와 윈도8 앱 플랫폼에 관심이 있으나 다소 의문을 품고 있는 개발자들을 대신해 윈도8 앱개발 환경의 특징과 소감을 들어보기로 했다.

올초부터 국내서 메트로스타일 앱을 만들고 있는 한 기업 소속의 웹개발자들을 만나 인터뷰를 진행했다. 참석자는 전체 진행상황을 보고받는 팀장 A씨, 프로젝트매니저(PM) 겸 웹개발 경력을 기반으로 서로 다른 팀에서 메트로 앱 개발 프로젝트를 맡은 현업 엔지니어인 B씨와 C씨, 3명이다. 이 회사의 하반기 신사업계획이 포함돼 있어 참석자 실명과 프로젝트 내용은 밝히지 않기로 했다.

다음은 팀장 A씨(이하 'A'), 엔지니어 B씨(이하 'B'), 엔지니어 C씨(이하 'C'), 3명과 진행한 문답이다. 대화는 메트로UI에 대한 소감과 이점, 윈도8의 특징과 태블릿 시장에 대한 가능성 웹개발자 관점에서 플랫폼 개발사 MS에 바라는 점 등을 주제로 진행됐다.

■메트로UI 첫인상은 단순-허전 써보니 터치

-각자 맡은 역할과 조직 구성을 말해 달라

A: B와 C가 각각 다른 프로젝트에 소속돼 있다. 2개 팀이 따로 돌아가는 거다. 각 팀마다 3명씩 배정됐다. 나는 진행상황 보고를 받을 뿐 직접 관여하진 않는다. 앞으로 내놓을 HTML5 앱, 모바일 앱 등과 서비스를 운영할 때 맡게 될 것이다. 우리들을 R&D 조직이라 해도 아주 틀리진 않지만 D(개발, 구현)쪽에 가깝다.

-프로젝트를 언제부터 시작했는지, 언제까지 진행할 계획인지

A: 아주 초기 단계라 개발만 하고 있다. 디자인이고 뭐고 다른 파트 지원이 필요치 않은 수준이다. 사전 기획 여부는 B와 C의 상황이 좀 다르다. B의 프로젝트는 기획 자체가 덜 성숙해서 파일럿 성격으로 이것 저것 시도해 보는 상황이다. C는 이미 있는 서비스를 가져오는 단계다. 데스크톱용으로 구현된 걸 윈도8용으로 포팅하는 거라 진행상 기획에 따른 어려움은 없다.

B: 준비는 지난해 디벨로퍼 프리뷰(DP) 나올 때부터 했다. 일정이 본격화된 것은 올초 컨슈머프리뷰(CP) 공개 시점에 즈음해서다.

C: 완료 목표시점은 올하반기다. 물론 그때까지 된다는 보장은 없다. (농담조로) 프로젝트 자체가 어떻게 될지 모른다.

-메트로UI를 접한 첫인상이 어땠나

C: 처음 윈도스토어에 올라간 베타 버전 앱을 봤을 땐 허전했다. 기존 윈도와 다른 경험을 제공해 어려워보였다. 예를 들어 상하이동이 아니라 좌우이동을 해서 새로운 정보를 가져오는 경험이나 화면전환 방식이 낯설었다. 기본적으로 전체화면에 펼쳐지는 앱이 꼭 필요한지 의문이 들기도 했다. 지금 만드는 앱은 작은 창으로 띄워 보는게 더 효율적이기 때문이다. 어쨌든 생소했는데 좀 쓰다보니 금세 익숙해졌다. (기본) 앱들이 거의 비슷한 UI를 제공해 하나를 익히면 나머지는 똑같이 적용할 수 있어서다.

B: 초기단계라 너무 비슷한데 '앱 디자인 가이드라인'에 맞추다보니 그런것 같다. 가이드라인은 공통적인 UI를 제시한다. 앱이 이를 따르면 그 사용자가 한 쪽에서 경험하고 익힌것을 다른 앱에도 쉽게 적용할 수 있다. 대신 화면 구성이 너무 단순해진다. 사용자 입장에서는 금방 익숙해져서 앱 실행, 종료, 작업전환이 편리했다.

기본 조작이 메트로UI로 바뀌었어도 기존 윈도 단축키에 익숙해진 상태에선 크게 문제되지 않았다. 데스크톱 모드에 시작단추가 없어진 것은 어색했지만 단축키 'Ctrl-Q'로 검색하기가 쉬웠다. 일반사용자들은 다를 수 있는데 개발자다보니 단축키를 많이 써서 그렇다.

A: 태블릿 단말기에 초점을 맞춰 보면 메트로UI가 터치디바이스 잘 맞게 나왔다. 확실히 터치 디바이스를 염두에 두고 만든 것 같다. 사내에서 아이패드와 안드로이드 태블릿도 많이 써봤는데, 메트로UI를 보고 '아 이거 터치에서 좀 되겠구나' 싶었다. (슬레이트PC에 들어간) 윈도7를 접할 때는 잘 못 느꼈던 점이다. 개인적으로 아이패드 대항마로써의 안드로이드가 부진하는 것 같은데 윈도8 태블릿이 나오면 꽤 상대가 될 것 같다.

C: 지금 출시된 태블릿은 거의 콘텐츠 자체의 재미에 초점을 맞춰 소비자들을 자극하는 것 같다. 윈도8 태블릿이 나오면 콘텐츠 소비에 편의성도 함께 강조되는 식으로 인식이 좀 달라지지 않을까 싶다.

■이클립스 쓰던 웹개발자, 비주얼스튜디오 써보니

-웹개발자가 윈도8 앱개발 하려면 개발툴이나 언어 등, 뭘 어떻게 배워야 하나

C: 우리가 쓰는 개발툴은 지금 무료로 내려받을 수 있는 비주얼스튜디오11 베타 버전을 쓴다. 이전에 3D작업 할 때 다이렉트X 테스트 하려고 잠깐 써봤을 뿐, 원래 주력했던 툴은 아니다. 이전에는 주로 이클립스를 썼다. 비주얼스튜디오 단축키와 설정을 익히는 중인데 아직 익숙치 않다.

A: 비주얼스튜디오 많이 쓰는 곳은 회사내 다른 팀이다. 우리들은 HTML와 자바스크립트를 많이 다루는 팀에 계속 있었다. 처음에 툴 익히기에도 시간이 좀 걸렸다.

B: 아직 익숙하지 않은 비주얼스튜디오와 이전부터 다뤄온 이클립스와 맞비교하기는 어렵다. 다만 처음 접하는 것 치고 심각하게 어려운 수준은 아니다. 기능이나 항목 배치가 어느 정도는 예상가능한 자리에 돼 있다.

툴을 떠나서 보면 자바스크립트나 마크업(HTML) 지식이 있으면 쉽게 접근할 수 있다. 기존 브라우저에서 웹앱으로 만든 자바스크립트 코드를 그냥 개발툴에 집어넣어 돌려도 앱이 돼서 나온다. 여기에 메트로UI에 맞춘 요소만 더해 주면 된다. 기존 리소스를 쉽게 가져와 쓸 수 있는 게 장점이다. 개발하는 과정만 놓고 보면 웹개발자들이 기존 지식을 그냥 활용할 수 있어 편리하다는 얘기다.

그리고 코드가 C#이든 자바스크립트든, 만든 결과물은 동일한 바이너리 형태라 사실 언어 자체가 중요하진 않다. 다만 '웹페이지'를 만들 때와 다른 요구사항이 있는데, 플랫폼 초기라 완전히 충족되지 않을 때도 있다.

C: 그런 경우를 지원하려고 데브윈도닷컴(dev.windows.com)이라는 곳이 있는 듯하다. 여기서 개발자용 샘플코드를 내려받거나 레퍼런스를 참조할 수 있다. 질문을 올리면 답변이 비교적 금방 올라오는 질의응답(Q&A) 서비스도 잘 돼 있다. '겟스타티드'라는 입문자용 자료가 지난달까지 영문 전용이었는데 월말에 한국어 지원이 시작된 것 같다.

-브라우저용 웹앱 만들 때와 메트로UI 네이티브 앱 만들 때는 어떻게 다른가

C: 좀전에 브라우저에서 돌아가던 자바스크립트 코드를 넣으면 그대로 앱이 돼서 나온댔는데, IE10과 메트로UI로 보는 앱 겉모습은 전혀 다르다. 가장많이 쓴다고 할수있는 리스트뷰도 좀 다르다. 그래서 IE10로 돌아가게 만든걸 메트로UI 넣으면 그냥 되는 경우가 많지만 반대로 메트로에 맞춰 만든걸 IE10에 돌리기는 어려울 것이다.

B: 사용자 불러들이는 인터페이스가 굉장히 많아 브라우저 환경보다 사용자를 더 몰입하게 해준다. 네이티브 API를 쓰면 사용자에게 계속 푸시알림을 보낸다거나 앱 설치를 끝내고 다른 작업으로 연결시킬 수도 있다. 이런 동작은 브라우저 안에서 불가능하다. 동일한 서비스를 만들 것이라면 웹앱보다는 메트로UI 앱으로 만드는게 더 유리할 것 같다.

■개발자가 본 윈도8, 좋은점-나쁜점-이상한점

A: 윈도8 메트로UI에 정보를 더 쉽게 제공할 수 있도록 새로 추가된 기능요소가 많다. 타일에 부가정보를 표시하는 '알림'이나 '뱃지'같은 것이 그런 예다. 이런 기능을 살리지 못하면 윈도8의 UX가 충분히 발휘되지 못할 것 같다.

C: 지난해 9월 나온 디벨로퍼 프리뷰(DP)와 지난 2월 나온 컨슈머 프리뷰(CP)를 비교해 보면 UI가 꽤 바뀌었다. 메트로UI 파일목록이 DP에선 '인터넷익스플로러(IE) 10' 같은 느낌이었다면, CP에선 단조롭게 표시된다. 이 화면이 눈에 잘 안 띄는 건 문제인것 같다.

B: IE10도 윈도8 CP에선 크롬보다 더 빨라진 것 같다. OS 자체 기능이나 안정성도 개선됐다. 예를 들어 마우스휠을 굴렸는데 스크롤이 안되던 것 같은 문제는 고쳐졌다. 레터카드가 끊기는 등 불안정한 문제가 개선돼 OS 자체만 놓고 보면 쓸만해졌다. 개발자 입장에서 보면 API가 많이 바뀌었다. DP 기반으로 했던 포팅작업이나 UI 스타일에 달라진 점을 반영해야 했다. 사실 집에서도 UX 익히기위해 윈도8 CP를 메인OS로 쓰고 있는데 시작단추가 사라진 것 등 불편한점도 많다.

C: 윈도8 DP때부터 UI 변경에 대해 별 설명이 없어서 당황스러웠다. 윈도7까지는 시작 단추 눌러서 데스크톱UI 환경에서 검색하고 새로 설치한 프로그램 메뉴도 찾아가고 그랬다. 윈도8로 넘어가서 없어지니까 데스크톱용 프로그램 설치하면 어디로 가는지 몰랐는데, 알고 보니 메트로 화면 오른쪽에 추가되더라. 몰랐다.

-마지막으로 MS와 그 협력사들에게 하고 싶은 얘기 없나

B: 디버깅하다보면 '콜스택'이라고 앱 실행 중에 생긴 버그를 추적하는 부분이 있다. 이 기능에서 추적 단위를 조절할 수 있으면 좋겠다. 메트로스타일 라이브러리까지만 보여 줘서, 우리쪽에서 만든 코드중 어디서 잘못된건지 못 찾을 때가 있다. 기능이 있는데 내가 아직 못 찾아낸 건지…

C: 일단 자바스크립트만 알아도 메트로앱 개발할 수 있게 플랫폼을 잘갖춰놓은거같다. 동적인 앱을 만드는 게 정적 페이지를 만들 때보다 복잡한 게 당연하지만 MS가 이걸 돕기 위해 제공하는 구조와 라이브러리가 쓸만하다. 다만 개발자를 위한 한국어 리소스가 아직 부족한 것, 적절한 정보가 있어도 찾기 어려운 상황은 개선이 필요해 보인다. 국내에 아직 개발자 많지 않아 정보가 다양하게 공유되지 않는 것일 수도 있다. 최근 한국MS 기술지원팀이 카페를 개설해 다행스럽게 생각한다.

관련기사

A: MS가 다양한 프로모션을 통해 윈도8을 성공적으로 확산시켰으면 좋겠다. 우리는 큰돈을 벌겠다는 게 아니라 대중들에게 서비스를 제공하기 위해 윈도8 메트로 앱을 만든다. 삼성전자나 LG전자같은 곳에서 윈도8 태블릿을 많이 만들어 판매해주는 것도 기대중이다. 지금 만드는 앱들은 터치 단말기에 좀 더 유용하게 설계되기 때문이다.

C: 개발할 때 터치 단말기에서 쉽게 테스트할 수 있었으면 좋겠다. 지금 주 기능을 터치 인터페이스로 테스트해야 하는데, 개발환경이 데스크톱PC이다보니 마우스와 키보드가 기본이다. 터치 입력을 테스트하려면 시뮬레이터를 돌릴 수 밖에 없다.