1장 : 아이폰 SDK를 설치하고 환경을 구축하는 방법
- 프로비져닝에 대한 설명
- ObjectiveC 에 대한 소개
2장 : 인터페이스 빌더에 대한 소개
3장 : UI Kit 프레임워크
- 윈도우와 뷰
- 뱃지, 사파리, 전화 걸기
4장 : 이벤트 처리와 좌표계
- 멀티 터치
5장 : 레이어, 코어 그래픽과 Quartz 로 트랜스폼 하기
6장 : AVFoundation 과 Audio ToolBox 로 오디오관련 조작하기
- 플레이, 진동
7장 : 네트워크 프로그래밍
- 소켓 프로그래밍, HTTP,FTP 클래스 소개
8장 : 위치정보 이용하기(GPS)
9장 : 주소록 이용하기
10장 : UI킷의 고급 응용
- 기본 뷰를 제외한 모든 Control 에 대한 설명
- 가속도계
11장 : 어플리케이션 정보 저장하기
12장 : 커버 플로우
13장 : 페이지 전환
14장 : 동영상 재생
아쉽게도, 목차를 통해서도 상당히 정리되지 못한 느낌을 받게 된다. 하지만 전에 소개했던,
이 책에서 다루지 않는 부분들에 대해서 거의 모두 다루고 있다는 점에서 의미는 있다.
먼저 아이폰을 설치하고 인터페이스 빌더라는 툴을 다루는 1,2장은 거의 의미가 없는 챕터다.
3장에서 기본적인 윈도우와 뷰의 개념에 대해서 설명해 주고 있고, 전화를 거는 방법도 여기서 다루는데,
약간 정리가 안된 느낌이다.
5장의 레이어와 코어그래픽에 대한 설명은 너무 부실해서 애플이 공개하고 있는 리퍼런스 수준에도 미치지 못한다.
그외, 모든 내용이 애플의 리퍼런스에서 얻을 수 있는 정보에도 미치지 못할 정도로 급조된 느낌이 있다.
빠른 시점에 책을 내기 위해서 많은 변화들이 반영되지 못했기 때문에 초기 아이폰 SDK가 발표된 시점에
의미가 있던 기능들이 주로 소개되오 있다는 느낌이 든다.
좀 더 개선해야 할 점은, 각 장에 대해서 기본적인 동작원리및 철학에 대해서 설명해야 하고,
예제만 딸랑 소개하는 것에서 그치지 말고, 그 예제가 어떻게 동작되는지 자세히 설명할 필요가 있다.
또한 3장에서 전화걸기 기능에 대해서 소개하고, 10장에서 가속도계를 설명하는 등 목차 자체도 다시 정리되어야 할 것이다.
슬프게도 거의 얻을 수 있는 정보가 없는 책이었고, 설명하는 주제나 방식에 있어서 일반 개발서 라고 보기보다는 쿡북이라고 해야 더 옳을 것 같다.
개인적으로,
일반적인 아이폰 개발서라고 한다면, 크게 다음의 주제들은 다뤄줘야 한다고 생각된다.
0. Tools & Install
: 툴 설치와 환경 구축 방법
1. UI components
: 화면을 이루는 기본 구성요소인 뷰와 윈도우 그리고 컨트럴들에 대한 소개
: Maps framework (3.0)
2. Interfacing
: 사용자 인터페이스 방법 , 가속도 등의 모든 입력 수단
: Copy & Paste (3.0)
3. Graphics
: 게임 개발을 위한 요소인 그래픽, Quartz, OpenGL ES 4. Media access : iPod 의 미디어 라이브러리에 접근하는 방법, 플레이백 제어 방법 (3.0) 5. Network : 네트워크 프로그래밍, PeerToPeer 프레임워크 (3.0)
6. Phone resources (Camera...)
: 아이폰 고유의 자원들 : 폰, 메시징, 주소록, 이미지 라이브러리 등의 정보 7. AppStore & inApp purchase : AppStore 에 대한 내용과 InApp Purchase (3.0) 8. More applications : 아이팟 악세서리에 접근하기 위한 방법과 응용사례
A1. ObjectiveC A2. Debug issue
A3. How to use help documents
A4. Security issue
지금까지 두권의 책을 살펴본 결과, 디버깅 이슈, AppStore에 대한 소개, 네트워크 프로그래밍에 대한 소개가 아주 부족했거나, 아예 다뤄지지 않고 있다. 3.0에 새로 추가된 기능들이 어느정도 수준으로 보강될지 주목해 봐야 한다.
아이폰 관련 서적중에서 가장 평가가 좋은 책이다. 최초로 국내에도 소개된 iPhone SDK cookbook 시리즈가 팁 위주의 문제 해결을 위한 여러가지 주제들을 다룬다면, 이 책은 처음부터 하나하나 차근차근 배워나가는 전형적인 입문서이다.
총 18개의 장으로 이루어져 있고, 간단히 각 장이 다루고 있는 내용을 보면,
1장 : Welcome to the jungle
- 필요한 개발환경에 대한 소개.
- 아이폰 개발의 특수성에 대한 설명
2장 : Tiki Gods (Hello World) 를 만들기 위한 따라하기 예제
- 인터페이스 빌더에 대한 소개
- 컴파일과 실행 방법
3장 : 인터렉션 방법
- 사용자의 입력을 받기 위한 방법.
- 아웃렛과 뷰 컨트럴러에 대한 소개
- 어플리케이션 딜리게이트
- 간단한 예제를 통한 따라하기 실습
4장 : 좀더 재밌는 인터페이스
- 그림 이미지 사용하기
- 키보드 사라지게 하는 팁
- 슬라이더와 레벨 컨트럴에 대한 설명
- 스위치와 세그먼트 컨트럴
- 버튼, 엑션 시트, 경고 창
- 버튼 다듬기
5장 : 로테이션과 사이즈 조절
- 회전에 대한 반응 방법
- 뷰 스왑시키기
6장 : 다중 뷰 구조
7장 : 탭바와 픽커 컨트럴
8장 : 테이블 뷰 컨트럴
9장 : 테이블뷰와 네비게이션
10장 : 어플리케이션 환경설정 방법
- User defaults
11장 : 데이터 저장방법
- 샌드박스 개념
- 시리얼라이져블 Object 들
- 파일 저장을 위한 전략
- Embedded SQLite3
12장 : 그리기 와 OpenGL
- Quartz2D와 OpenGL ES 예제 어플리케이션 위주의 설명
13장 : 터치와 손동작
- 멀티터치, 닦아냄 동작 등
- 커스텀 동작
14장 : 위치정보(GPS) 이용
15장 : 가속도계 이용법
- 흔들기 감지
- 흔들기 예제 -> 화면 깨짐 (이 책에서 가장 재미있는 예제임)
16장 : 카메라 이용하기
- 카메라와 포토라이브러리 접근
17장 : 지역화 이슈
18장 : 추가 정보로 마무리
전체적으로 거의 모든 중요한 내용들은 커버하고 있다. 하지만 목차를 통해서도 느낄 수 있듯이,
모든 내용을 애플의 iPhone SDK 문서를 잘 정리해서 만들었다는 느낌이 든다. 중요한 특징 및 단점은
1. 아이폰 AppStore에 대한 등록절차나 경향에 대한 내용이 전혀 다뤄지지 않고 있다는 점
2. 대부분의 예제가 기초적인 수준에 머물러 있다는 점
3. 초보자를 주 타깃으로 하고 있다는 점
4. ObjectiveC에 대한 설명은 없다는 것
5. 그래픽 분야에 대한 설명이 상대적으로 빈약하며, 주로 어플리케이션의 구조인 UI 컨트럴에 초점을 두고 있음.
6. 아이폰 SDK 3.0에 대한 내용을 포함하지 않음. (개선될 것으로 예상?)
7. 아이폰의 다른 자원들 (전화!!!, SMS, Contacts ) 등에 대한 설명은 전혀 없음.
8. 동영상과 사운드는 거의 다루지 않음.
9. 디버깅 기법에 대해서 거의 다루지 않음.
10. 보안이슈 누락
12. 네트워크 프로그래밍에 대해서 전혀 다루지 않음.
13. 원서의 경우는 평균적인 엔지니어링 서적에서는 많이 쓰이지 않는 고급 단어들이 많이 사용된다.
14. NSArray 등의 자료구조의 이용은 기존의 C/C++ 개발자에게는 가장 어색한 부분이다. 이 부분에 대한 설명이 없다.
이 책은 현재 나와 있는 아이폰 관련 책 중에서 가장 잘 쓰여진 책이지만, 아쉬운 부분이 몇가지 있다.
개선될 수 있는 여지라면, 위의 10가지 항목에 대한 고려가 필요하다고 생각된다.
이 글에서는 단점을 주로 지적했지만, 초보자를 위한 입문서로는 정말 알차고 도움이 될 만한 내용을 많이 담고 있다.
특히 일반 UI 컴포넌트를 주로사용하는 일반 어플리케이션 개발을 위해서는 최적의 입문서임은 확실하다.