난이도 : 중급
앱 설계부터 개발, 앱스토어 등록까지 실전처럼!
초보 아이폰 앱 개발자를 위한 실전 노하우 가이드
“백문이불여일타” 란 말이 있듯이, 아무리 책을 많이 본다고 해도 실제로 직접 한번 앱을 만들어 보는 것만 못하다. 이 책은 아이폰 어플리케이션 개발에 첫발을 디딘 초보 개발자가 중급 및 고급 개발자로 나아가기 위해 실제 앱스토어에 등록되어 있는 앱을 직접 만들어 가면서 아이폰 앱 개발에 대해서 느끼고 체험할 수 있도록 구성되어 있다.
이 책을 제대로 활용하기 위해서 독자들은 오브젝티브 C와 iOS SDK에 대한 기본 이해와 Xcode를 사용하는 방법에 대한 사전 학습이 필요하다. 이 책에서는 주로 응용프로그램을 만드는 방법을 소개하는데 초점을 맞추고 있다. 즉, 아무것도 없는 상태에서 프로그램을 기획하고 필요한 자료를 찾고, 이를 바탕으로 프로그램을 설계하고 기능을 하나씩 구현해 나가며 고급 개발자로 도약할 수 있는 능력을 키우도록 구성되어 있다.
이 책은 난이도별로 총 10개의 앱을 소개한다. 각 챕터마다 어떤 앱을 만들지 우선 정의하고 정의한 앱과 유사한 경쟁 제품을 분석해 장단점을 파악하며, 이를 바탕으로 프로그램 내용을 상세하게 설계한다. 프로그램 설계는 UI와 코드 부분으로 나눠 진행하며, 설계가 끝나면 실제 앱을 하나하나 만들어가는 모습을 보여준다. 10개의 앱은 각각의 난이도와 작성 목적에 따라 초급, 중급, 고급으로 구분된다. 이 책에서 소개한 앱들은 실제 앱스토어에서 다운받을 수 있고, 소스를 받아 빌드해 볼 수 있다.
초급 단계에서 소개할 구구단, UI 이해, 디바이스 제어는 iOS 프로그램에 대한 기본 이해와 개발에 필요한 사전 지식을 학습하는 용도로 작성되었다. 구구단은 기본 알고리즘의 이해 및 활용을 위해 작성되었으며, UI는 Xcode의 템플릿을 활용하는 방법을 소개한다. 디바이스 제어는 iOS 디바이스들의 각종 센서를 제어하는 프로그램을 작성하는 방법을 설명한다.
중급 단계의 단어장, QR, 만화책, 피아노 앱은 기본 프로그램 지식을 바탕으로 앱스토어에 많이 올라오는 주요 애플리케이션을 만드는 방법에 대해 소개한다. 단어장은 영어 학습 앱으로 앱스토어에도 비슷한 종류의 앱이 많이 존재한다. QR은 요즘 인기를 끌고 있는 각종 바코드 및 QR코드를 인식하고 생성하는 기능을 갖추고 있는데, 이를 통해 오픈 소스를 활용하는 방법을 배우게 될 것이다. 만화책 뷰어는 아이패드에 최적화된 전자책 기능을 만들어보는 챕터로 상용 만화책 뷰어와 유사한 다양한 기능을 구현하고 있다. 이를 통해, 아이폰/아이패드 애플리케이션의 고급 기술에 접근할 수 있는 기회가 될 것이다.
고급 단계에서는 피카사와 게임 그리고 iCloud 활용에 대해 설명한다. 피카사는 구글의 웹 앨범 서비스로, Open API를 활용해 아이폰에서 피카사 앨범을 연동하는 프로그램을 작성하는 방법을 소개한다. 게임 프로그램은 앵그리버드 스타일의 게임을 직접 만들면서, 아이폰에서 게임을 어떻게 개발하고 활용하는지 설명한다. 특히, 오픈 소스 게임 엔진인 cocos2d와 box2d에 대해 자세히 설명한다. 마지막 챕터인 iCloud 활용은 애플의 클라우드 서비스인 iCloud를 실제 앱 개발에 어떻게 활용하는지 자세히 설명한다.
책 후반부에서는 애플 개발자 계정 등록부터 작성한 애플리케이션의 디바이스 배포 그리고 앱스토어 등록까지의 과정을 자세히 소개하고 있다.
1. 오브젝티브 C와 Xcode 등 기초 지식을 갖춘 초보 개발자가 실제 앱 개발 과정을 따라해 볼 수 있도록 구성하고 있습니다.
2. 초급-중급-고급 단계별로 10개의 앱을 구현하면서 iOS의 기본 기능부터 웹 서비스 이용법 그리고 게임 개발까지 다양한 내용을 담았습니다.
3. 이 책에서 소개한 앱들은 실제 앱 스토어에서 다운받을 수 있으며, 예제 소스를 받아 직접 빌드해 볼 수 있습니다.
:: 주요 내용
Chapter 01. 구구단 만들기
이번 장에서는 아이폰에서 작동하는 구구단 프로그램을 작성해본다. 구구단은 두 개의 반복문을 사용해 계산하는 간단한 프로그램으로 아이폰 프로그램에 대한 기초 지식을 쌓을 수 있다. 이를 통해 제어문에 대한 이해 및 알고리즘, 기본 iOS UI 사용법을 알아본다.
Chapter 02. UI 이해와 Xcode 프로젝트 템플릿 알아보기
경쟁 스마트폰 플랫폼과 비교해 아이폰이 갖는 가장 큰 차별화 포인트는 UI(User Interface) 부분이다. 앱 개발에 있어 UI에 대한 이해와 사용법 습득은 상당히 중요하다. 이번 장에서는 Xcode에서 제공하는 템플릿과 이를 이용해 베이스 코드를 만들어가는 방법을 통해 애플이 제공하는 아이폰의 UI에 대해 살펴본다.
Chapter 03. 디바이스 제어
아이폰에는 GPS, 가속센서, 자이로스코프, 조도센서, 근접센서 그리고 카메라 등 많은 디바이스가 장착되어있다. 이번 장에서는 이 디바이스들에 대한 기본 지식 및 사용 방법과 시스템 전체에 대한 정보를 조회하는 방법에 대해서 살펴본다.
Chapter 04. 단어장 만들기
대량의 데이터를 처리하기 위해서는 아이폰이 제공하는 데이터베이스를 이용해야 한다. 이번 장에서는 iOS의 기본 프레임워크로 제공되는 SQLite를 이용해 대량의 데이터를 다루는 방법을 알아본다. 또한 이를 응용해 영어 단어를 학습하는 myMeoryCard라는 단어장 앱을 작성해본다.
Chapter 05. QR 리더와 생성기
이번 장에서는 우리 생활에서 흔히 접할 수 있게 된 QR 코드에 대해 알아보고, 이를 인식하고 생성하는 프로그램을 직접 만들어본다. QR의 원리와 오픈 소스 라이브러리를 활용하는 방법 그리고 카메라를 제어해, 실제로 사용 가능한 QR 제어 프로그램을 작성해본다.
Chapter 06. 만화책 뷰어(myComicViewer)
아이폰과 아이패드의 최대 장점은 책이나 영화 같은 디지털 자료를 휴대하고 다니면서 쉽게 활용할 수 있다는 점이다. 이런 이유로 애플 앱스토어에 등록된 앱들 중에 상당수가 디지털 자료를 볼 수 있는 뷰어 관련 프로그램들이다. 이번 장에서는 만화책을 쉽고 간편하게 읽을 수 있는 앱을 작성해 볼 것이다.
Chapter 07. 피아노 만들기(MobilePiano)
아이폰이 출시되고 선풍적인 인기를 끈 앱 중에는 유독 음악 관련 프로그램이 많다. 아이폰용 음악 프로그램을 사용하면 쉽고 재미있게 음악의 세계에 입문할 수 있다. 이번 장에서는 전문 지식 없이도 피아노를 연주하여 음악을 만들 수 있는 앱을 작성해 볼 것이다.
Chapter 08. 피카사 뷰어(myPicasa)
이번 장에서는 구글이 제공하는 Open API를 사용하는 방법을 알아보고 이를 이용해 구글의 사진 공유 서비스인 피카사 서비스를 이용한 피카사 뷰어를 만들어 본다. 이를 바탕으로 다양한 Open API를 활용해 iOS 앱을 만드는 방법에 대해 알아보자.
Chapter 09. 스마일 몽키(Smile Monkey)
이번 장에서는 아이폰에서 앵그리버드 스타일의 게임을 만드는 방법에 대해 살펴본다. 아이폰에서 게임을 만들기 위해서는 Cocos2d와 같은 게임 엔진을 사용해야 한다. 실제 아이폰에서 게임을 작성하기 위해서 어떤 준비 작업이 필요하고, 어떤 과정을 거쳐 게임을 작성하는지 살펴보자. 또한 앵그리버드처럼 물리 엔진이 적용된 게임을 작성하는 방법을 Box2D 라이브러리를 통해 알아보자.
Chapter 10. iCloud
애플의 클라우드 서비스인 iCloud를 사용하는 방식은 키-값 저장 방식과 도규먼트 저장 방식의 두 가지가 있다. 이번 장에서는 iCloud의 기본 개념과 구체적인 사용 방법을 예제를 통해 자세히 살펴볼 것이다. 아이폰 앱에 클라우드 개념을 적용해 보다 활용성 높은 앱을 작성해보자.
:: 저자 소개
안진섭 jinniahn@gmail.com
아이폰을 시작으로 애플 기기에 빠져서 아이폰 4S, 아이패드, 아이맥, 맥미니, 맥에어 등 장비 구매에 몰두하고 iOS 앱 개발에 힘쓰고 있는 평범한 개발자. 현재는 삼성에서 아이폰용 앱 및 라이브러리를 개발하고 있다.
박인혜 cosmosforit@gmail.com
옴니아, SLP, 안드로이드, 아이폰, 아이패드 등의 다양한 모바일 관련 프로젝트를 수행했으며 현재는 삼성에서 클라우드 솔루션 개발에 참여하고 있다. 2010년 아이폰과 맥에어, 맥북 프로를 구매한 이후 애플의 매력에 푹 빠져있는 애플 개발자이다.
최재규 magicsoft@gmail.com
디지털 영상처리를 전공한 후 삼성에 입사해 디지털 TV 미들웨어와 스마트칩을 위한 닷넷 VM 그리고 스마트폰용 SDK를 개발하였다. 이후 하이브리드 플랫폼과 클라우드 솔루션을 개발하고 있으며, 현재는 아이폰의 매력에 빠져, iOS 기반의 다양한 프로젝트를 진행하고 있다.
:: 목차
Chapter 01 구구단 만들기
01 이 책의 소개
02 구구단 만들기
Chapter 02 UI 이해와 Xcode 프로젝트 템플릿 알아보기
01 혁신적인 iOS UI(User Interface)
02 애플리케이션 템플릿
03 마스터 디테일 앱 템플릿
04 페이지 기반 앱 템플릿
05 싱글 뷰 앱(Single View Application) 템플릿
06 탭 기반 앱(Tabbed Application) 템플릿
Chapter 03 디바이스 제어
01 iOS 계열 디바이스들
02 경쟁 제품 분석
03 구상하기
04 UI 구상하기
05 프로그램 설계하기
06 개발하기
Chapter 04 단어장 만들기
01 아이폰, 아이패드, 교육시장에 새로운 바람이 되다.
02 경쟁 제품들
03 구상해보기
04 화면 구상하기
05 프로그램 설계하기
06 구현하기
Chapter 05 QR 리더와 생성기
01 무한 가능성을 지닌 정사각형 세상
02 QR 코드 애플리케이션 구상하기
03 UI 구상하기
04 프로그램 설계하기
05 개발하기
Chapter 06 만화책 뷰어(myComicViewer)
01 컨텐츠 소비의 혁신을 불러온 아이패드
02 앱 구상하기
03 UI 구성하기
04 프로그램 설계하기
05 개발하기
Chapter 07 피아노 만들기(MobilePiano)
01 아이폰으로 만들어지는 음악
02 피아노 앱 기획하기
03 UI 구상하기
04 프로그램 설계하기
05 개발하기
06 나만의 앱에 배너 연결하기–아이애드/애드몹
Chapter 08 피카사 뷰어(myPicasa)
01 구글 웹 서비스
02 경쟁 제품들
03 구상해보기
04 화면 구상하기
05 사전 학습
06 설계하기
07 구현하기
Chapter 09 스마일 몽키(Smile Monkey)
01 게임 만들기 소개
02 Cocos2d 살펴보기
03 물리 엔진 적용하기
04 Smile Monkey 만들기
Chapter 10 iCloud
01 아이클라우드(iCloud)란?
02 iCloud를 사용하는 두 가지 방법
03 iCloud 서버 설정
04 키-값 저장 방식 사용하기
05 iCloud 도큐먼트 저장 방식
Appendix 앱스토어에 나만의 앱 등록하기
01 개발 준비
02 애플 개발자 등록
03 프로그램 개발
04 디바이스 환경에서 개발 및 디버깅하기
05 앱스토어에 등록할 배포용 빌드하기
06 앱스토어 등록
07 심사/대기
08 등록 완료
'IT 신간' 카테고리의 다른 글
쇼핑몰 창업+운영 핵심정리 (0) | 2012.06.12 |
---|---|
할 수 있다! Visual 엑셀 2010 (1) | 2012.06.01 |
학교에서 통하는 프레젠테이션 (0) | 2012.05.25 |