인텔 iOS앱 변환툴, 삼성 타이젠 측면지원

일반입력 :2013/02/27 08:45    수정: 2013/02/27 16:06

인텔이 iOS용 모바일 애플리케이션(이하 '앱')을 HTML5 기반으로 바꿔주는 도구를 시험판으로 공개했다. 표면적으로 앞서 HTML5로 만든 앱을 iOS나 안드로이드용으로 변환하는 기술과 상반된 방식이라 눈길을 끈다.

최근 모바일앱 개발자들이 여러 플랫폼에 대응하는 수고를 덜려고 웹기술 비중을 늘리는 추세다. HTML, 자바스크립트, CSS로 얼개를 짜서 안드로이드나 iOS 등에 맞는 앱으로 변환하고 기기별 세부 요소를 각각 최적화하는 '하이브리드앱' 개발 방법론이 유행이다. 이를 지원하는 도구는 오픈소스부터 상용솔루션까지 다양하다.

그런데 인텔이 선보인 기술은 이미 만든 iOS 앱을 웹기술 형태의 결과물로 바꿔준다. 지난달 중순 시험판으로 소개된 인텔HTML5앱포터툴(이하 '앱포터툴')이다. 앱포터툴은 모바일앱 개발자들이 네이티브 iOS 코드로 짠 앱을 HTML5 형태로 변환해주는 기술이다.

당장 웹보다 네이티브앱 개발에 급한 업계 상황을 거스르는 듯 보이지만, 장기적으론 웹이 중심을 차지할 거라 기대한 포석일 수 있다. 삼성전자와 협력중인 오픈소스 플랫폼 '타이젠'의 생태계 지원과 떼어 놓기 어렵다.

■타이젠 개발자 지원, 인텔이 '출동'한다면

인텔이 타이젠 개발자 생태계 지원을 염두에 뒀다고 전제하면 대세와 맞지 않게 앱포터툴을 만든 이유도 설명된다.

타이젠은 지난 2011년부터 인텔과 삼성전자, 리눅스재단이 손잡고 만들기 시작한 리눅스 기반의 오픈소스 운영체제(OS)다. 인텔 '미고', 리눅스재단의 '리모' 프로젝트의 장점을 이어받는 목표로 출발했다. 삼성은 여기에 '바다' 플랫폼을 통합했다.

업계는 삼성이 타이젠 개발을 주도하는 것처럼 인식중이지만 삼성은 스마트폰 위주의 활용 가능성만 암시해왔다. 개발자생태계 지원 측면에선 인텔이 더 다양한 활동을 벌였다. 인텔은 PC와 IVI 등 자사 프로세서가 돌아가는 여러 기기 플랫폼에 타이젠이 쓰일 경우 사업상 이점을 늘려갈 수 있기 때문이다.

앱포터툴 작동방식 자체는 네이티브 앱을 웹으로 변환하는 것이지만, 더 많은 단말 환경에 대응케 해주는 점은 같다. 기존 iOS 개발자들이 자신의 앱을 앱포터툴로 돌리면 HTML5 기술로 구성된 앱을 얻는다. 이는 최신 웹표준을 지원하는 브라우저나 웹기술을 아예 앱 구동 플랫폼으로 채택한 OS에서 돌아간다.

인텔과 삼성의 타이젠이 바로 '웹기술을 앱 구동 플랫폼으로 채택한 OS'다. LG전자가 참여할 것으로 알려진 모질라 파이어폭스OS도 그런 종류다. 즉 iOS 앱을 만들어온 개발자가 앱포터툴과 웹기술을 능숙하게 다룬다면 그는 타이젠이나 파이어폭스OS 생태계에 참여할 수 있다. 타이젠 개발자 영입에 서툰 삼성에겐 이상적인 시나리오다.

■삼성, 바다만도 못했던 타이젠 지원

삼성은 '갤럭시' 시리즈로 알려진 안드로이드 스마트폰과 태블릿으로 제조부문 선두업체로 떠오르면서, 타이젠에 투자를 선언한 뒤에도 그에 집중한 적이 없다. 1년반동안 선보인 타이젠 스마트폰은 개발자 테스트용 단말기 1가지뿐이고, 그나마 개발자들이 구해 쓰기도 어렵다.

그러다 스페인 바르셀로나의 연례 컨퍼런스 '모바일월드콩그레스(MWC)'에서 타이젠 상용화 소식이 구체화됐다. 이르면 오는 7월 타이젠 기반 삼성 스마트폰이 일본 통신사 NTT도코모를 통해 출시된다는 소식이다. 과연 반년 뒤 최신 플랫폼을 상용화할 수 있을까.

지난해 5월 타이젠1.0 소프트웨어개발도구(SDK)가 정식 공개됐고 지난 18일 타이젠2.0 SDK '매그놀리아' 버전과 소스코드가 나왔다. 여름 출시될 단말기가 매그놀리아 기반일 가능성이 높다. 문제는 당장 그 휴대폰으로 쓸 앱이 없다는 점이다. 개발자 커뮤니티가 없기에 당연하다.

삼성은 1년반동안 타이젠 관련 사업을 간헐적으로 이어왔지만 개발자대회 한 번 안 열었을 정도로 생태계 조성에 무성의했다. 관련 사업은 5월초 미국서 열었던 초회 컨퍼런스 1번 뿐이다. 우리나라, 미국, 유럽에서 별도로 상금을 내걸고 앱개발자 대회를 진행한 바다 플랫폼을 밀어줄 때보다도 약했단 얘기다.

물론 올해도 오는 5월하순 미국에서 2번째 타이젠개발자컨퍼런스가 열린다. 타이젠기술과 HTML5 앱개발에 대해 다룰 예정이다. 주최측이 최신 플랫폼에 맞는 앱개발 기술과 전략을 알릴 게다. 다만 이 행사가 이르면 2~3개월 뒤 일본에서 출시될 타이젠폰 사용자의 '스마트라이프'에 도움이 될지는 미지수다.

■인텔 앱포터툴, 어떻게 작동하나

앱포터툴을 간단히 표현하면 iOS앱 소스코드를 넣고 돌려 HTML5, CSS, 자바스크립트 라이브러리로 짠 웹앱을 자동 생성하는 프로그램이다. 인텔쪽 설명에 따르면, 앱포터툴은 iOS 앱 개발언어 '오브젝티브C'와 C언어 서브셋으로 이뤄진 소스코드를 자바스크립트로 바꾼다.

또 앱에 쓰인 iOS 애플리케이션프로그래밍인터페이스(API) 타입과 호출문을 자바스크립트 및 HTML5 객체와 호출문으로 대신한다. 결과물은 표준으로 정의된 HTML5 API, 오픈소스인 '제이쿼리모바일' 라이브러리, 인텔이 직접 만든 앱포터툴 전용 라이브러리, 3가지를 동원한다.

그리고 앱의 외관을 담는 엑스코드인터페이스빌더(XIB) 파일을 HTML와 CSS 파일로 변환한다. 이는 XIB 파일을 읽어 XML 형태로 만들었다가, 이를 HTML과 CSS, 자바스크립트 코드로 재구성하는 과정을 거친다. 정적 마크업 변환시 제이쿼리모바일이나 표준 HTML5을, 해당 요소가 없는 위젯 변환시 APT라이브러리의 클래스로 제어되는 단순 마크업으로 만든다.

이밖에도 엑스코드 프로젝트 파일을 마이크로소프트(MS) 비주얼스튜디오2012용으로 만든다.

관련기사

앱포터툴이 '베타' 딱지를 달고 나온만큼 완벽하진 않다. iOS 소프트웨어개발도구(SDK)에 존재하는 모든 API를 자바스크립트로 만들어내진 못하는 상황이다. iOS SDK가 다루는 API에는 수천가지 메소드와 수백개 타입이 포함된다.

일단 인텔은 앱포터툴에서 '대다수 앱에 높은 비중으로 사용되는 소수의 API'를 지원하기로 했다. 현재 베타 버전에선 'UI키트 프레임워크'와 '파운데이션프레임워크'의 타입과 메소드 대부분을 지원한다는 설명이다. 툴을 소개한 공식 웹페이지(http://software.intel.com/en-us/articles/technical-reference-intel-html5-app-porter-tool-beta)에 현재 자동변환을 지원하는 iOS SDK API 목록이 제시돼 있다.