"어떤 모바일 웹·앱 화면도 코드 한 벌로 OK"

조창훈 투비소프트 연구소장

컴퓨팅입력 :2015/07/06 15:04    수정: 2015/07/06 17:39

윈도 중심인 PC와 달리 다양해진 모바일 환경에 맞춰 소프트웨어(SW)를 만들어야 하는 부담이 기업의 화두다. 애플리케이션(이하 '앱') 하나를 만들어도 각각의 기기에 맞게 '호환성'을 제공해야 하는데, 사실상 앱 여러 개를 만드는 것이나 마찬가지라서다.

이런 가운데 SW의 사용자 화면(UI)단을 효율적으로 만들게끔 돕는 기술을 보유한 기업용 SW업체 투비소프트가 지난해부터 PC뿐아니라 여러 모바일 기기를 아우르는 데 초점을 맞춘 '크로스플랫폼' 노하우를 제품화해 제공하는 데 주력해 업계 관심을 모으고 있다.

투비소프트는 앞서 '마이플랫폼'와 '엑스플랫폼'이라는 PC용 UI플랫폼 제품을 공급해 왔다. 지난해 4월부턴 모바일 환경 지원을 정조준한 신제품 '넥사크로플랫폼'을 출시해 시장 확대에 나섰다. 그 핵심은 데스크톱, 스마트폰, 태블릿 등의 다양한 화면 크기와 브라우저에 소스코드 한 벌로 대응할 수 있다는 것.

보수적인 국내 기업 환경에서 넥사크로플랫폼과 같은 모바일용 UI플랫폼 개발 도구의 가치는 얼마나 될까? 개발자들에겐 어떤 이점을 제공할까? 향후 넥사크로플랫폼의 발전 방향을 이끌게 될 시장의 요구는 어떤 흐름을 보여주고 있을까? 투비소프트의 조창훈 연구소장을 만나 이런 물음에 대한 답을 들을 수 있었다.

조창훈 투비소프트 연구소장

조 소장은 '크로스플랫폼을 넘어선 진정한 원소스멀티유즈(OSMU)'라는 표현에 넥사크로플랫폼의 핵심 가치가 녹아 있다고 강조했다. 투비소프트에선 이를 위해 네이티브앱과 웹앱 개발 방식을 혼용한 하이브리드앱 구조를 채택하면서도 아쉬움이 남았던 성능과 보안성을 최대한 보완했다.

투비소프트가 웹앱 개발 언어인 자바스크립트를 넥사크로플랫폼의 기본 개발 언어로 삼은 것도 담당 인력들의 업무 효율을 높이는 데 초점을 맞춘 결과라는 게 조 소장의 설명이다. 그는 하반기 넥사크로플랫폼의 앱 패키징간소화 도구를 포함한다는 등 개선 방향도 제시했다.

다음은 조 소장과의 1문1답이다.

-넥사크로플랫폼은 기존 UI플랫폼과 어떻게 다른가

기업들이 한 개발 소스를 기반으로 여러 환경에 매끄럽게 돌아가는 결과물을 얻을 수 있도록 해 준다. 단지 구동될 수 있다는 수준을 표현하기 위해 말하는 '크로스플랫폼'만 추구하는 것이 아니라 그보다 더 디테일한 부분을 짚어 접근한다.

대응할 플랫폼이라는 게 운영체제(OS)별 환경도 있고, 같은 OS에서 웹이 필요한 경우와 네이티브 기능이 필요한 경우가 따로 있다. 업무 성격에 따라 둘이 함께 필요하기도 하다. 이전에 데스크톱 영역에선 우리가 이렇게 접근해 왔다.

모바일에 대응하기 위해 우리가 한가지 더 중시하게 된 게 화면 크기다. 일반적인 단말기 모델별 접근방식이 아니라 스크린사이즈를 기반으로 접근하는 것이다. 넥사크로플랫폼은 크로스플랫폼, 크로스브라우저, 멀티스크린 등을 제대로 대응하는 OSMU 개발이 가능하다고 할 수 있다.

-기업 사용자들이 관심을 갖는 건 어떤 부분인가

리얼OSMU랄까. 이걸 실현하는 게 우리에게 큰 목표다. 다양화한 환경에 맞춰 최적의 뷰(UI)를 제공할 수 있다면 우리와 고객사 모두 윈윈할 수 있을 것이라 생각한다. 사용자가 한 번 개발한걸 제한된 환경안에서 최대한 그대로 사용하도록 하는 것.

다양한 환경에서 그냥 돌아가는 게 아니라 거기에 알맞게 보여져야 한다는 게 중요하다. 이를테면 데스크톱에선 콤보 형식의 메뉴라면 모바일에선 셀렉트 형태의 컴포넌트로 처리한다든지, 데스크톱에선 그리드 형태인 콘텐츠를 모바일에선 크기만 줄인 그리드가 아니라 카드 형태로 표시한다든지.

-왜 이런 요구에 대응해야 한다고 판단했나

의도는 데스크톱 UI플랫폼 원천기술을 모바일로도 적용시키는 것이었다. 기업들이 사용자 바람대로 지원할 수 있는 기술을 제공하겠다는 접근법이다. 기업은 사용자가 모바일 브라우저 환경을 원한다면 웹으로, 성능을 중시할 경우 네이티브로 다룰 수 있는 결과물을 얻을 수 있도록.

기업에서 모바일을 향하는 주 요구는 업무적인 측면, 스마트워크 시나리오에서 모바일 기기를 활용하는 것이다. 이를 충족시키기 위해 데스크톱과 모바일을 모두 같이 아우를 수 있는 OSMU 지원 UI개발 플랫폼이 필요해졌다.

-넥사크로플랫폼은 모두 자체개발한 것인가

대부분 그런데, 예외로 넥사크로뷰어에 오픈소스 자바스크립트엔진 V8을 탑재하고 있다. (크로미엄 또는 구글 크롬 브라우저처럼) 빈번한 업데이트를 수행하거나 최신 버전을 갱신해야 할 필요는 없다. 제품 구조상 넥사크로플랫폼 사용간 또는 결과물의 성능에 대한 영향을 크게 주는 요소는 아니다.

-웹기술을 활용한단 점에선 '하이브리드앱' 개발 방식이라 봐야 할까

기존 IT에서 얘기한 '하이브리드'는 iOS용 모바일 앱을 만들 때 웹 콘텐츠를 처리하는 '웹뷰(OS 내장 브라우저)'를 네이티브 앱으로 감싸는 형태를 뜻한다. 웹뷰는 안드로이드의 경우 OS 파편화의 이력을 보여 주는 존재다. 성능이나 보안 측면에서 기업 고객들이 민감해할만한 이슈를 포함하고 있다.

우리는 좀 다르다. '넥사크로뷰'라는 웹 결과물을 제공하는 넥사크로브라우저를 지원한다. 웹뷰같은 동작을 하지만, 별개다. 넥사크로플랫폼에서 기존 개발자들이 요구하는 웹뷰처럼 웹에 포장을 하는 앱을 만들기 위해 쓰일 수도 있고, 전체가 네이티브로 동작하는 앱을 만드는 결과물을 만들 때 쓰일 수도 있다.

일반 하이브리드앱 형태를 취하는 업무용 모바일앱에 웹뷰 대신 넥사크로브라우저를 사용시, 파편화 문제를 덜 수 있다. 재개발하는 게 아니라 기존 개발 결과물을 재사용해 효율면에서 장점을 얻을 수 있다. 개발자 입장에서 웹뷰와의 차이라면 HTML태그 대신 자바스크립트 처리 결과를 보여준다는 것.

-하이브리드앱 개발 도구에 대해 흔히 HTML5 기반, 웹표준이란 용어를 쓰던데

넥사크로플랫폼은 엄밀히 말하면 HTML5 기반은 아니다. HTML5는 태그를 웹표준으로 써야 대응이 가능하다. 다만 이건 웹브라우저 안에서만 구현된다는 게 한계다. 넥사크로플랫폼이 크로스브라우저와 크로스플랫폼을 지원하기 위해 HTML 태그만으로는 어려웠다.

우리는 시장에서 요구하는 OSMU 시나리오에 대응하고 있는 것이다. 자바스크립트 기반이라고 하는 게 더 실제에 가깝다. 이런 흐름을 주도하기 위해선 자바스크립트만으로 되는 것도 아니라서, 넥사크로플랫폼은 자바스크립트 프레임워크 '유니파이드JS(Unified.js)'를 제공해 대응한다.

자바스크립트를 사용해 더 손쉬운 접근이 가능해졌다. 이미 자바스크립트를 알고 있는 웹개발자들에겐 위지윅 도구로 자바스크립트 기반 UI 등을 만들 수 있었다. 네이티브앱 개발자의 경우 단일 소스 안에서 자바스크립트 코드로 OS별 특성, API 변화와 특성차를 결과물 버전별로 매핑할 수 있다.

-개발자에게 넥사크로 브라우저가 어떻게 받아들여질지, 좀 더 자세히 설명해 달라

우리는 넥사크로플랫폼을 다루는 개발자를 웹콘텐츠, 즉 자바스크립트와 HTML을 다루는 이들과 그 뒷단의 인터페이스를 연결하고 네이티브앱을 개발하는 이들, 2가지 영역군으로 나눈다. 각각의 개발자들이 기존의 업무 지식을 그대로 넥사크로플랫폼 개발에 활용할 수 있으면 좋을 것이라 판단해 넥사크로브라우저를 제공하고 있다.

예를 들어 개발자에게 요구되는 최종 산출물이 네이티브 앱이라면 그는 넥사크로브라우저를 신경쓸 필요가 없다. 넥사크로플랫폼의 통합개발환경(IDE)만으로 개발하면 된다. 기존 네이티브앱 개발자 입장에선 이질감 없이 접근할 수 있을 것이다. 이들에겐 브라우저 처리결과를 보고 인터페이스를 연결해 네이티브형태로 감싸는 일이 주어진다.

다만 UI디자인, 비즈니스로직, 백엔드 인터페이스 연결 등의 역할분담은 항상 딱 떨어지는 게 아니라 프로젝트 유형과 규모에 달렸다. 큰 프로젝트에선 퍼블리셔가 디자인을 맡고 앱의 얼개에 비즈니스로직을 입히는 개발자, 서버측 데이터 핸들링하는 개발자가 따로 있다. 소규모 프로젝트에선 이런 역할을 한 사람이 다 맡기도 한다.

그래서 우리는 넥사크로플랫폼을 다루는 개발자와 디자이너 각각을 위한 교육을 따로 하고 있는데, 각자 역할이 나뉜 프로젝트라면 각 담당자가 따로 교육을 받으면 되고, 한 사람이 그 역할을 모두 해야 한다면 두 교육을 함께 받으면 된다.

-향후 개발 관련 계획에 대해 언급할 수 있는 부분이 있다면

넥사크로플랫폼을 출시한 작년 4월부터 실제 제품 공급을 해왔다. 현재 제품은 14.0버전이다. 상반기에 이어 올하반기 쯤에 비즈니스프로모션을 한 번 진행할 것으로 알고 있다. IDE '넥사크로스튜디오'를 개선하고, 앱 패키징을 손쉽게 할 수 있는 '패키지빌더'를 론칭할 계획이다.

관련기사

패키지빌더는 기술전문가 아닌 일반 관리자도 소스코드를 네이티브앱으로 패키징하는 과정을 간편하게 도와주는 도구다. 프리랜서나 개인 개발자들이 접근해 활용할 수 있도록 유도하고, 넥사크로플랫폼을 활용하는 기술 생태계를 조성하려고 생각하고 있다.

클라우드기반 서비스 방식으로 구현할 수 있도록 준비 중이다. 1차 개발은 완료 됐지만 구체적인 일정은 확정하기 어렵다. 우선 온디맨드형 서비스를 론칭한 다음 고객 환경에 별도 비용 없이 온프레미스로 설치할 수 있는 제품도 내놓을 예정이다.