아론 힐리가스의 iOS 프로그래밍, 5판


저자 아론 힐리가스, 크리스찬 쿠어

역자 이종우

출판사 비제이퍼블릭

 

출간일 2016년 4월 28일 (목)

정가 30,000원

페이지 492

판형 188 * 245

ISBN 979-11-86697-15-3 (93000)

원서정보 iOS Programming: Big Nerd Ranch Guide, 5/e


 



책 소개

 

iOS 프로그래밍을 위한 필독서!

아마존닷컴(amazon.com)에서 프로그래밍 & 앱 개발 부문 베스트셀러 1위

 

이 책은 독자들에게 iOS 앱 개발을 위한 필수적인 개념과 기법, 도구 등을 알기 쉽게 설명해준다. 또한 Big Nerd Ranch의 인기 있는 iOS 부트캠프 강좌와 검증된 내용과 방법에 기반을 두고, iOS 개념과 코딩을 함께 다루고 있어 유용한 지식을 배울 수 있다. 이 책을 마치고 나면 iOS 프로젝트를 다루는 데 필요한 노하우와 자신감을 갖게 될 것이다. 

 

또한 저자들은 이 책을 통해 무엇이 중요한지를 설명하고, iOS 플랫폼의 더 큰 맥락을 꿰뚫어보는 능력을 전해준다. iOS의 개발 방법과 많은 기능을 이해함으로써 언제 어디서나 배운 것들을 적용할 수 있게 될 것이다. 

 

iOS 개발자가 되기 위해 수행해야 할 기본 과제 세 가지

 

- Swift 언어를 배워야 한다.

Swift는 iOS 앱 개발에 추천하는 언어다. 이 책의 처음 두 장은 Swift의 실용적인 지식을 전달하는 데 초점을 두고 있다.

 

- 주요 개념을 완전히 익혀야 한다.

델리게이션, 아카이빙, 뷰 컨트롤러 사용법 등을 이해해야 한다. 이러한 개념을 이해하는 데는 며칠 걸리겠지만, 이 책의 중간쯤에 이르면 주요 개념을 모두 이해하게 될 것이다.

 

- 프레임워크를 정복해야 한다.

최종 목표는 iOS 프레임워크에 있는 모든 클래스의 메서드 사용법을 익히는 것이다. 이는 일생의 프로젝트로, iOS에는 수백 개의 클래스와 수천 개의 메서드가 존재한다. 게다가 애플은 새 iOS 버전마다 많은 클래스와 메서드를 추가하고 있다. 프레임워크를 함께 정복해보자.

 

독자대상

초중급

 

 

저자 소개

 

아론 힐리가스

Big Nerd Ranch의 설립자로 NeXT와 애플에서 일했다. 20여년 정도의 프로그래밍 경력을 가지고 있다. 오브젝티브-C와 코코아를 가르쳤으며, 최근에는 iOS를 가르치고 있다. 『코코아 프로그래밍』과 『오브젝티브-C 프로그래밍』의 공동 저자다. 

 

크리스찬 쿠어

Big Nerd Ranch에서 상급 강사와 소프트웨어 엔지니어로 일하며, 많은 찬사를 받고 있는 iOS 부트캠프의 강의 자료를 작성하였다. 이 자료는 이 책의 근간이 되었다. 조지아 공대에서 컴퓨터 과학을 전공했으며, 애틀랜타 주위를 맴돌며 별을 바라보거나 책을 읽는 것을 좋아한다. 

 

 

역자 소개

 

이종우

상명대에서 소프트웨어학을 전공하고, 한글과컴퓨터를 포함해 다수 업체에서 맥과 리눅스용 프로그램을 개발하였다. 최근에는 iOS용 앱을 개발하고 있다. 역서로는 『아론 힐리가스의 iOS 프로그래밍, 4판』, 『가장 쉬운 Swift 입문 책』 등이 있다.

 

 

목차

 

1장. 간단한 iOS 앱 만들기

- Xcode 프로젝트 만들기

- 모델-뷰-컨트롤러

- Quiz 앱 설계하기

- 인터페이스 빌더

- 인터페이스 만들기

- 모델 레이어 만들기

- 최종 앱 빌드하기

- 앱 아이콘

- 런치 스크린

 

2장. Swift 언어

- 타입

- 기본 타입 사용하기

- 옵셔널

- 루프와 문자열 삽입

- 열거형과 Switch 문

- 애플의 Swift 문서 둘러보기

 

3장. 뷰와 뷰 계층 구조

- 뷰 기본 지식

- 뷰 계층 구조

- 새로운 프로젝트 만들기

- 뷰와 프레임

- 오토 레이아웃 시스템

- 동메달 과제: 추가 오토 레이아웃 실습

 

4장. 텍스트 입력과 델리게이션

- 텍스트 편집

- 온도 변환 구현하기

- 델리게이션

- 동메달 과제: 알파벳 문자 허용하지 않기

 

5장. 뷰 컨트롤러

- 뷰 컨트롤러의 뷰

- 초기 뷰 컨트롤러 설정하기

- UITabBarController

- 로드된 뷰와 뷰 나타내기

- 뷰 컨트롤러와 뷰 간의 상호 작용

- 은메달 과제: 다크 모드

- 심화 학습: 레티나 디스플레이

 

6장. 프로그래밍으로 뷰 만들기

- 프로그래밍으로 뷰 만들기

- 프로그래밍으로 제약 조건 만들기

- 프로그래밍으로 컨트롤 만들기

- 동메달 과제: 추가 탭

- 은메달 과제: 사용자 위치

- 금메달 과제: 핀 놓기

- 심화 학습: NSAutoresizingMaskLayoutConstraint

 

7장. 지역화

- 국제화

- 지역화

- 동메달 과제: 다른 언어로 지역화

- 심화 학습: 국제화에서 NSBundle의 역할

- 심화 학습: XLIFF 임포트와 익스포트

 

8장. 애니메이션 제어

- 기본 애니메이션

- 추가 라벨

- 애니메이션 완료

- 애니메이션 제약 조건

- 타이밍 함수

- 동메달 과제: 스프링 애니메이션

- 은메달 과제: 레이아웃 가이드

 

9장. UITableView와 UITableViewController

- Homepwner 앱 시작하기

- UITableViewController

- 물품 클래스 만들기

- UITableView의 데이터 소스

- UITableViewCell

- 컨텐트 인셋

- 동메달 과제: 멀티 섹션

- 은메달 과제: 고정 행

- 금메달 과제: 테이블 커스터마이징

 

10장. UITableView 편집하기

- 편집 모드

- 행 추가하기

- 행 삭제하기

- 행 이동하기

- 사용자 알림창 표시하기

- 디자인 패턴

- 동메달 과제: Delete 버튼 이름 변경하기

- 은메달 과제: 재정렬 막기

- 금메달 과제: 재정렬 완전히 막기

 

11장. UITableViewCell 하위 클래스 만들기

- ItemCell 만들기

- ItemCell 프로퍼티 공개하기

- ItemCell 사용하기

- 동적 셀 높이

- 유동적 글자

- 동메달 과제: 셀 색상

 

12장. 스택 뷰

- UIStackView 사용하기

- 세그웨이

- 내용 연결하기

- 데이터 전달하기

- 동메달 과제: 추가 스택 뷰

 

13장. UINavigationController

- UINavigationController

- UINavigationController로 내비게이션하기

- 뷰 나타내기와 숨기기

- 키보드 숨기기

- UINavigationBar

- 동메달 과제: 숫자 패드 표시하기

- 은메달 과제: UIextField 사용자화

- 금메달 과제: 더 많은 뷰 컨트롤러 푸시하기

 

14장. 카메라

- 이미지 표시하기와 UIImageView

- 사진 찍기와 UIImagePickerController

- ImageStore 만들기

- 뷰 컨트롤러에 이미지 저장소 접근 권한 주기

- 키 만들고 사용하기

- ImageStore 마무리하기

- 동메달 과제: 이미지 편집하기

- 은메달 과제: 이미지 지우기

- 금메달 과제: 카메라 오버레이

- 심화 학습: 구현 파일 내비게이션

 

15장. 저장하기, 불러오기, 앱 상태

- 아카이빙

- 애플리케이션 샌드박스

- NSKeyedArchiver와 NSKeyedUnarchiver

- 애플리케이션 상태와 전이

- NSData를 파일시스템에 쓰기

- 오류 처리

- 동메달 과제: PNG

- 심화 학습: 애플리케이션 상태 전이

- 심화 학습: 파일시스템에서 읽고 쓰기

- 심화 학습: 애플리케이션 번들

 

16장. 사이즈 클래스

- 또 다른 사이즈 클래스

- 동메달 과제: 텍스트 필드와 라벨 스택

 

17장. 터치 이벤트와 UIResponder

- 터치 이벤트

- TouchTracker 앱 만들기

- Line 구조체 만들기

- DrawView 만들기

- DrawView로 그리기

- 터치를 선으로 변환하기

- @IBInspectable

- 은메달 과제: 색상

- 금메달 과제: 원

- 심화 학습: 리스폰더 체인

- 심화 학습: UIControl

 

18장. UIGestureRecognizer와 UIMenuController

- UIGestureRecognizer 하위 클래스

- UITapGestureRecognizer로 탭 인식하기

- 멀티 제스처 인식기

- UIMenuController

- 그 밖의 제스처 인식기

- UIGestureRecognizer의 세부 사항

- 은메달 과제: 미스터리한 선

- 금메달 과제: 속도와 크기

- 플래티넘 과제: 색상

- 심화 학습: UIMenuController와 UIResponderStan dardEditActions

 

19장. Web Services

- Photorama 앱 시작하기

- URL 만들기

- URL 요청 보내기

- Photo 모델링하기

- JSON 데이터

- 이미지 데이터 내려받기와 표시하기

- 메인 스레드

- 동메달 과제: 응답 정보 출력하기

- 심화 학습: HTTP

 

20장. 컬렉션 뷰

- 격자 표시하기

- 컬렉션 뷰 데이터 소스

- 레이아웃 커스터마이징

- 커스텀 UICollectionViewCell 만들기

- 이미지 데이터 내려받기

- 사진으로 이동하기

- 은메달 과제: 항목 크기 갱신

- 금메달 과제: 커스텀 레이아웃 만들기

 

21장. 코어 데이터

- 객체 그래프

- 엔티티

- 코어 데이터 스택 만들기

- 항목 갱신하기

- 데이터 소스 갱신하기

- 이미지를 디스크에 저장하기

- 동메달 과제: 사진 뷰 카운트

 

22장. 코어 데이터 관계

- 관계

- 인터페이스에 태그 추가하기

- 부모-자식 컨텍스트

- 은메달 과제: 선호하는 사진

 

23장. 후기

- 다음에 할 일

- 저자들에 대하여

 

 

출판사 리뷰

 

『아론 힐리가스의 iOS 프로그래밍, 5판』은 iOS 프로그래밍의 필수 개념을 가르쳐준다. 동시에 많은 코드를 입력하고 많은 응용프로그램을 만들게 도와주는데, 이 책을 마칠 때면 독자들은 많은 지식과 경험을 얻게 될 것이다. 저자들은 독자들에게 모든 지식을 먼저 가르치는 방식은 좋지 않다고 이야기한다(이 책은 이론 지식을 먼저 가르쳐주는 방식으로 설명하지 않는다). 대신 실습을 통해 배우는 방식을 택해서 독자들이 개발 이론과 실제 코딩을 함께할 수 있도록 도와준다.

 

각 장은 iOS 개발에 대한 하나 이상의 개념을 설명하고 실습을 하도록 구성되어 있다. 코딩 실습이 더 필요한 경우를 위해 도전 과제를 포함하고 있으니, 최소한 몇 가지는 도전해보길 바란다. 이 과제들은 각 장에서 배운 개념을 더 견고하게 해주며 iOS 프로그래머로서의 자신감을 북돋아 준다. 마지막으로 각 장에 포함된 "심화 학습" 절은 이전에 소개한 개념을 활용할 방법을 설명한다.

 

참고로, 그 전 판들과 달리 이 책의 모든 코드는 Swift다. 그러므로 앞 장에서는 새로운 언어를 익히는 데 집중하고 있다. 더 나은 iOS 앱을 만들기 위한 Swift의 능력과 기능을 사용하는 법을 책 전반에 걸쳐 볼 수 있을 것이다.

 

이 책을 읽어야 할 독자

 

iOS 앱 개발을 처음 시작하는 모바일 개발자들에게 이 책을 추천하고자 한다. 이 책은 최신 iOS 버전과 Swift 언어에 대한 기본 개념과 필수 요소들을 이해하기 쉽게 설명하고 있다. 또 iOS 앱 기초 강의를 위한 교재로도 적합한 책이다. 저자들은 Big Nerd Ranch라는 교육 기관에서 강의한 내용을 토대로 책을 집필했는데, 다년간의 교육 내용을 바탕으로 쓰여졌기 때문에 강의 교재로 사용하기에 적합하게 구성되어 있다.

신고
Trackback 0 | Comments 3

퍼블릭's Blog is powered by Daum & tistory