요즈음엔 어딜 가더라도 모바일 기기를 쓰는 사람을 쉽게 찾아볼 수 있다. 사람들은 모바일 기기로 가족, 친구와 연락하고, 인근의 식당을 찾거나 최신 뉴스를 확인한다. 모바일 기기와 기기에 설치된 애플리케이션은 현대인의 삶의 한 부분이다. 이러한 모바일 기기를 유용하게 만드는 것은 애플리케이션이다. 일반 사용자는 자신이 좋아하는 애플리케이션을 구성하는 기반 기술이 무엇인지 궁금해 하지 않으며, 그 애플리케이션을 만드는 데 얼마나 오랜 시간과 노력이 필요했는지에 별 관심이 없다. 애플리케이션은 단지 자신의 소용을 위해 유용한 기능을 제공하는 대상이라 여길 뿐이다. 따라서 역으로 생각하면, 개발자의 입장에서는 필요한 기능만 제공할 수 있는 애플리케이션을 만들 수 있다면 어느 것이든 가장 효과적인 방법을 선택해도 좋다는 의미도 된다.
애플리케이션을 독립 애플리케이션으로 만들지, 웹 애플리케이션으로 만들지는 개발 초기 단계에 결정해야 할 중요한 기술 선택사항이다. 사용자의 기대에 부응하려면 독립 애플리케이션의 형태여야 하는 경우도 있지만, 대부분의 애플리케이션은 HTML5, 자바스크립트, CSS의 웹 기술을 활용해도 독립 애플리케이션과 비슷한 수준의 사용자 경험을 제공할 수 있다. 웹 애플리케이션은 많은 개발자에게 친숙한 웹 기술을 기반으로 하기 때문에 개발 과정을 쉽고 빠르게 진행할 수 있다는 큰 장점이 있다. 또 웹 기술은 표준화돼 있어서 안드로이드, iOS폰은 물론 태블릿 등 기기의 종류를 막론하고 다양한 모바일 플랫폼 위에서 거의 동일한 경험을 제공한다.
다만, 독립 애플리케이션에는 카메라, 가속센서 등 장치 기능의 확장성이 제공되는 반면, 웹 애플리케이션은 기기의 웹 브라우저에서 지원하는 기능이 제한된다는 차이는 있다. 이러한 애플리케이션 형태 간의 차이를 좁히려는 노력으로 하이브리드 애플리케이션(hybrid application)이라는 새로운 형태의 애플리케이션이 등장했다. 하이브리드 애플리케이션은 웹 애플리케이션과 마찬가지로 HTML 5, 자바스크립트, CSS를 사용해서 만들지만, 동시에 자바스크립트에서 호출할 수 있는 추가 모듈과 자체 기능을 함께 담고 있다. 이러한 하이브리드 애플리케이션은 웹 코드와 웹 브라우저를 하나의 패키지로 묶어서 독립 애플리케이션의 형태로 작동된다.
이 책은 하이브리드 애플리케이션 제작에 널리 사용되는 오픈소스 툴킷인 폰갭(PhoneGap)을 기반으로 모바일 애플리케이션을 개발하는 방법에 대해 설명한다. 폰갭 API의 확장성을 배우고, 다양한 장치 기능을 애플리케이션에서 활용하는 방법을 알아보자. 폰갭으로 만든 애플리케이션은 배포도 확실하고 간단하다는 점을 쉽게 파악할 수 있을 것이다. 웹 기반으로 애플리케이션을 만든 뒤 다양한 플랫폼 환경에서 작동할 수 있도록 패키징해서, 여러 앱 스토어와 마켓에 올려 배포할 수 있다. 행운이 따른다면, 여러분이 만든 애플리케이션은 누군가에게 최고의 앱이 될지도 모른다.
브라이스 커티스 박사 (모바일 및 융합 기술, IBM 소프트웨어 그룹 IBM 마스터 인벤터)
세상 모든 것들이 모바일의 세계로 가고 있다는 점에는 이론의 여지가 없다. 많은 것들이 모바일로 옮겨 구현된다는 것뿐만 아니라 모바일에는 우리의 일상, 업무, 소통을 통째로 바꿔나가는 막대한 힘이 있다. 모바일 애플리케이션은 사업자는 물론 일반 소비자에게도 중요한 솔루션이 되어가고 있다.
그 결과, 많은 회사가 기본 모바일 앱 개발 기술의 향방이 점점 모바일 웹 쪽으로 향해 가고 있다. 다양한 OS 플랫폼과 끊임없이 변화하는 기기들의 트렌드를 처음부터 제대로 정의하고, 디자인하고, 제작하지 못한다면, 크로스 플랫폼 애플리케이션을 유지 관리하는 일은 매우 어렵고 오랜 시간을 들여야 하는 고비용의 작업이 될 수 있다. 이에 대하여 모바일 애플리케이션 작성과 개발을 간단하게 만들어 주는 가능성 있는 수많은 상용 오픈소스 제품과 프레임워크들이 시장에 속속 등장하고 있다.
폰갭은 이 영역에 있어 가장 유명한 솔루션 중 하나로, 사용자가 본래 알고 있던 웹 개발 기술(물론, 모바일 개발을 위해 약간 수정된)을 활용해 다양한 플랫폼에서 작동하는 애플리케이션을 쉽고 빠르게 만들 수 있게 도와준다. 이러한 선두적인 솔루션의 발달과, 이 기술을 활용해서 애플리케이션을 만들려는 소비자(개발자)의 수요가 점점 늘어남에 따라 존 와고(John Wargo)는 개발에 도움이 되는 이 책을 쓰게 됐다.
존 와고는 십여 년 동안 다양한 컴퓨터 기술을 경험해오면서 유명한 모바일 기기 블랙베리를 만드는 회사, RIM에서 근무한 2006년부터 모바일 개발 플랫폼에 주력하기 시작했다. 내가 존을 처음 만났을 때, 그는 나를 비롯한 일군의 동료들 앞에서 블랙베리 개발의 입출력 기능을 열정적인 태도로 강연했다. 존의 모바일 개발에 대한 열정은 크고 또렷한 목소리에서부터 뚜렷이 전해졌다. 이 책을 읽는 독자들도 그의 열정과 깊은 이해를 분명히 간파할 수 있을 것이다.
우리는 2009년에 존 와고를 AT&T 모빌리티 그룹에 고용하는 행운을 겪을 수 있었다.
곧바로 존 와고는 내가 속한 팀의 모바일 개발 전문가가 되었고, 끊임없이 자신의 기술을 발전시키며 급격히 변화는 모바일 환경의 수많은 새로운 기술을 빠르게 익혀나갔다. 그는 특히, 우리의 고객들에게 모바일 개발환경의 선택사항을 설명하고, 모바일 웹, 독립 애플리케이션, 하이브리드 플랫폼(폰갭과 같은), MEAP나 MCAP 같은 모바일 애플리케이션 플랫폼 등 어떤 경우에 있어서도 고객이 애플리케이션 개발 전략을 정하는 데 명료한 도움을 주는, 없어선 안될 주요한 인재가 되었다.
모바일 개발 전문가들은 모바일 웹 개발 전문가들의 오랜 경험에서 나온 지혜를 얻을 수 있는 이 책을 통해, 폰갭으로 자신의 모바일 웹 애플리케이션을 독립 모바일 애플리케이션으로 만드는 데 필요한 기술들을 익힐 수 있을 것이다. 이 책은 독자가 폰갭을 활용하는 개발환경의 설정과 그 활용방법부터, 프레임워크에서 제공하는 API 활용법까지 필요한 모든 내용을 자세히 설명한다. 그야말로, 폰갭으로 개발을 시작하는 데 필요한 모든 것이 담겨 있는 책이다.
급격히, 그리고 끊임없이 변화하는 모바일 세상에서의 성취가 두려움이나 탈진의 원인이 돼서는 안 된다. 그보다는 폰갭처럼 발전하는 기술과 이 책과 같은 좋은 자료를 활용하는 것이 진정한 해결책을 얻어내는 훌륭한 방법일 것이다.
짐 험프너 (AT&T 인더스트리 솔루션 사업부 부사장)