책소개
과거에는 데스크톱이 웹 환경을 지배했다면 미래는 모바일 디바이스의 세상이 될 것이다. 모바일 디바이스는 제한된 메모리와 느린 CPU를 가지고 있기 때문에 네트워크 속도 또한 느립니다. 하지만 가장 중요한 것은 모든 모바일 디바이스가 터치 인터페이스를 가지고 있다는 점이다. 모바일 환경에 맞게 개발한다는 것은 터치 인터페이스를 개발하는 것이라고 할 수 있다. 데스크톱 환경에서 사용되었던 기술들이 모바일 웹에서도 대부분 사용되지만 일부는 완전히 새로운 부분이다. 그리고 그런 부분들에 대한 올바른 정보를 얻기가 쉽지 않다.
이 책은 사용자가 빠르다고 인식할 수 있는 터치 인터페이스를 만드는 데 초점을 두고 있다. 웹사이트의 최적화 접근법에 방향을 두고 구성되어 있으며 전반부는 모바일 사이트를 기준으로 웹사이트의 속도를 더욱 높이는 데 필요한 기본적인 내용을 중심으로 설명하며. 책 후반부는 터치 인터페이스에 관련된 내용을 다루며, 사용자가 최대한 빠르고 유연하게 느낄 수 있도록 개발하는 데 중점을 두고 설명하고 있다.
목차
Part 01 모바일 환경
SECTION 01 터치 디바이스와 데스크톱의 차이점
SECTION 02 널리 사용되는 디바이스
SECTION 03 HTML5
SECTION 04 언캐니 밸리(Uncanny Valley) : 무엇이 터치 인터페이스의 반응성을 증가시키는가?
Part 02 간단한 콘텐츠 사이트 작성
SECTION 01 철학을 결정하자: 모바일 먼저 혹은 나중에?
SECTION 02 마크업 생성
SECTION 03 기초 작업:〈HEAD〉
SECTION 04 viewport에 대한 이해
SECTION 05 반응형(RESPONSIVE) CSS
Part 03 최초 로딩 속도 향상
SECTION 01 브라우저가 페이지를 로딩하는 방법
SECTION 02 페이지가 느린 이유
SECTION 03 YSLOW와 PAGESPEED를 이용한 속도 향상
SECTION 04 일반적인 문제 해결
SECTION 05 진행 결과 확인
Part 04 두 번째 방문 시 속도 향상
SECTION 01 HTTP 내에서의 캐싱
SECTION 02 모바일에서의 최적화
SECTION 03 웹 저장소 사용
SECTION 04 애플리케이션 캐시
Part 05 PJAX를 이용한 터치 효과 향상
SECTION 01 페이지 로드 비용
SECTION 02 브라우저 히스토리 API
SECTION 03 PJAX 추가
Part 06 탭 vs 클릭: 기본적인 이벤트 다루기
SECTION 01 무엇이 탭을 다르게 만드는가?
SECTION 02 터치 이벤트 소개
SECTION 03 탭 조작하기
Part 07 CSS 트랜지션, 애니메이션, 그리고 트랜스폼
SECTION 01 애니메이션 엘리먼트
SECTION 02 CSS 트랜스폼
Part 08 자바스크립트 성능 최대화하기
SECTION 01 성능 테스트와 디버깅
SECTION 02 쓰기 전용 DOM
SECTION 03 사용자 피드백 우선순위 정하기
SECTION 04 지금까지 언급된 방법을 모두 활용 : 무한 스크롤(Infinite scroll)
Part 09 기본적인 제스처
SECTION 01 왜 제스처인가?
SECTION 02 점진적으로 강화되는 터치 컨트롤러 만들기
SECTION 03 터치 라이트박스 만들기
Part 10 스크롤링과 스와이프
SECTION 01 스크롤링
SECTION 02 레이아웃 틀어짐
SECTION 03 새 브라우저에 스와이핑(swiping) 기능 추가하기
Part 11 핀칭(Pinching)과 다른 복잡한 제스처
SECTION 01 멀티터치 지원에 대해 이해하기
SECTION 02 멀티터치 다루기
SECTION 03 핀치 다루기
부록
A 디버깅 도구들
B 모바일 프레임워크
C 모바일 웹 애플리케이션 개발