The Gourmet iOS Developer’s Cookbook 한국어판 [차별화된 앱 개발을 위한 고급 테크닉 가이드]
- 원서명The Gourmet iOS Developer's Cookbook: Even More Recipes for Better iOS App Development (ISBN 9780134086224)
- 지은이에리카 세든(Erica Sadun)
- 옮긴이조경빈
- ISBN : 9788960777897
- 30,000원
- 2015년 11월 26일 펴냄 (절판)
- 페이퍼백 | 332쪽 | 188*250mm
- 시리즈 : 모바일 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
이 책의 예제는 저자의 깃허브(https://github.com/erica/iOS-Gourmet-Cookbook)에서 내려받을 수 있습니다.
요약
이 책은 베스트셀러인 iOS Developer's Cookbook 시리즈의 마지막 편으로, 이전 시리즈에서 깊이 있게 다루지 못했던 다양한 주제를 멋지게 풀어내고 있다. 기존의 iOS 개발 서적에서 좀처럼 만나보기 어려운 깊이 있는 주제를 완전한 통합 솔루션 형태로 제공하므로 기존의 코드를 개선하거나 새로운 아이디어를 적용하는 데 필요한 해결 방법을 제시한다.
이 책에서 다루는 내용
AVFoundation을 사용한 고급 스피치 생성과 바코드 인식 기능 제공
사용자의 선호와 기대에 기반하여 텍스트 프리젠테이션을 자동으로 갱신하는 방법
UIKit과 텍스트 킷을 사용하여 풍부하고 유연하게 텍스트를 표현하는 방법
iOS 화면과 다른 대상 간에 자연스러운 텍스트 디자인 마이그레이션
HTML로부터 속성을 가진 텍스트 문자열 생성
재미있는 애니메이션과 인터랙션을 구현하기 위한 실 세계 물리 연동
동적 애니메이터 사용과 관련한 문제점 극복 및 이를 사용한 인터페이스 개선
개선된 사용자 알림과 팝오버를 사용하여 더 나은 시각적 효과 만들기
이 책의 구성
1장, 미디어
지난 몇 년 동안 진화를 거친 AVFoundation에 대해 살펴보고 개발 중인 애플리케이션에 어떻게 적용할 수 있는지 살펴본다. 스피치 생성, 바코드 인식(다양한 스타일의 바코드를 인식하는 방법), AVFoundation 무비를 만들 때 최신 언어 기능을 적용하는 방법 등을 살펴본다.
2장, 다이나믹 타이포그라피
iOS가 제공하는 정교한 인터페이스는 초기에는 버튼과 바를 강조했으나 최근에는 텍스트의 역할을 좀 더 강조하고 있으며 UI 디자인의 핵심적인 역할을 맡고 있다. 2장에서는 텍스트를 자동으로 업데이트하여 유저의 선호와 기대에 맞추는 방법을 살펴보고 이와 관련한 핵심 주제를 다룰 예정이다.
3장, 텍스트 킷
유연한 텍스트 처리는 iOS 개발에 있어 가장 흥미로우면서도 많은 발전이 진행 중인 주제 중 하나다. 새로운 iOS 버전이 발표될 때마다 관련 API의 개선과 확장이 진행됐다. 대부분의 UIKit 인터페이스 클래스는 이제 리치 텍스트 기능을 지원하고 있다. 가장 최근에 배포된 iOS는 레이아웃 클래스 묶음을 추가로 지원하며, 유연한 표현을 만들기 위한 고급 타입과 프레임 설정을 지속적으로 추가하고 있다.
4장, 속성 문자열과 도큐먼트 컨테이너
지난 몇 년간 속성을 가진 문자열의 기능이 크게 발전하여 이제는 HTML과 RTF 리치 텍스트 문서까지 지원한다. 속성을 가진 문자열은 주위 분위기에 자연스럽게 어울리는 텍스트 표현을 지원한다. 텍스트 디자인은 iOS 화면에 잘 어울리도록 최적화가 되었으며 다른 곳에도 확장되고 있다. 4장에서는 이런 확장 가능성에 대해서도 다룰 예정이다.
5장, 애니메이션
지난 몇 년 동안 진행된 기술적 진보 중 iOS 애니메이션은 새로운 API의 지원과 함께 가장 큰 발전을 이뤘다. 새로운 동적 스타일 기능을 사용하면 현실 세계의 물리법칙을 연동하여 좀 더 흥미로운 형태의 표현과 상호작용이 가능해진다. 5장에서는 본격적으로 애니메이션 기능에 대해 설명하며 이와 더불어 추가된 상당한 수준의 업데이트에 대한 소개도 진행할 예정이다.
6장, 동적 애니메이터
동적 애니메이터는 iOS의 기능 중 가장 흥미로운 요소 중 하나다. 물리 법칙에 기반하는 뷰의 동작은 생동감있고 재미있는 인터페이스를 만들어낸다. 다만, 다소 다루기에 까다롭다는 문제가 있는데 어떻게 하면 비교적 쉽게 개발 중인 앱에 이 기능과 관련한 클래스들을 연동하는지 설명할 예정이다.
7장, 프리젠테이션
iOS 최신 버전에서 사용자 알림 기능은 완전히 새롭게 변경됐고, 팝오버는 이제 어디에서든 사용 가능하다. 모달(modal) 인터랙션으로 컨텐츠를 오버레이할 때 최고의 비주얼 효과를 제공하기 위한 특수 효과도 제공된다. 7장은 이런 최신 기법을 빠르게 익히도록 도와준다.
8장, 형태 마술
직사각형을 벗어난 뷰는 식상함을 덜어주고 재미 요소를 담을 기회를 제공한다. 예를 들면, 뒤에서 후광이 은은히 비치는 애니메이션을 제공하여 관심을 끌 수도 있다. 또는, 버튼 배치에 최적화된 형태를 사용하여 시각적 통일성을 극대화할 수도 있다. 8장은 개발 중인 앱의 사용자 인터페이스에 생기를 불어넣는 형태와 관련한 다양한 고급 기술을 다룬다.
9장, 적응형 배포
iOS를 사용하는 기기의 계열이 다양해짐에 따라 자동으로 모든 화면 방향과 크기에 맞춰야 하는 요구사항이 생겼다. 비록 iOS가 안드로이드 진영처럼 심하게 나누어지진 않았지만, 공용 배포를 위해서는 다양한 설정이 필요해졌다. 진정한 적응형 앱은 화면 크기에 따라 자연스럽게 최선의 형태로 인터페이스를 재배치하는 구조를 가진다. 9장에서는 이런 기술과 관련한 기본 지식과 더불어 구현에 필요한 API를 함께 설명한다.
10장, 개발 도우미
가끔은 개발 과정에서 필요한 메소드나 함수, 기술을 준비하고 프로젝트를 진행하면 도움이 될 때가 많다. 10장에서 제공하는 솔루션은 앱을 빌드할 때 도움이 되며, 개발 중인 앱 자체에 더 집중할 수 있게 도와준다.
11장, 스위프트 맛보기
애플은 2014년 WWDC 키노트에서 스위프트(Swift)라는 프로그래밍 언어를 소개했는데, 성능이 개선된 타입 안전성(type-safe)을 갖는 최신의 프로그래밍 언어다. 최근에 주목받는 다양한 개발 기법을 포함하고 있으며 언어와 툴셋에 지속적인 개선되고 있다. 11장에서는 스위프트를 사용한 개발의 핵심 내용을 간단히 살펴 볼 예정이다. 언어에 대한 구체적인 내용을 다루진 않겠지만, 스위프트를 제대로 사용하기 위해 iOS 개발자로서 알고 있어야 하는 기본적인 개념을 전달할 예정이다.
목차
목차
- 1장. 미디어
- 스피치
- 다른 선택사항
- 델리게이트 콜백
- 받아쓰기
- 바코드 생성
- 필터 파라미터
- 코드 작성
- 바코드 읽기
- 메타데이터 오브젝트 목록
- 메타데이터 응답 처리
- 경계 검출
- 인식률 개선
- 얼굴 인식
- AVFoundation Movies 제작
- Pixel Buffer 생성
- Pixel Buffer에 그리기
- 표현있는 그리기
- 프레임으로부터 무비 만들기
- 무비에 이미지 추가
- 정리
- 스피치
- 2장. 동적 타이포그라피
- 타입 크기와 사용자 요구
- 동적 타입 동작 방식
- 타입 업데이트 수신
- 속성을 가진 동적 타입 처리
- 텍스트 스타일 범위 검색
- 텍스트 스타일 범위 적용
- 속성을 가진 동적 엘리먼트
- 커스텀 폰트 페이스
- 동적 텍스트 뷰
- 커스텀 크기 변경
- 폰트 설명자
- 설명자 관련 문제
- 다양한 변형을 가진 폰트
- 폰트 수정을 위해 문자열 속성 사용하기
- 동적 타입 문제
- 정리
- 타입 크기와 사용자 요구
- 3장. 텍스트 킷
- 복잡한 텍스트 레이아웃 생성
- 글리프
- 텍스트 스토리지
- 레이아웃 매니저
- 텍스트 컨테이너
- 적응형 흐름
- 인셋
- 제외 경로
- 경계 사각형
- 텍스트 킷을 이용해 라벨에 터치 기능 추가
- 텍스트 킷 구성
- 동기화
- 좌표계 변환
- 글리프와 캐릭터
- 링크 검사
- 비주얼 피드백 추가
- 드래그 가능한 제외 영역
- 텍스트 킷으로 PDF 만들기
- 텍스트 뷰 데이터 출력
- PDF 데이터 출력
- 정리
- 4장. 속성 문자열과 도큐먼트 컨테이너
- 클래스 개선
- 문서 첨부
- HTML로 속성 문자열 만들기
- 도큐먼트 타입 딕셔너리
- HTML 원본을 속성 문자열로 변환
- 속성 문자열을 도큐먼트 표현으로 변환
- 속성 문자열로 HTML 생성
- 마크업 초기화
- RTF와 RTFD
- RTFD 콘테이너
- 파일로부터 속성 문자열 초기화
- RTFD Text를 Data로 변환
- 데이터로부터 RTFD 콘테이너 작성
- 속성 검사
- 도큐먼트 속성 설정
- 속성 문자열 개선
- 새로운 속성을 가진 사본 반환
- 속성 조정
- 뮤터블 속성 문자열 확장
- 텍스트 범위
- 위치 계산
- 위치 기하학
- 선택 지점 갱신
- 하드웨어 키 지원
- 정리
- 클래스 개선
- 5장. 애니메이션
- 키프레임 애니메이션
- 키프레임으로 물리 구성
- 블로킹 애니메이터
- UIKit 스프링 기반 애니메이션
- 스프링 애니메이션의 실전 활용
- 시스템 애니메이션
- 모션 이펙트
- 평면 구성
- 쉐도우 이펙트
- 커스텀 전환 애니메이션
- 델리게이션
- 전환 오브젝트 구성
- 묵시적 애니메이션
- 애니메이션이 준비된 레이어 구성
- Building a View Around a Layer
- 타이밍
- 애니메이션 조화
- 묵시적 완료 블록 구성
- 커스텀 프로퍼티 애니메이션 처리
- 업데이트 가로채기
- 속성 그리기
- 정리
- 6장. 동적 애니메이터
- 물리 기반 행동
- 역학 구성
- 일시정지 감지
- 프레임-감시 동적 행동 생성
- 스냅 영역 구현
- 실세계 물리 활용
- 기기 가속에 중력 행동 연결
- 경계 생성
- 뷰 다이나믹 개선
- 커스텀 행동
- 커스텀 동적 아이템 생성
- 동적 행동 서버팅(Subverting)
- 더 나은 커스텀 동적 행동
- 커스텀 보조 행동
- 컬렉션 뷰와 동적 애니메이터
- 커스텀 플로우 레이아웃
- 레이아웃 속성 반환
- 행동 업데이트
- 동적 알림 뷰 구성
- 젤리 활용
- 뷰 그리기
- 젤리 배포
- 정리
- 물리 기반 행동
- 7장. 프리젠테이션
- 알림
- 지원 중단 클래스
- 알림 구성
- 알림 버튼 활성화와 비활성화
- 텍스트 필드 추가
- 마스크 뷰
- 모양 레이어 마스킹
- 마스크 뷰 구성
- 이펙트 뷰 구성
- 블러 효과 구성
- 바이브런시 효과 추가
- 이펙트 뷰 애니메이션 처리
- 팝오버 구성
- 버블 지원
- 팝오버 표현
- 정리
- 알림
- 8장. 모양 마법
- 뷰 모양내기
- 다양한 도형으로 확장
- 베지어 곡선 크기 조절
- 베지어 기반의 도형 이미지 뷰 구성
- 열린 도형 처리
- 도형 뷰에 테두리 추가
- 모양을 낸 버튼 구성
- 모양을 낸 뷰에 관심을 끄는 애니메이션 적용
- 정리
- 뷰 모양내기
- 9장. 적응형 배포
- 특성
- 특성 프로퍼티
- 특성 정의
- 특성 컬렉션 조합
- 특성을 위한 설계
- UIScreen 프로퍼티
- 좌표 공간
- 애플리케이션 프레임
- 스크린 경계
- 스케일
- 회전
- 사이즈 클래스와 에셋
- 기본 배포
- UIKit과 이미지 뷰
- UIImageAsset 클래스
- PDF로 이미지 구성
- 특성 컬렉션 오버라이딩
- 아이폰 스플릿 뷰 구성
- iOS 8 스플릿 컨트롤러 관련 추가사항
- 정리
- 특성
- 10장. 개발 도우미
- 로렘에 대한 모든 것
- 플레이스홀더 텍스트
- 이미지 입섬
- 랜덤 유저 데이터 생성
- 대량 이름
- 랜덤 피드 생성
- 임의의 모든 것
- 지시자
- 주석을 경고로 변환
- 경고
- 시물레이터 테스팅
- 에러
- 포함 테스팅
- 메시지
- 프라그마 감싸기
- 진단 오버라이딩
- 미사용 변수 경고
- Non-null과 Nullable 아이템 표시
- 개발자 트윅
- 시물레이터에서 파일 저장
- 로그 강화
- 정리
- 로렘에 대한 모든 것
- 11장. 스위프트 맛보기
- 스위프트와 오브젝티브-C의 비교
- 스위프트로 하는 iOS 앱 구축
- 옵셔널(Optionals)
- 유추 타입
- 옵셔널 열거형
- 옵셔널 벗기기
- 논-옵셔널에 값 할당
- 코코아 터치 패턴
- 하이브리드 언어 개발
- 스위프트에서 오브젝티브-C 호출
- 오브젝티브-C에서 스위프트 호출
- 오브젝티브-C를 위한 스위프트 준비
- 클래스 상속
- 기본 구성
- 관찰 프로그레스
- 스위프트 배우기
- 정리