서브메뉴

본문

폰갭 프로그래밍 (모바일 크로스플랫폼 프레임워크)
폰갭 프로그래밍 (모바일 크로스플랫폼 프레임워크)
저자 : 존 와고
출판사 : 에이콘출판
출판년 : 2013
ISBN : 9788960773806

책소개

모바일 개발 분야의 경력 개발자인 저자가 폰갭을 깊이 있게 소개하며, 폰갭으로 어떤 일을 할 수 있고 어떻게 활용할 수 있는지 설명한 책. 그리고 구글 안드로이드, 애플 iOS, RIM 블랙베리, 윈도우폰, 삼성 바다, 심비안 OS에서 폰갭 개발에 필요한 개발환경 설정 방법을 알려준다. GPS부터 파일 시스템, 연락처와 카메라, 장치에서 이벤트 활용법까지 실전 예제로 알아봄으로써 폰갭 API의 기능을 마스터할 수 있다. 또한 폰갭 애플리케이션 패키징 유틸리티인 폰갭 빌드의 완벽한 활용법까지 익힐 수 있다.
[알라딘에서 제공한 정보입니다.]

출판사 서평

폰갭(PhoneGap)은 원 제작사는 니토비(Nitobi)이고, 현재는 어도비(Adobe)에서 개발, 무료로 배포하는 오픈소스 프레임워크로, 현재 아파치 재단의 아파치 코르도바(Apache Cordova)란 이름으로 널리 사용되고 있다. 폰갭을 사용하면 기존의 HTML5, 자바스크립트, CSS 기술로 애플리케이션을 만들고, 아주 약간의 수정만으로 모든 주요 플랫폼의 독립 애플리케이션으로 배포할 수 있다. 그러나 아직까지 폰갭 프로젝트는 미완성의 상태로 현재 진행 중이며, 실전에 적용할 수 있는 안내서 역시 매우 부족하다. 성공적인 폰갭 개발을 위한 핵심적이고, 완성도 높은, 최초의 튜토리얼인 바로 이 책 『폰갭 프로그래밍』이 그 간극을 채워줄 것이다.



모바일 개발 분야의 경력 개발자 존 와고는 폰갭을 깊이 있게 소개하며, 폰갭으로 어떤 일을 할 수 있고 어떻게 활용할 수 있는지 설명한다. 그리고 구글 안드로이드, 애플 iOS, RIM 블랙베리, 윈도우폰, 삼성 바다, 심비안 OS에서 폰갭 개발에 필요한 개발환경 설정 방법을 알려준다. GPS부터 파일 시스템, 연락처와 카메라, 장치에서 이벤트 활용법까지 실전 예제로 알아봄으로써 폰갭 API의 기능을 마스터할 수 있다. 또한 폰갭 애플리케이션 패키징 유틸리티인 폰갭 빌드의 완벽한 활용법까지 익힐 수 있다.



www.phonegapessentials.com에서 예제 프로젝트 코드, 추가 정보, 에러와 변경사항을 볼 수 있다.





★ 이 책에서 다루는 내용 ★



■ 폰갭 애플리케이션의 구성(폰갭 애플리케이션의 종류와 분류)

■ 장치 파일 시스템과 연락처 데이터베이스의 읽기와 쓰기

■ 크로스 플랫폼 개발 이슈의 중요점

■ 안드로이드, iOS, 블랙베리, 윈도우폰, 바다, 심비안의 폰갭 개발환경 설정

■ 테스트와 디버그를 비롯한 폰갭 프로그래밍의 전 과정

■ 장치 이벤트 대응법과 사용자 알림

■ 폰갭 기능을 확장시킬 써드파티 개발 도구와 플러그인

■ 미디어 파일의 녹취와 재생을 위한 미디어 API 활용

■ 폰갭으로 다양한 플랫폼의 애플리케이션 동시 빌드

■ 카메라, 나침반, 가속센서 등 하드웨어 기능을 적용한 크로스 플랫폼 애플리케이션 제작





★ 이 책의 구성 ★



I부. 폰갭: 폰갭에 대한 청사진을 담고 있다. 즉 폰갭이 어떻게 작동하는지를 중심으로 기능을 알아본다.

II부. 폰갭 개발자 도구: 각각의 대상 플랫폼 SDK와 그에 따른 폰갭 도구의 설치법과 활용법을 설명한다.

III부. 폰갭 API: 다양한 폰갭 API에 대한 상세한 설명과 실제로 활용해볼 수 있는 샘플 코드를 담았다.





★ 추천의 글 ★



요즈음엔 어딜 가더라도 모바일 기기를 쓰는 사람을 쉽게 찾아볼 수 있다. 사람들은 모바일 기기로 가족, 친구와 연락하고, 인근의 식당을 찾거나 최신 뉴스를 확인한다. 모바일 기기와 기기에 설치된 애플리케이션은 현대인의 삶의 한 부분이다. 이러한 모바일 기기를 유용하게 만드는 것은 애플리케이션이다. 일반 사용자는 자신이 좋아하는 애플리케이션을 구성하는 기반 기술이 무엇인지 궁금해 하지 않으며, 그 애플리케이션을 만드는 데 얼마나 오랜 시간과 노력이 필요했는지에 별 관심이 없다. 애플리케이션은 단지 자신의 소용을 위해 유용한 기능을 제공하는 대상이라 여길 뿐이다. 따라서 역으로 생각하면, 개발자의 입장에서는 필요한 기능만 제공할 수 있는 애플리케이션을 만들 수 있다면 어느 것이든 가장 효과적인 방법을 선택해도 좋다는 의미도 된다.



애플리케이션을 독립 애플리케이션으로 만들지, 웹 애플리케이션으로 만들지는 개발 초기 단계에 결정해야 할 중요한 기술 선택사항이다. 사용자의 기대에 부응하려면 독립 애플리케이션의 형태여야 하는 경우도 있지만, 대부분의 애플리케이션은 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 인더스트리 솔루션 사업부 부사장





★ 저자 서문 ★



이 책은 폰갭에 대한 책이다. 폰갭은 HTML, CSS, 자바스크립트 같은 표준 웹 기술을 활용해서 다양한 모바일 기기 플랫폼에 독립 애플리케이션을 만들 수 있도록 도와주는 정말 멋진 기술이다. 나 자신도 폰갭을 수년간 보아 왔고, 실제로 그것을 활용하게 됐을 때, 다수의 플랫폼에서 실행시킬 수 있는 단일 애플리케이션을 간단하게 만들 수 있는 기술로 압도적인 경쟁력을 갖췄다는 것을 금세 알 수 있었다.



나 자신은 RIM과 안드로이드 애플리케이션을 만드는 과정에서 자바를 익혔다. OS 개발에 필요한 오브젝티브C를 건드려 보기도 했고, 심지어는 비주얼 베이직으로 윈도우 모바일 개발을 시도해 보기도 했다. 그러나 세상은 단 하나의 모바일 플랫폼에서 작동하는 애플리케이션의 좁은 관점에서 벗어나, 모든 모바일 기기 플랫폼에서 연속성 있게 실행시킬 수 있는 애플리케이션의 세계로 향해 나아가고 있다. 폰갭은 바로 이 문제의 해결을 도와준다.



이 책은 폰갭 프레임워크의 가능성을 한 단계 끌어올리고 싶어하는 웹 개발자들을 대상으로 하여 만들었다. 독자들은 웹 애플리케이션을 만드는 방법을 이미 알고 있고, 폰갭에서 제공하는 여러 기능의 가능성에 대해 더 알고 싶은 사람들이라고 전제한다. 이 책은 폰갭 API의 가능성과 폰갭에서 제공하는 도구들을 활용하는 방법을 중점적으로 조망한다.



이 책을 구성하는 중심 주제를 이해하려면 독자 자신이 하나 혹은 그 이상의 일반 스마트폰에 대한 경험이 있어야 한다. 스마트폰 SDK의 경험은 일부 도움이 될 수도 있겠지만, 독립 애플리케이션을 설치하고 활용하는 방법은 각각의 플랫폼 지원을 설명할 때 한 번 더 다룬다.
[알라딘에서 제공한 정보입니다.]

목차정보

I부 폰갭



1장 폰갭

___간추린 폰갭의 역사

___폰갭이 필요한 이유

___폰갭의 작동 방식

___컨테이너 디자인

___폰갭 애플리케이션 만들기

___폰갭 애플리케이션 만들기

___폰갭의 한계

___폰갭 플러그인

___폰갭의 지원

___폰갭 리소스

___하이브리드 애플리케이션 프레임워크



2장 폰갭의 개발, 테스트, 디버깅

___Hello, World1

___폰갭 시작하기

___폰갭 API의 활용

___폰갭 애플리케이션의 사용자 인터페이스 고도화

___폰갭 애플리케이션의 테스트와 디버그

___크로스 플랫폼 개발 이슈 해결



II부 폰갭 개발자 도구



3장 폰갭 안드로이드 개발환경 설치

___안드로이드 SDK 설치

___이클립스 개발환경 설정

___안드로이드 폰갭 프로젝트 만들기

___안드로이드 폰갭 애플리케이션 테스트



4장 폰갭 바다 개발환경 설치

___정확한 폰갭 바다 파일 다운로드와 설치

___바다 폰갭 프로젝트 만들기

___바다 애플리케이션 프로파일 만들기

___바다 폰갭 애플리케이션 테스트



5장 폰갭 블랙베리 개발환경 설치

___블랙베리 WebWorks SDK 설치

___블랙베리 폰갭 프로젝트 만들기

___블랙베리 폰갭 애플리케이션 빌드

___블랙베리용 폰갭 애플리케이션 테스트



6장 폰갭 iOS 개발환경 설치

___애플 개발자로 등록

___엑스코드 설치

___iOS 폰갭 프로젝트 만들기

___iOS 폰갭 애플리케이션 테스트



7장 폰갭 심비안 개발환경 설치

___노키아 웹 툴 설치

___Make 유틸리티 설치

___심비안 폰갭 프로젝트 만들기

___애플리케이션 세팅 설정

___심비안에 HelloWorld3 적용

___심비안 폰갭 프로젝트 패키지

___심비안 폰갭 애플리케이션 테스트



8장 폰갭 윈도우폰 개발환경 설치

___윈도우폰 개발도구 설치

___윈도우폰 폰갭 프로젝트 생성

___윈도우폰 폰갭 애플리케이션 테스트



9장 폰갭 빌드

___용도

___시작하기

___설정

___폰갭 빌드용 애플리케이션 만들기

___폰갭 빌드 프로젝트 생성

___빌드 문제점의 해결

___애플리케이션 테스트

___디버그 모드



III부 폰갭 API



10장 가속센서

___장치 방향의 요청

___장치 방향 워치



11장 카메라

___그림 가져오기

___카메라 옵션 설정

______quality

___카메라 문제 해결



12장 캡쳐

___캡쳐 API의 활용

___캡쳐 옵션 설정

___캡쳐



13장 나침반

___장치 방향 가져오기

___장치 방향 워치





14장 커넥션



15장 연락처

___연락처 만들기

___연락처 검색

___연락처 복사

___연락처 삭제



16장 장치



17장 이벤트

___이벤트 리스너 생성

___deviceready 이벤트

___Application Status 이벤트

___Network Status 이벤트

___Button 이벤트



18장 파일

___사용 가능한 저장소 유형

___장치 파일시스템에 접근

___디렉토리 항목 읽어오기

___FileEntry와 DirectoryEntry 프로퍼티

___파일 쓰기

___파일 읽기

___파일과 디렉토리의 삭제

___파일과 디렉토리의 복사

___파일과 디렉토리의 이동

___파일을 서버로 업로드



19장 위치정보

___장치의 현재 위치 가져오기

___로케이션 워치



20장 미디어

___Media 객체

___오디오 파일 재생

___오디오 파일 녹음

___실제 미디어 활용



21장 알림

___시각적 알림(경고와 확인)

___알림

___진동

___알림 적용



22장 저장소

___로컬 저장소

___SQL 데이터베이스



부록 A 폰갭 파일 설치

___삼성 바다 개발 준비

___iOS 개발 준비

___윈도우폰 개발 준비



부록 B 오라클 JDK 설치

___JDK 다운로드

___JDK 설치

___윈도우 경로 설정

___설치 확인



부록 C Ant 설치하기

___OS X의 설치

___윈도우에서의 설치
[알라딘에서 제공한 정보입니다.]