Top

개발자도 알아야 할 안드로이드 UI 디자인 [효과적인 사용자 경험을 위한 안드로이드 앱 UI 디자인]

  • 원서명Android UI Design (ISBN 9781785887420)
  • 지은이제시카 쏜비(Jessica Thornsby)
  • 옮긴이양정열, 이지은
  • ISBN : 9791161750071
  • 30,000원
  • 2017년 06월 26일 펴냄
  • 페이퍼백 | 444쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.

요약

안드로이드 UI 디자인의 기초부터 구글의 디자인 가이드라인인 구글 머티리얼 디자인을 활용한 디자인 방법과 아이디어를 구체화하기 위한 도구와 기법, 모범 사례까지 UI 디자인을 위한 모든 것을 다룬다. UI 디자인에 반드시 필요한 내용부터 경험을 통해서만 알 수 있는 내용까지 다뤄 다양한 스팩트럼의 디자이너와 개발자에게 도움을 줄 수 있는 내용으로 구성돼 있다.

이 책에서 다루는 내용

■ 핵심 머티리얼 디자인 규칙을 준수하는 사용자 인터페이스 개발
■ 초기 앱 아이디어를 구체적이고 상세한 계획으로 변환
■ 안드로이드 프로젝트에 뷰, 뷰그룹, 레이아웃, 그리고 일반적인 UI 컴포넌트 추가
■ 프레그먼트와 다양한 전략을 사용해 사용자의 입력 수집
■ 새로운 안드로이드 스튜디오 프로젝트를 생성하고 프로토타입으로 개발
■ 더 나은 사용자 경험을 위해 앱 UI의 문제를 확인하고 해결
■ 멀티윈도우 모드와 직접 응답할 수 있는 알림 등 안드로이드 N에서 제공되는 새로운 UI 기능 대처

이 책의 대상 독자

사용자를 확보하고 그들에게 훌륭한 사용자 경험을 제공하고자 하며, 애플리케이션의 안드로이드 UI에 관심이 많은 자바 개발자를 위한 책이다. XML과 일부 안드로이드 개발 관련 기초 지식이 있다고 가정한다.

이 책의 구성

1장. ‘안드로이드 UI 소개’에서는 앱의 성공을 위해 효과적인 UI 디자인과 개발이 중요한 이유를 설명한다.
2장. ‘효과적인 UI가 되려면 무엇이 필요할까?’에서는 모든 안드로이드의 구성 요소인 레이아웃과 뷰 제작 방법을 알아본다. 텍스트와 이미지, 버튼 등 일반적인 UI 컴포넌트를 만들고 꾸미는 방법을 학습한다.
3장. ‘UI 더 알아보기 - 프레그먼트, 리소스, 사용자 입력’에서는 배열과 크기, 상태 목록, 나인패치 이미지 등을 사용해 UI를 한 단계 끌어올린다. 프레그먼트를 사용해 사용자의 특정 화면 크기에 반응하는 유연한 UI를 만드는 방법을 배울 것이다.
4장. ‘머티리얼 디자인 시작하기’에서는 구글의 새 디자인 표준을 익히고 안드로이드 운영체제의 확장처럼 느껴지는 UI를 통해 사용자를 만족시키는 방법을 배운다.
5장. ‘번뜩이는 아이디어를 상세 스케치로 바꾸기’에서는 디자인을 고려하는 개발자가 될 수 있도록 안드로이드 앱 “To Do” 목록에 맞는 로드맵과 플로차트, 화면 목록, 화면 지도를 소개한다.
6장. ‘스케치를 와이어프레임으로 바꾸기’에서는 앞 장의 프로토타입과 와이어프레임을 사용해 높은 수준의 기획을 상세한 화면으로 설계하는 방법을 살펴본다.
7장. ‘프로토타입 만들기’에서는 기획안을 확인해보자! 마지막에는 완벽한 디지털 프로토타입을 만들 것이다.
8장. ‘다양한 기기 지원으로 더 많은 사용자에게 다가가기’에서는 다양한 종류의 하드웨어와 소프트웨어, 화면 크기, 화면 밀도, 방향, 안드로이드 플랫폼 버전, 다양한 언어를 지원해 폭넓은 앱 사용자를 끌어들이는 방법을 배운다.
9장. ‘UI 최적화하기’에서는 사람들이 사용하기 좋게 부드럽고 반응성이 좋은 UI를 만드는 방법을 살펴본다. 앱이 눈에 거슬리거나 쉽게 다운되거나 또는 데이터와 메모리 낭비가 심하거나 배터리가 빨리 닳는다면 아무도 사용하지 않을 것이다.
10장. ‘모범 사례와 애플리케이션 보안’에서는 곧 나올 Android N에서의 알림의 사용과 UI의 마무리 작업에 대해 안내한다.

저자/역자 소개

지은이의 말

UI는 사용자와 소통하는 가장 직접적인 매개체지만, 디자인은 앱 개발에서 너무 자주 뒷전으로 밀리거나 도중에 “그냥 생기는” 무언가로 여겨진다. 훌륭한 앱을 개발하기 위해서는 UI 디자인을 진지하게 받아들여야 한다. 앱의 기능이 훌륭하더라도 사용자 인터페이스가 투박하거나 반응이 느리고 이동하기 어려우며 눈에 거슬린다면 아무도 이를 사용하고 싶지 않을 것이다.
안드로이드는 디자인하기 쉬운 플랫폼은 아니다. 다양한 하드웨어, 소프트웨어, 스크린의 조합으로 이루어진 많은 종류의 기기 모두에서 보기 좋은 앱을 생성하는 것은 상당한 노력이 필요하다. 하지만 디자인 과정을 주의 깊게 고려한다면 전체 안드로이드 생태계에서 훌륭한 사용자 경험을 제공하는 UI를 만들 수 있다.
이 책은 디자인을 고려하는 개발자가 되도록 도움을 줄 것이다. 10장에 걸쳐 사람들이 사용하고 싶어하고 기기의 특성과 상관없이 좋은 사용자 경험을 제공할 효과적이고 매력적인 UI를 디자인하고 개선하며, 테스트하고 개발하는 방법을 배울 것이다.
레이아웃과 뷰의 기본부터 반응형 멀티팬 레이아웃 생성까지, 그리고 화면 스케치부터 안드로이드 스튜디오의 도구를 사용해 뷰의 계층을 상세화하고 메모리 누수를 찾는 방법까지 완벽한 안드로이드 UI를 만들기 위해 필요한 모든 것을 다룰 것이다.

지은이 소개

제시카 쏜비(Jessica Thornsby)

오픈소스와 기술 작가의 세상을 발견하기 전에는 볼튼 대학에서 시와 산문, 시나리오를 공부했지만, 진로를 바꾼 지금 후회는 없다. 현재 영국 셰필드에 거주하고 있으며 안드로이드를 열정적으로 지지한다.
모바일 기기와 자바, 이클립스, 안드로이드, 그리고 구글에 대해 소개하는 글을 즐겨 쓴다. 또한 『iWork: The Missing Manual』(O’Reilly, 2014)의 공동 저자기도 하다.
최신 안드로이드 개발에 대해 고민하거나 기술적인 글을 쓰지 않을 때는 블로그에 지역 음식에 대한 글이나 이국적인 애완동물에 대한 글을 쓴다. 드물게는 야외 정원, 카레 하우스, 영국 해변, 공포 영화를 즐기고 집토끼, 친칠라와 시간을 보낸다.

옮긴이의 말

UI의 중요성은 아무리 강조해도 지나침이 없다. 최초의 UI는 텍스트 위주의 환경을 GUI로 바꿔 사용자가 편리하게 사용할 수 있게 만들고자 하는 고민에서 시작됐다. 운영체제의 GUI를 거쳐 모바일 단말에 이르기까지 UI가 없는 기기는 찾아보기 힘들 정도로 많은 발전을 거듭해 왔고, UI는 모든 제품의 핵심 경쟁 요소로 부상됐다.
과거의 UI는 사용자의 편의성을 제공하는 데 관심이 집중됐으나, 현재의 UI는 프로젝트를 진행하는 과정의 각 단계마다 기획자와 디자이너를 연결해주고, 디자이너와 개발자, 개발자와 테스터 간의 소통을 원활하게 만들어주는 도구로써의 의미가 더욱 커졌다. 최종 인도물에서는 소비자가 생산자의 생각을 이해하고 교감할 수 있도록 하는 등 반드시 필요한 의사소통의 도구로 활용되고 있다.
이 책에서는 프로젝트의 각 과정을 진행하면서 좀 더 자연스럽고 정교한 안드로이드 UI 디자인을 만들어내는 데 활용할 수 있는 디자인 도구와 기법을 소개한다. 가장 핵심 부분인 구글 머티리얼 디자인을 준수해 사용자 인터페이스를 만드는 방법과 아이디어를 구체화하는 데 필요한 기법 소개 및 이를 활용하는 방법, 아이디어를 실체화하는 과정에서 발생하는 다양한 문제를 해결해 더 많은 사용자의 관심을 얻는 방법과 모범 사례를 소개하고 있다.
다루는 내용 대부분이 안드로이드 UI 설계와 구현에 초점을 두고 있지만 그 외의 기기나 UI 개발에서도 참고할 수 있는 부분이 많으므로, 반드시 안드로이드 UI와 관련이 있는 기획자나 개발자가 아니더라도 UI에 관심이 있는 독자라면 더 나은 아이디어를 얻기 위해 읽어보는 것도 좋겠다.

옮긴이 소개

양정열

국내 Telco SI/SM Software 개발자로 시작해 현재는 Project Manager로 일하고 있으며, 독립 IT 기술자 저술 강연 상호부조 네트워크인 GoDev의 멤버다.

이지은

웹페이지 개발에 대한 관심으로 컴퓨터 공학을 전공하고, 피처폰용 모바일 브라우저 개발을 시작으로 개발자의 세계에 발을 내딛었다. 이후 안드로이드 앱 개발 프로젝트에 참여했으며, 모바일 앱 및 웹 기술에 관심이 많다. GoDev의 멤버로 활동하고 있다.

목차

목차
  • 1장. 안드로이드 UI 소개
    • 사용자 인터페이스란?
    • 안드로이드용 UI 개발은 다른 플랫폼 개발과 정말 다를까?
    • 효과적인 UI의 특징은 무엇일까?
    • 앱의 성공을 위해 왜 UI가 필수적일까?
      • 직관적인 익숙함
      • 쉽고 즐거운 사용
      • 일관성
      • 사용자의 불만 예방
      • 사용자가 실수를 바로잡을 수 있도록 지원
      • 전반적으로 더 좋은 안드로이드 사용자 경험 제공
    • UI 사례 학습 - Google+
      • 액션 바
      • 떠다니는 액션 버튼
      • 메뉴
      • 설정
      • 다이얼로그
      • 토스트
      • 검색
      • 입력 컨트롤
      • 스타일과 테마
    • 요약

  • 2장. 효과적인 UI에는 무엇이 필요할까?
    • 뷰란?
    • 레이아웃이란?
    • XML이나 Java로 UI 생성
      • XML로 UI 선언
      • 프로그램 코드로 UI 선언
      • 프로그램 코드와 XML 레이아웃 혼용
    • 레이아웃
      • 레이아웃 크기 정의
    • 다양한 레이아웃
      • LinearLayout의 모든 것
      • RelativeLayout의 모든 것
    • 뷰 생성
      • 아이디 속성 할당
      • 뷰 크기 설정
      • 안드로이드 그라비티와 레이아웃 그라비티
      • 색상과 배경 설정
      • 가중치 설정
    • 뷰 객체 추가 및 커스터마이징
      • 텍스트뷰
    • 에디트텍스트
      • 키보드 동작 제어-inputType 설정
      • android:imeOptions
      • 사용자 힌트
    • 이미지뷰
      • 멀티스크린 지원
      • 이미지뷰 추가
    • 버튼과 이미지버튼
      • 텍스트 라벨 버튼 생성
      • 이미지 라벨 버튼 생성
      • 텍스트와 이미지 라벨 버튼 생성
    • 상태 목록 리소스
    • 요약

  • 3장. UI 더 알아보기 - 프레그먼트, 리소스, 사용자 입력
    • 그 외의 리소스 종류
      • 문자열 리소스 생성 및 스타일 적용
      • 문자열 배열 생성
      • dimens
      • 색상 상태 목록
    • 나인패치 이미지 작업
      • 나인패치 이미지를 어떻게 만들까?
    • 사용자 입력 등록
      • 클릭 이벤트 처리
      • 에디트텍스트 입력 등록
    • 프레그먼트 작업
      • 왜 프레그먼트가 필요할까?
      • 프레그먼트 생명주기
      • 프레그먼트 생성
    • 실시간으로 액티비티에 프레그먼트 추가
    • 안드로이드 N의 멀티윈도우 지원
      • 멀티윈도우 모드는 어떻게 동작하나?
      • 멀티윈도우 모드를 위한 앱 준비
      • 픽처 바이 픽처 모드
    • 요약

  • 4장. 머티리얼 디자인 시작하기
    • 머티리얼 디자인 정신
      • 사례 학습 - 행아웃
      • 사례 학습 - 구글 캘린더
      • 사례 학습- 구글 지도
    • 머티리얼 디자인 시작하기
      • 머티리얼 테마 적용
      • 입체감 만들기
      • 떠다니는 액션 버튼
      • 바텀 시트
      • 카드뷰
      • 목록과 리사이클러뷰
      • 애니메이션과 전환
      • 사용자에게 시각적인 피드백 제공하기
      • 마무리 작업
    • 요약

  • 5장. 번뜩이는 아이디어를 상세 스케치로 바꾸기
    • 브레인스토밍 - 모바일 하드웨어의 이점 활용
      • 터치와 제스처
      • GPS
      • 진동
      • 오디오 입출력
      • 다른 기기와의 인터랙션
    • UX와 UI의 차이
    • 앱 브레인스토밍
      • 개념을 글로 작성
      • 최종 기능 목록 생성
      • 앱의 주요 동작 명확히 하기
      • 모바일에 적합한 애플리케이션인가?
      • 예산이 적절한가?
    • 앱 계획
      • 대상 사용자 식별
      • 사용자와 제품 목표 식별
      • 로드맵 생성
      • 마지막 고려 사항
    • 애플리케이션 디자인
      • 수준 높은 흐름
      • 화면 목록 생성
      • 화면 지도 생성
      • 내비게이션
      • 일반적인 내비게이션 패턴
      • 소셜 레이어
    • 요약

  • 6장. 스케치를 와이어프레임으로 바꾸기
    • 와이어프레임이란?
      • 와이어프레임의 이점은?
      • 와이어프레임 만들기
      • 와이어프레임 더 살펴보기
      • 디지털 와이어프레임
    • 종이 프로토타입이란?
      • 사용성 테스트
    • 요약

  • 7장. 프로토타입 만들기
    • 안드로이드 스튜디오에서 프로토타입 만들기
      • 첫 번째 프로토타입 만들기
      • 두 번째 프로토타입 만들기
      • 디자인 확정
    • 테마와 스타일 만들기
      • 스타일 정의하기
      • 테마로 작업하기
    • 오류에 대한 준비
      • 사용자 입력 오류
    • 요약

  • 8장. 다양한 기기 지원으로 더 많은 사용자에게 다가가기
    • 다양한 안드로이드 버전 지원하기
      • 최솟값과 대상 API 레벨 지정하기
      • 런타임에 버전 확인
    • 다양한 화면 지원하기
      • 구성 한정자
      • 안드로이드에서 정확한 리소스를 선택하는 방법
      • 별명 리소스 만들기
      • 화면 밀도
      • 다양한 화면 크기에 맞는 다양한 레이아웃 제공하기
      • 다양한 화면 방향 디자인하기
      • 다양한 화면에서 테스트하기
    • 여러 나라의 사용자에게 주목받기
      • 대상 언어와 지역 확인하기
      • 그 밖의 리소스 현지화하기
      • 기본 리소스는 왜 중요한가?
      • 앱 번역하기
      • 앱 현지화의 모범 사례
      • 다양한 로캘에서 앱 테스트하기
      • 구글 플레이 스토어 목록 현지화하기
      • 프로젝트 출시 이후
    • 요약

  • 9장. UI 최적화하기
    • 코드의 시간 측정하기
    • 오버드로우 확인하기
    • Hierarchy View 단순화하기
      • 트리 뷰(Tree View)
      • 트리 오버뷰(Tree overview)
      • 레이아웃 뷰(Layout View)
    • 메모리 부족 찾아내기
      • 메모리 모니터
      • 힙(heap) 탭
      • 객체 할당 - 메모리 변동(memory churn) 이해하기
    • 프로젝트 디버깅하기
      • 브레이크 포인트 사용하기
    • Lint로 코드 검사하기
    • ProGuard로 코드 최적화하기
    • 모든 픽셀을 상세하게 살펴보기
      • Pixel Perfect 창
      • Pixel Perfect 트리
      • Pixel Perfect Loupe 창
    • 프로세스와 스레드
      • 프로세스 종료하기
    • >와 <merge/>로 레이아웃 재사용하기
      • 필요한 경우에만 뷰 불러오기
    • 요약

  • 10장. 모범 사례와 애플리케이션 보안
    • 데이터 보안 유지
      • 네트워크 연결
    • 권한 요청
      • 새 권한 모델 - 백워드 호환성
      • 권한 그룹
      • 권한 선언
      • 권한과 <uses-feature>
      • 앱 권한 처리 모범 사례
    • 알림
      • 알림 모범 사례
      • 직접 응답할 수 있는 알림
      • 알림 묶음
    • 애플리케이션 위젯
      • 프로젝트의 매니페스트에 AppWidgetProvider 선언
      • AppWidgetProviderInfo 파일 생성
      • 위젯의 레이아웃 생성
    • 접근성 모범 사례
      • UI 컨트롤에 대한 설명 문구 추가
      • 포커스 탐색을 위한 디자인
      • 사용자 정의 뷰 컨트롤
      • 다양한 서체 크기 테스트
      • 터치 대상의 권고 크기
      • 타임아웃에 대한 대안 제공
    • 애플리케이션의 접근성 기능 테스트
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안