이 책을 집필한 목적은 초보 아이폰 개발자와 경험이 있는 아이폰 개발자에게 유용한 정보를 제공하는 데 있다. 주로 아이폰 개발에 필요한 일반적인 기술을 포함하고 있어 이제 막 아이폰 개발자로 발돋움하려는 사람에게도 도움을 줄 수 있으리라 생각한다.
코코아 터치 프로그래밍과 관련한 책을 쓰는 일은 정말 어려운 작업이다. 독자의 실력을 판단하기가 매우 힘들기 때문이다. 오브젝티브C를 이미 알고 있을까? 맥OS X용 애플리케이션을 개발한 경험이 있을까? 책을 쓰기 시작할 때 스스로에게 던졌던 질문들이다.
결국 나는 새로운 개발자와 경험이 있는 개발자가 함께 읽을 수 있는 책을 쓰기로 결정했고, 모두에게 유용한 책을 쓰려고 노력했다.
아이폰 운영체제의 새로운 기술을 습득하고, 일반적인 아이폰 개발에 대해서도 배울 수 있는 기회를 제공했다.
여러분이 이미 어느 정도는 오브젝티브C에 익숙하며, 전문가일 필요는 없지만 어느 정도는 맥 OS X이나 아이폰 개발에 경험이 있으리라 가정했다.
맥 OS X 개발이나 아이폰 개발이 처음인 독자라면, 이 책과 함께 오브젝티브C와 관련된 책을 읽어보길 권한다. 시장에는 많은 책이 있지만, 다른 주제를 가지고 오브젝티브C를 다루는 책보다는 오브젝티브C 언어 자체에 중점을 둔 책을 권한다. 오브젝티브C 언어의 문법 등에 익숙해질 만큼 책을 읽었다면, 이 책의 1장을 열어도 문제가 없을 것이다.
이미 맥 OS X용 애플리케이션을 개발해봤지만, 아이폰용 애플리케이션을 개발한 적이 없다면, 이미 오브젝티브C는 잘 알고 있을 것이고 아이폰용 애플리케이션 개발에 사용되는 다양한 도구에도 익숙한 상태일 것이다. 아이폰 개발이 맥OS X 개발과 비슷하기는 하지만, 완전히 일치하지는 않는다. 따라서 1장은 건너뛰고 2장부터 시작해 아이폰 애플리케이션을 처음부터 개발하는 방법을 습득하자.
아이폰 개발에 경험이 있다면, 아이폰 개발과 관련된 기본적인 지식은 알고 있으므로, 아이폰 OS와 관련된 부분인 5장부터 찾아 보길 바란다. 이 책의 모든 장은 새롭게 업데이트된 아이폰 OS API를 기준으로 작성했다. 따라서 이미 UI 뷰 컨트롤러 등에 익숙한 상태라면 OS 3 이후에서 새로 추가된 기능들이 있는 5장부터 읽는 편이 바람직하다.
이 책은 마치 세 가지 주제를 따로 다루는 별도의 장이 있는 것처럼 작성됐기 때문에, 이 책을 위와 같은 방법으로 잘 활용하길 바란다.
부디 이 책이 흥미롭길 바란다. 개인적으로는 좋은 기술 서적을 책장에만 진열하지 않고, 책상의 한 켠에 늘 놓고 몇 번이고 참고한다. 이 책도 여러분에게 좋은 대접을 받길 바라며, 낡고 해질 때까지 몇 년이고 유용하게 사용해주길 바란다.
지바 드보
book@random-ideas.net ---저자 서문 중에서
코코아 터치는 아이팟, 아이폰, 아이패드용 애플리케이션을 제작하기 위해 애플에서 제공하는 프레임워크로서, 이름에서 알 수 있듯이 기존 맥 OS용 코코아 프레임워크를 iOS에 맞게 재구성한 것이다. 단순히 다양한 기능을 API로 표현하는 데 그치지 않고 오랜 기간 축적된 노하우와 디자인 패턴이 절묘하게 녹아 들어 있어서, 아이폰 앱 개발에 없어서는 안 될 필수 도구로 손꼽힌다.
이처럼 코코아 터치가 차지하는 큰 비중에 비해, 코코아 터치란 무엇인지조차 모르는 사람이 많아 코코아 터치의 개념 자체를 묻는 질문을 종종 받는다. 물론 앱스토어에서 엄청난 다운로드 수를 자랑하는 뛰어난 앱을 제작하면 그만일 수도 있지만, 코코아 터치에 대한 충분한 이해가 뒤따라 준다면 뛰어난 기획부터 앱스토어 등록에 이르는 시간을 단축시킬 수 있을 뿐만 아니라 애플리케이션의 품질도 향상시키는 데 도움이 될 거라 믿는다.
이 책에서는 오브젝티브C와 엑스코드 기반 개발 환경을 어느 정도 접해 본 개발자를 대상으로 코코아 터치 프레임워크에서 제공하는 전반적인 기능을 하나씩 설명한다. 하지만 예제 코드가 단계별로 소개되므로 처음 아이폰 개발에 뛰어든 독자도 직접 손과 눈으로 확인하면서 책에서 설명하는 내용을 쉽게 이해할 수 있으리라 생각한다. 예제 코드는 2010년 9월 중순 기준으로 최신 버전인 Xcode 3.2.4와 iOS SDK 4.1을 대상으로 했으며, 에이콘출판사 도서 정보 페이지(http://www.aconrpub.co.kr/book/cocoatouch)에서 다운로드 할 수 있다.
물론 완전 초보를 위한 그대로 따라하기 스타일의 책이 아닌 만큼, 책을 읽고 생각하면서 코드를 직접 다뤄보면 훨씬 도움이 될 것이다. 마지막으로, 책을 읽으면서 애플 개발자 사이트의 iOS 레퍼런스 라이브러리(http://developer.apple.com/library/ios/navigation/)를 참조해 이 책에서 미처 다루지 못한 부분과 최신 iOS 버전에 맞는 정보를 보완해 이 책을 200% 활용하길 ?란다.
남기혁
---옮긴이의 말 중에서