코도바로 안드로이드와 iOS 등의 멀티 플랫폼을 한 방에 대비하라
하이브리드 앱 개발이란 HTML5와 같은 웹 기술로 앱을 제작하는 개발 기법이다. 하이브리드 앱 개발 기법은 더 간단하게 앱을 개발하고, 원 소스 멀티 플랫폼 지원이 가능하며, 스마트폰 앱 개발 비용과 기간을 줄일 수 있다. 무엇보다도 웹 기술을 이용해서 개발할 수 있으므로 자바나 오브젝티브-C를 모르는 웹 개발자도 스마트폰 앱을 개발할 수 있다는 장점이 있다.
이 책은 하이브리드 앱 개발을 시작하기 위한 기초 지식과 튜토리얼에 머무르지 않고, 스토리지 활용, 모바일 특수 환경 대응, 메모리 측정·절약, 보안, 네이티브 기능 호출 등 HTML·CSS·자바스크립트 관련 고급 기법 및 플랫폼에 따른 특성을 체계적으로 제시한다.
* 코도바란? 코도바는 폰갭의 기반이 되는 아파치 오픈 소스 소프트웨어다. 코도바는 4.0.0 현재 폰갭과 완벽히 호환된다.
【대상 독자】
[PART I 기초편]
CHAPTER 1 HTML5 하이브리드 앱이란
1.1 HTML5 하이브리드 앱의 개요
1.2 앱 개발의 과제
1.3 HTML5 하이브리드 앱의 등장
1.4 애플리케이션의 형태
1.5 하이브리드 앱의 구조
1.6 하이브리드 앱의 장점
1.7 하이브리드 앱의 단점
1.8 하이브리드 앱의 사례
1.9 정리
CHAPTER 2 하이브리드 앱 개발의 기반
2.1 웹 기술
2.2 웹킷 렌더링 엔진의 개발 환경
2.3 iOS 개발 환경
2.4 안드로이드 개발 환경
2.5 정리
CHAPTER 3 하이브리드 앱 개발을 위한 프레임워크
3.1 프레임워크의 개요
3.2 프레임워크의 역할
3.3 코도바(폰갭)
3.4 트리아이나
3.5 프레임워크를 이용하지 않을 경우
3.6 서버 클라우드 환경
3.7 정리
CHAPTER 4 코도바를 이용한 앱 개발 흐름
4.1 코도바 개발 환경 구축
4.2 코도바를 이용한 앱 개발
4.2.1 www 디렉터리 구조
4.3 앱 설정
4.4 플랫폼별 사용자화
4.5 코도바 플러그인 이용하기
4.6 그 밖의 명령 설명
4.7 기존 앱에 코도바 입히기
4.8 안드로이드 프로젝트에 코도바 프레임워크 도입
4.9 iOS 프로젝트에 코도바 프레임워크 도입하기
4.10 plugman 명령으로 코도바 플러그인 설치하기
4.11 정리
[PART II 실전편]
CHAPTER 5 더 좋은 앱 개발을 위한 노하우
5.1 a 태그와 click 이벤트 사용하지 않기
5.2 제이쿼리 대신 Zepto.js 이용하기
5.3 대화창 표시
5.4 탭할 때 표시되는 하이라이트 없애기
5.5 팝업 메뉴 없애기
5.6 사용자가 문자를 선택할 수 없게 하기
5.7 콘텐츠 일부에 관성 스크롤 사용하기
5.8 안드로이드 버전을 iOS 버전보다 먼저 개발하기
5.9 인디케이터 이용하기
5.9.1 Spin.js
5.10 문자 크기 자동 조정을 무효로 하기
5.11 DOM 트리의 변경 줄이기
5.12 레이아웃 재계산 비용 줄이기
5.13 실제 디바이스로 확인하기
5.13.1 iOS 시뮬레이터의 단점
5.13.2 안드로이드 에뮬레이터의 단점
5.14 JSON
5.15 CSS 애니메이션 이용하기
5.16 앱을 실행하는 기기의 정보 얻기
5.17 안드로이드 4.0.3의 WebView와 asset에 관한 버그에 대처하기
5.18 안드로이드 기기의 버튼에 대응하기
5.19 이벤트 전파
5.20 HTML5와 네이티브의 구분
5.21 정리
CHAPTER 6 스토리지
6.1 스토리지 개요
6.2 웹 스토리지
6.3 로컬 스토리지
6.4 세션 스토리지
6.5 파일 스토리지
6.6 WebSQL 데이터베이스
6.7 모바일 BaaS
6.8 정리
CHAPTER 7 모바일 환경의 특징
7.1 터치 감지
7.2 제스처 감지
7.3 제스처를 판별하는 라이브러리
7.4 디바이스 오리엔테이션
7.5 뷰포트에 대응하기
7.6 정리
CHAPTER 8 디버그
8.1 와이너리에 의한 웹 인스펙터
8.2 iOS에서 원격 웹 인스펙터
8.3 크롬 원격 웹 인스펙터
8.4 안드로이드에서 자바스크립트의 오류 로그 기록하기
8.5 정리
CHAPTER 9 메모리 측정·절약
9.1 메모리 절약의 중요성
9.2 단말기의 메모리 용량
9.3 메모리 사용량 측정
9.4 메모리 절약 방법
9.5 정리
CHAPTER 10 HTML5 하이브리드 앱 보안
10.1 웹 앱과는 다른 HTML5 하이브리드 앱의 보안 문제
10.2 안드로이드와 iOS 샌드박스
10.3 HTML5 하이브리드 앱에서의 XSS의 위험성
10.4 변조나 유출 가능성 고려하기
10.5 console.log 메소드를 이용하여 중요 정보 기록하지 않기
10.6 정리
CHAPTER 11 자바스크립트와 네이티브의 브릿지
11.1 자바스크립트로 네이티브 기능을 호출하는 방법
11.2 네이티브 브릿지에 필요한 조건
11.3 addJavascriptInterface 방식
11.4 네이티브에서 자바스크립트로 값 넘기기
11.5 커스텀 URL 스킴 방식
11.6 iOS에서 특정 페이지 읽기 제한
11.7 JsAlert 방식
11.8 로컬 HTTP 서버 방식
11.9 정리
CHAPTER 12 WebView로 HTML5 하이브리드 앱 개발하기
12.1 안드로이드의 WebView로 HTML5 하이브리드 앱 개발하기
12.2 iOS의 WebView로 HTML5 하이브리드 앱 개발하기
12.3 정리
부록 A 마켓 공개 포인트
부록 B 참고문헌
모던 웹을 요리하는 초간편 HTML5 Cookbook : 자바스크립트 API, 로컬 저장소, 접근성, 지오로케이션
크리스토퍼 슈미트 , 카일 심슨
Head First HTML5 Programming: 웹 표준으로 만드는 생동감 있는 웹 애플리케이션
에릭 프리먼 , 엘리자베스 롭슨