주간 안드로이드 #193: 개발 팁 30개, UX개선, 옵셔널 사용

Android Weekly(http://androidweekly.net/)는 매주 발행되는 안드로이드 뉴스레터입니다. 영어 기사를 정독할 시간이 없는 분을 위해 핵심 꼭지를 요약했습니다.

주간 안드로이드 뉴스를 요약해 드립니다. Android Weekly 193 원문도 읽어보세요.


피가 되고 살이 되는 안드로이드 개발 팁

이 번 뉴스레터에서는 안드로이드 개발 팁을 다룬 기사가 많습니다. Gradle build 속도 높이기나 유닛 테스트 소개처럼 알아두면 도움이 될 것 같습니다. 먼저 30가지 안드로이드 개발 팁을 소개한 기사부터 살펴 볼까요?

  • 직접 부딪히면서 배운 경험을 공유하는 피가 되고 살이 되는 30가지 안드로이드 개발 팁(Building Android Apps — 30 things that experience made me learn the hard way)을 읽어 보세요. ‘사용자가 보지 못하는 것은 그리지도 마라’, ‘레이어 대신 기능별로 패키징하라’ 처럼 큰 그림을 위한 가이드를 주는 팁에서부터, ‘효율성 극대화를 위해 RxJava를 Retrofit과 Retrolambda와 함께 써라’ 처럼 라이브러리 선택에 도움을 주는 팁까지 다양한 30가지 팁이 있습니다. 팁 하나하나는 짧은 문장이지만, 세부 내용을 포스팅한 링크가 있어 유용한 내용을 찾으면 더 자세한 내용을 살펴볼 수 있다는 점이 맘에 쏙 드네요.

이런 개발 뉴스를 더 만나보세요

“UI는 마치 농담과 같습니다. 설명이 필요하다면 별로라는 뜻이죠.”

  • 바쁜 와중에는 Gradle build 시간이 천년만년 느리게 느껴집니다. 이 시간을 확 줄일 수 있다면 정말 좋겠죠? Gradle build 시간을 줄이는 6가지 팁(6 tips to speed up your Gradle build)을 확인해보세요. on demand 설정을 켜고, Gradle Daemon을 사용하며, 새 Gradle 버전을 사용하고, configuration 시간의 로드를 줄이며, dynamic dependency를 없애고, 프로젝트를 모듈화해서 parallel build 옵션을 켜는 각 과정을 쉽고 자세히 설명하고 있습니다. 댓글로 ‘예전에는 Gradle build 시간에 책을 읽으면서 기다렸는데 이제 5초만에 끝난다’고 행복해하는 개발자가 있는걸로 보아 확실히 효과가 있나 봅니다.
  • 앞서 소개한 30가지 팁 중에 ‘테스트는 시간이 걸리지만 익숙해지면 코딩 효율성을 높여준다’는 팁이 있었는데요, 이와 관련한 기사도 나왔습니다. 3가지 유닛 테스트 소개(3 unit tests to avoid bad surprises on Android)에서 RobolectricTruth를 사용해서 Permission과 shared preference, SQLite database를 유닛 테스트하는 방법을 소개합니다. 유닛 테스트가 필요한 부분은 이 밖에도 많겠지만, 이 세 개만 잘 다룰 수 있어도 출시 직전에 버그를 발견하고 괴로워하는 일을 막을 것 같습니다!

사용자 UX 개선하기

사용자 UX를 개선하면 앱의 퀄리티가 높아진다는 점은 모두 알고 있지만, 실제로 어떻게 개선해야 하는지 파악하기란 참 어려운 일입니다. 이번 뉴스레터에서 사용자 UX 개선과 관련된 기사가 몇 편 실렸으니 함께 살펴보시죠.

  • 일단 사용자가 어떻게 우리 앱을 발견하고 설치하는지 파악하는데서부터 UX 개선을 시작할 수 있을 겁니다. 사용자 설치 경로 추적하기(Want to understand how users discover and install your app?) 포스팅에서 referrer tracking을 소개합니다. 이제 referrer에서 자연 유입과 deeplink를 구별할 수 있습니다.
  • 사람의 첫인상이 3초만에 결정되듯, 앱을 처음 실행한 사용자는 구동 화면에서 앱의 사용 여부를 결정할 가능성이 높습니다. 구동 화면이 텅 비어 있다면 그만큼 첫인상이 나빠질텐데요, 썰렁한 구동 화면 멋지게 바꾸기(Avoiding cold starts on Android) 포스팅이 도움이 될 것 같습니다. 아래 이미지는 구동 화면이 백지로 보이는 Airbnb의 모습인데요. windowBackground와 <layer-list>를 사용하면 이미지와 애니메이션을 구동화면에 넣어서 UX를 개선할 수 있다고 합니다. placeholder를 멋지게 꾸미는 방법도 함께 소개하고 있어 일석이조의 기사입니다.
  • 구동 화면을 멋지게 바꿨다면 이제 다른 UI도 개선해야겠죠? 표시 애니메이션이란 아래 이미지처럼 UI 요소 그룹을 표시하거나 숨길 때 사용자에게 시각적 연속성을 제공하는 기능입니다. 표시 애니메이션으로 사용자 눈길을 끌어보자(Meaningful Motion with Shared Element Transition and Circular Reveal Animation)에서 적용법을 상세히 알려주고 있으니 멋진 UI를 만들기에 참고가 될 것 같습니다.
  • 댓글이 달린 시간을 기본 시간 형식으로 표시하는 것은 아주 간단하지만, YouTube나 Facebook처럼 ‘몇 분 전’, ‘1시간 전’처럼 표시하는 것은 좀 더 수고가 들어갑니다. 그러나 사용자의 입장에서 생각하면 시간으로 표시해주는 방식은 현재 시간과 댓글 시간을 비교해서 계산해봐야 하므로 직관적이지 않고 불편합니다. YouTube처럼 시간을 계산해서 비교해주는 YouTube timestamp 댓글 튜토리얼(Creating comments with timestamps like YouTube)을 한 번 살펴 보세요. 구현은 간단하지만 UX 개선에는 많은 도움이 될 것 같습니다!

그 밖의 유용한 기사들

더 읽을 거리

2월 넷째 주의 기사를 Android Weekly 193 영어 원문에서 볼 수 있습니다.

지난 뉴스가 궁금하다면 아래 링크를 참고해 주세요.

컨텐츠에 대하여

이 컨텐츠는 저자의 허가 하에 이곳에서 공유합니다.


Eunjoo Im

Realm Asia 팀에서 일하는 임은주입니다. iOS와 안드로이드 개발자로, 현재 Realm의 기술 컨텐츠 생산 및 관리에 주력하고 있습니다.

4 design patterns for a RESTless mobile integration »

close