모바일

스마트폰 환경 : 개발자에겐 바벨탑

Paul Krill | InfoWorld 2009.09.04

빠르게 움직이는 스마트폰의 세계에서 애플리케이션 개발자라면 선택을 해야 한다. 애플의 아이폰을 위한, 아니면 팜 프리를 위한 고유의 애플리케이션을 개발하느냐, 혹은 심비안이나, RIM의 블랙베리 또는 구글의 안드로이드용 빌드냐의 선택이다.

 

시간이 있고 기술이 있다면 고유한 개발 자원을 사용해 다양한 폰에 맞는 애플리케이션을 다시고 만들어볼 수 있을 것이다.

 

아니면 다양한 브랜드에서 작동해볼 수 있도록 프레임워크와 웹 기술을 이용해 애플리케이션을 구축해볼 수도 있다. 그러나 이런 식으로 만들어진 애플리케이션이라면 특정한 폰의 독자 기능들을 완전히 활용하기 어려울 것이다.

 

플랫폼냐, SDK냐, 그 선택의 어려움

모바일 개발자 지망생이라면 바벨탑과도 같은 환경에 직면하게 된다. 이 때문에 실제로 작지만 매력적인 모바일 시장을 위한 애플리케이션을 창조해내기가 만만치 않다.

 

모토롤라의 자바 프로젝트와 개발자 툴 아키텍트를 위한 이클립스 모바일 툴 프로젝트 책임자 크리스찬 커즈케는 “근본적인 문제는 그런 수많은 모바일 디바이스 상의 OS와 런타임 플랫폼이 역사적으로 매우 다양하다는 점”이라고 말한다.

 

애널리스트 빌 웨인버그는 그 결과 “디바이스가 다르면 개발 프레임워크와 애플리케이션 프레임워크도 매우 다르다”라고 지적했다.

 

동일한 소프트웨어 플랫폼을 동작하는 전화 사이에서도 통일성은 그리 크지 않을 수 있다. ‘iPhoneWebDev’의 온라인 개발자 커뮤니티의 창립자이면서 주로 애플 아이폰을 위한 개발을 해온 크리스토퍼 알렌은 “안드로이드로 약간의 실험을 해봤다. 그러나 각각의 안드로이드 디바이스 사이에는 엄청난 차이점이 있음을 알게 되었다”고 털어놓았다.

 

보다 일관된 플랫폼에서도 그러한 불일치는 가능하다. 일례로 버라이존은 자사의 네트워크에 맞춘 블랙베리 애플리케이션과 윈도우 모바일을 개발하기 위해 SDK를 발표한다는 계획인데, 그러면 개발자들은 결국 상이한 네트워크에 동일한 애플리케이션의 상이한 버전을 갖게 될 수 있다.

 

모토롤라 또한 자사의 디바이스가 아닌 것에서도 실행되는 애플리케이션을 개발하는데 그 툴을 사용할 수 있다고 말은 하지만 모토롤라에 고유한 라이브러리로 안드로이드를 개발하기 위해 자사 고유의 SDK를 계획하고 있다.

 

덧붙여 표준화된 플랫폼에 대한 써드파티의 선택이 혼란을 더하고 있다. 애플이 자체적으로 아이폰용 SDK를 갖고 있지만, 개발자는 써드파티의 아이폰 애플리케이션 개발 툴을 사용할 수 있다. 개발자가 RIM의 툴 외에 써드파티의 블랙베리 애플리케이션 개발 툴을 사용할 수 있는 블랙베리의 경우도 마찬가지다.

#######

HTML 5는 모바일 불일치를 극복할 수 있을까?

그러나 HTML 5 같은 웹 기술은 아마도 서로 다른 디바이스 지원의 부단을 덜어주는데 도움이 될지도 모르겠다.

 

위키피디아 사이트로 잘 알려진 위키미디어 재단의 개발자 햄튼 카틀린은 “HTML 5는 모바일 개발에 정말 도움이 된다”고 말했다. 이 기술의 사양은 그래픽용 자바스크립트 같은 기능성을 제공한다고 것이다.

 

카틀린은 “[아이폰과 함께 사용되는] 오브젝트 C를 사용하거나 안드로이드의 경우 자바를 사용하는 대신 기본적으로 HTML5를 통해 그 전화에 매우 복잡한 웹 페이지를 로드하려는 것이다”라고 말했다.

 

특히 웹킷 브라우저 엔진은 HTML5를 위한 지원을 제대로 하고 있다고 그는 언급했다.

 

그는 HTML5를 이용한 애플리케이션의 경우 아이폰, 팜 프리 및 안드로이드에서도 동작될 수 있다고 지적하면서 개발자들은 CSS 및 자바스크립트 같은 친숙한 기술로 작업할 수 있게 된다고 설명했다.

 

이런 접근법은 여전히 각 디바이스에 맞는 개별적인 빌드를 필요로 하지만, 대부분의 코드는 각 디바이스에 대해 커스텀 부트스트래핑 코드로 된 약 20개의 라인으로 동일하다고 그는 덧붙였다.

 

특히 팜 프리는 HTML 5 기반의 웹 페이지 접근에 적절하다고 ‘Break.com’의 선임 닷넷 개발자 찰스 테일러는 말했다. 그는 “엄청난 차이가 있다. 아이폰 개발은 전통적인 맥 OS 개발쪽에 가깝다”면서 “반면 팜 프리는 상대적으로 개발이 훨씬 빠르다”라고 말했다.

 

구글과 팜은 개발자가 애플리케이션을 더욱 쉽게 만들 수 있을 것이라며 자사의 디바이스에서의 HTML 5 지원을 대대적으로 알린 바 있다.

 

두 경우 모두 디바이스별 기능을 십분 활용할 수 있도록 자사의 SDK를 통해 개발자가 범용 HTML 5, CSS 및 JavaScript 기능을 확장할 수 있도록 하고 있다.

 

애플도 아이폰에 일부 HTML 5의 기능을 지원하고 웹 애플리케이션이 아이폰 고유의 기능을 십분 활용할 수 있도록 하는 SDK를 제공하고 있다.

 

물론 프리가 선호하는 HTML 5 기반의 접근법이 갖는 단순성과 아이폰이 좋아하는 SDK 고유의 접근법이 갖는 단순함은 일장일단이 있다.

 

테일러는 “아이폰이 개발하는데 있어 더욱 복잡한 측면이 있지만, 그런 복잡성 또한 위력을 갖는다”라고 말했다.

 

이어 “이 시점에선 팜 프리보단 아이폰으로 더 많은 것을 할 수 있다”면서, 아이폰이 팜 프리에 갖는 유리한 점으로 게임을 지목했다.

#######

HTML 지향적인 SDK, 세미 네이티브로 간다

웹 애플리케이션 접근에서의 반전은 모바일 애플리케이션 구축에 있어 ‘Rhomobile Rhodes’ 플랫폼 같은 HTML 지향형 SDK를 사용한다는 것이다.

 

‘Rhodes’는 다수의 플랫폼에서 동작할 수 있도록 애플리케이션 작성 기능을 제공하도록 만들어진 제품들 중 하나다.

 

‘Rhomobile’의 CEO인 아담 블럼은 ‘Rhodes’이 아이폰, 심비안, 안드로이드, 윈도우 모바일 그리고 블랙베리에 고유한 애플리케이션을 생성할 수 있다며, 개발자들은 모델-뷰-컨트롤러 컨테이너 및 HTML 템플릿 세트에 따라 작성하게 된다고 밝혔다 애플리케이션은 HTML로 작성되고 그런 후 고유의 실행 가능한 형태로 컴파일된다는 설명이다.

 

위키미디어의 카틀린은 ‘Rhodes’가 전화로의 데이터 동기화 같은 일부 작업에 능하다고 평가하면서도 개인적으로 HTML 5를 더욱 지지하는 쪽이라고 밝혔다.

 

그는 “그 차이점은 Rhodes가 당신의 전화에 웹 서버를 탑재한다는 사실에 있다”라고 말했다.

 

‘Appcelerator Titanium’는 ‘Rhodes’와 유사하다. 안드로이드와 아이폰을 지원하는 티타늄 프레임워크는 고유의 데스크톱과 모바일 애플리케이션의 구축에 있어 API를 특징으로 함으로써 HTML, CSS 및 자바스크립트를 강화한다. 또 이 때 제품은 가능한 한 고유의 API에 가깝게 매핑하려고 한다고 액세설레이터의 CTO인 놀란 라이트는 말했다.

 

노키아의 포럼 노키아 개발자 커뮤니티 부사장 퍼니마 코치카는 “전체적으로 봤을 때 시장에서는 모바일 폰에 웹 기술의 채택하는 추세라고 전했다.

 

이어 그로 인해 개발자의 웹 기술이 모바일 폰으로 고스란히 옮겨갈 수 있다고 언급했다. 더불어 그녀는 거의 모든 전화가 결과물이 되는 애플리케이션의 테스트를 필요로 하다고 지적하면서도 한 애플리케이션 플랫폼에서 다른 쪽으로의 이동은 더욱 단순해진다고 밝혔다.

 

그러나 웹 애플리케이션 접근은 특정 플랫폼의 기능이 갖는 이점을 활용하지 않는 문제를 야기한다. 따라서 대부분의 플랫폼에서는 개발자가 어느 쪽이든 그것을 하게끔 한다.

 

개발자는 아이폰에서 실행되는 웹 애플리케이션을 구축할 수 있거나 아이폰 고유의 애플리케이션을 구축하는데 애플의 툴을 사용할 수 있는 것이다.

 

또한 RIM은 브라우저 기반 프로그램 구축을 위한 웹 개발 옵션뿐 아니라 블랙베리 애플리케이션 구축에 있어 자바 개발 환경도 제공하고 있다.

 

웹 애플리케이션은 블랙베리 SDK에서 생성된 위젯 프로그램을 강화할 수 있다. 이들 위젯은 기본적으로 해당 디바이스의 고유한 애플리케이션에 접근할 수 있는 웹 애플리케이션으로 범용의 웹 애플리케이션과 타겟이 되는 디바이스 간에 일종의 다리를 만든다. 물론 그러한 위젯은 블랙베리에서만 동작한다.

 

애플의 아이폰 SDK도 비슷한 기능을 갖고 있어 개발자가 웹 애플리케이션과 고유의 라이브러리 모두 사용할 수 있다.

 

LiMo 재단의 마케팅 이사인 앤드류 쉬키아에 따르면, 앞으로 나올 LiMo 모바일 리눅스 플랫폼의 개발 환경은 특정 LiMo 디바이스 전반에 걸쳐 일관된 기능 세트와 사용자 경험을 제공하는 웹 기반 애플리케이션 생성을 가능케 하는데, 이 때 (오픈 모바일 터미널 플랫폼이라 불리는 사업자들의 컨소시움이 개발한) 본디(Bondi)의 위젯 사양을 이용하게 된다. 그는 이 경우 커스텀 포팅이 필요할 수도 있다고 지적했다.

 

이클립스 재단은 일부 디바이스를 위해 통일된 모바일 애플리케이션 개발 플랫폼을 구축하려고 시도하고 있다.

 

이클립스 재단의 펄저 구상에서는 ‘Java MIDP’ 핸드셋 구축에 초점을 맞춘, 그러나 여전히 개별적인 SDK는 필요로 하는 모바일 애플리케이션에 맞는 통일된 개발을 제공하려 한다.

 

펄저의 1차적인 목표는 이른바 피처폰이라는 것으로, 삼성과 엘지에서 나온 것과 같이 오늘날 판매되고 있는 대부분의 휴대폰을 포함하면서 스마트폰보다는 멀티미디어와 애플리케이션의 기능성을 약하게 제공하는 아이폰 이전의 디바이스 종류들이다.

 

모토로라의 쿠즈케는 펄저에 대해, 개발자들이 “오늘날의 시장에서 MIDP를 실행하는 대부분[의 피처폰]을 목표로 하는데 도움을 주기 위한 것”이라고 설명했다.

 

펄저는 개발자가 다양한 업체의 단말기를 구축할 수 있도록 적당한 SDK에 접근하는 이클립스 기반의 개발환경을 제공한다.

 

현재 지원되는 디바이스는 모토롤라의 SDK를 이용한 안드로이드, 노키아의 C++ SDK를 이용한 노키아 S60 시리즈 그리고 RIM의 자바 프레임워크를 이용한 블랙베리다. 이클립스의 바람은 내년 심비안 폰을 위한 지원을 추가하는 것이다.

 

그러나 ‘Break.com’의 테일러는 스크린 해상도, 기능 및 운영체제 차이를 감안할 때 이 프로젝트가 다양한 플랫폼에 맞는 통일된 개발을 제공할 것이라는 전망에 대해 낙관적이지 않았다. editor@idg.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.