하이브리드 아이폰 애플리케이션 개발
더 이상 아이폰 애플리케이션 개발을 위해 오브젝티브C부터 헤쳐나갈 필요가 없다. 이미 잘 알려진 웹 개발 도구와 기술인 자바스크립트, HTML, CSS를 그대로 활용할 수 있다. 숙련된 웹과 모바일 애플리케이션 개발자인 리 바니는 이 책에서 퀵커넥트와 폰갭 프레임워크를 활용해 안전하고 고품질이며 모듈화된 하이브리드 아이폰 애플리케이션 개발 방법을 소개한다.
리 바니는 멋진 사용자 인터페이스 작성부터 애플리케이션 컴파일, 배포, 실행에 이르기까지 하이브리드 아이폰 개발 프로세스 전체를 아울러 설명한다. 그 과정에서 끊김없는 개발, 복잡성 제거, 성능 최적화뿐만 아니라 가속센서, GPS 등 아이폰의 모든 네이티브 기능 활용을 보여주기 위해 다양한 기법과 예제를 제시한다.
이 책에서 다루는 내용
* 독창적이고 훌륭한 하이브리드 아이폰 애플리케이션 작성을 위한 대시코드와 엑스코드 활용
* 폰 진동에서 가속센서, GPS 위치 정보 접근에 이르는 다양한 동작을 제공하는 퀵커넥트 자바스크립트 API
* 폰갭 자바스크립트 API를 사용한 아이폰 네이티브 기능 활용
* 네트워크 연결 없이도 아이폰에서 데이터 저장, 조회, 관리 기능
* XMLHttpRequest를 활용해 원격 데이터 동기화와 웹 서비스 접근
* 아이폰 맵 애플리케이션과 비슷한 구글 기반 맵 기능을 애플리케이션에 내장시키기
이 책은 아이폰 개발의 진입 장벽을 근본적으로 낮춰 주므로, 짧은 개발 주기와 낮은 학습 비용으로도 웹 애플리케이션 개발자가 원하는 대로 아이폰 애플리케이션을 개발할 수 있다!
하이브리드 아이폰 애플리케이션이란 HTML, CSS, 자바스크립 등 웹 기술을 활용한 새로운 형태의 아이폰 애플리케이션으로서 아이폰 상에서 일반 애플리케이션처럼 동작하므로 인터넷 접속이나 서버 파일 없이도 동작한다.
하이브리드 아이폰 애플리케이션으로 개발하면 오브젝티브C나 코코아 프레임워크 개발 경험에 크게 의존하지 않으므로, 애플리케이션 개발 시간을 단축하고 학습 비용을 적게 들일 수 있다.
각 장은 두 부분으로 구성된다. 첫 번째 부분은 위치정보 등 어떤 작업에 필요한 기능에 대해 퀵커넥트아이폰(QuickConnectiPhone)과 폰갭(PhoneGap)에서 각각 사용하는 방법을 살펴본다. 두 번째 부분은 자바스크립트 호출 이후 내부적으로 동작하는 코드와 동작 구조에 대해 살펴본다. 프레임워크 코드 구현을 이해함으로써 자바스크립트와 오브젝티브C 코드를 더 깊이 이해할 수 있다.
이 책의 구성
1장 '대시코드와 엑스코드로 개발하기' - 퀵커넥트아이폰과 폰갭으로 아이폰에서 동작하는 멋진 애플리케이션을 빨리 개발하기 위해 사용하는 대시코드와 엑스코드의 사용법을 설명한다. 1장에서는 기본적인 대시코드 사용법과 대시코드 애플리케이션을 엑스코드로 옮겨 컴파일하고 디바이스에서 실행하는 것까지 살펴본다.
2장 '자바스크립트 모듈성과 아이폰 애플리케이션' - 퀵커넥트아이폰 프레임워크의 모듈성을 활용해 출시까지의 시간을 획기적으로 단축시킬 수 있다. 프론트 컨트롤러, 애플리케이션 컨트롤러, 자바스크립트 리플렉션 기법 등을 설명한다.
3장 '아이폰 사용자 인터페이스 만들기' - 애플 앱스토어 애플리케이션 배포를 승인 받을 수 있는 사용성이 뛰어난 아이폰 애플리케이션 제작 요령을 알아본다. 여러 가지 유형의 아이폰 애플리케이션뿐만 아니라 빠지기 쉬운 함정에 대해서도 설명한다.
4장 '퀵커넥트로 GPS, 가속 센서, 기타 네이티브 기능 활용' - GPS, 가속센서, 디바이스 세부 정보 등을 얻어 오거나, 아이폰을 진동시키고 오디오 파일을 재생/녹음하는 방법에 대해 설명한다. 퀵커넥트아이폰 프레임워크를 사용하면 이와 같은 디바이스 동작을 조작하거나 사용할 수 있다. 이런 기능으로 네이티브 애플리케이션과 같은 수준의 즐거운 사용자 경험을 만들어낸다.
5장 '폰갭으로 GPS, 가속 센서, 기타 네이티브 기능 활용' - GPS, 가속센서, 디바이스 세부 정보 등을 얻어 오거나, 아이폰을 진동시키고 오디오 파일을 재생/녹음하는 방법을 살펴본다. 폰갭 프레임워크를 사용하면 이와 같은 디바이스 동작을 조작하거나 사용할 수 있다. 이런 기능으로 네이티브 애플리케이션 수준의 즐거운 사용자 경험을 만들어낼 수 있다.
6장 '구글 맵 내장' - 퀵커넥트아이폰으로 애플리케이션 내에 구글 맵을 내장하는 방법을 설명한다. 맵은 가장 널리 사용되는 기능 중 하나인데, 맵 기능 때문에 기본 맵 애플리케이션으로 사용자를 보내버릴 필요가 없다!
7장 '데이터베이스 접근' - 퀵커넥트아이폰으로 작성한 애플리케이션에서 내장된 SQLite 데이터베이스에 정보를 저장하고 읽어오는 방법을 설명한다. 미리 데이터를 넣어둔 데이터베이스를 새 애플리케이션과 함께 배포하는 방법은 7장을 참고하라.
8장 '원격 데이터 접근' - 설치된 애플리케이션 내에서 원격 서버나 서비스의 데이터를 쉽게 활용할 수 있는 래퍼 라이브러리를 설명한다. 온라인 블로그에서 데이터를 가져오거나 트위터 피드와 데이터를 합쳐서 보여주는 등의 기능이 필요하다면 퀵커넥트아이폰의 원격 데이터 접근 모듈로 간단히 구현할 수 있다.
부록 A 'JSON 기초' - 자바스크립트 객체 표기법(JSON, JavaScript Object Notation)에 대해 간략히 소개한다. JSON은 데이터 전달을 위해 가장 널리 쓰이고 있으며, 사용법도 간단하다.
부록 B '퀵커넥트패밀리 개발 로드맵' - 아이폰 뿐만 아니라 구글 안드로이드, 노키아, 블랙베리 등의 모바일 플랫폼과 맥OS X, 리눅스, 윈도우 등의 데스크탑까지 커버하는 애플리케이션 플랫폼의 성장 계획을 보여준다.
부록 C '폰갭 개발 로드맵' - 폰갭의 향후 성장 계획을 보여준다. 아이폰 뿐만 아니라 구글 안드로이드, 노키아, 블랙베리 등의 모바일 플랫폼과 맥OS X, 리눅스, 윈도우 등의 데스크탑까지 커버하는 애플리케이션 개발을 생각한다면 부록 C를 참고하라.
하이브리드 애플리케이션 개발 도구
이 책에서는 아이폰이나 아이팟 터치 디바이스 애플리케이션 개발에서 인기를 얻고 있는 자바스크립트 소프트웨어 패키지인 퀵커넥트아이폰(QuickConnectiPhone)과 폰갭(PhoneGap)을 다룬다. 두 프레임워크를 활용하면 진동이나 GPS 위치 정보, 가속센서 등의 디바이스 네이티브 기능을 자바스크립트에서 직접 접근할 수 있다. 오브젝티브C나 코코아 코드는 전혀 사용하지 않는다.