[번역] DroidKaigi 2017 ~ Android 앱 개발 채력 키우기

[번역] DroidKaigi 2017 ~ Android 앱 개발 채력 키우기

Oct 4, 2017. | By: pluulove

본 포스팅은 DroidKaigi 2017 ~ Androidアプリ開発の体力づくり💪 을 기본으로 번역하여 작성했습니다

제 일본어 실력으로 인하여 오역이나 오타가 발생할 수 있습니다.


1p

Android 앱 개발 채력 키우기

2p, About Me

  • Shinobu Okano
  • @operandoOS
  • Mercari, Inc.
  • Souzoh, Inc.

3p, 질문이 있으시면

https://github.com/operando/DroidKaigi 에 issue라든지 올려주세요!

4p

Android 재미있습니까? 😊

5p

Android 개발 어려워

6p

그렇지않아요

7p

Android 개발 재미있어요 😊

8p

해봤지만, 무엇부터 시작해야 할지 모르겠다

9p

알 것 같아

10p, 앱을 만드는 과정

  • 만들고 싶은 앱을 생각한다! 💪
  • 환경 구축한다! 💪
  • 구현하자! 💪
  • 공개하자! 💪

11p

만들고 싶은 앱을 생각한다! 💪

12p

어떤 것을 만들면 좋을까 🤔

13p

음~… 🤔

14p

음, 음음~… 🤔🤔

15p

음음음, 음음~… 🤔🤔🤔

16p

나는 딱히 떠오르지않았다 😐

17p, 어느 금발이 말하길…

  • 만들고 싶은 앱이 없었다
  • 앱 디자인에 신경쓰여 구현 진척이 안됐다

18p

개인이 앱을 공개하는데 몇 년 걸렸는가

19p

4

20p

일? 개월?

21p

4년입니다… 🙈

22p, 딜레마

  • 어느 정도 만들어지면 구현보다도 그 전단계가 힘들다
    • 행복한 고민이다고 실감한다 (기술력이 남아돈다)
  • 구현은 가능하지만…같이 아무것도 안되는 사람이 된다 😨

23p, 딜레마 해소하자! 💪

잡동사니 앱이라도 괜찮다!

24p, 딜레마 해소하자! 💪

작게 시작하자

25p, 딜레마 해소하자! 💪

재미있어 보이는 것을 만들자

26p, 딜레마 해소하자! 💪

잡동사니라도 공개하면 배울게 있다

27p, 4년 걸려서 공개한 자랑스런 앱 💪

Neko Atsume Launcher

https://play.google.com/store/apps/details? id=com.os.operando.neko.launcher

28p

https://www.youtube.com/watch?v=4F2rEdtx18A

29p, Developer 등록해두자!

https://support.google.com/googleplay/android-developer/answer/6112435?hl=ja

30p

환경 구축한다! 💪

31p

Android Studio

32p, Android Studio에 빠진 곳

  • 내가 알려주는 최강 Keyboard Shortcut ✨
  • 내가 추천하는 최강 Plugin

33p

정말로 미안해요

34p

아무래도 좋다~ 😫

※ 처음에는 괜찮아!

35p, Android Studio

  • 처음에는 기본 조작만 기억하는데 전념하는 것이 좋다
  • 평소 IntelliJ 사용하고 있는 사람은 설정을 import하면 편하다
  • shortcut 라든지 소개해도 “기억 못해”가 된다
    • 기억하지 않아도 어느 정도 쓸 수 있다
    • 단축키 피폐가 되지 않도록 주의를 기울인다

36p, 단지

  • 지속적으로 사용하는 것이므로 이곳저곳 여러 가지 해보는 것이 필요
  • 불편하네~. 다른 더 좋은 방법이 있을 것 같은데~라고 생각되면 찾아본다
  • 여러 가지 기능이 들어있기 때문에 익숙해졌을 때 써보는 것도 좋다

37p, Android Studio User Guide

https://developer.android.com/studio/intro/index.html

38p, Android Studio 최속 입문 ~ 효율적으로 코딩하는 방법

http://gihyo.jp/dev/serial/01/android_studio

39p, Android Studio Plugin 주변

작년 DroidKaigi에서 몇가지 소개했습니다 https://www.slideshare.net/shinobuokano7/android-dev-tools-knowledge#40

40p

구현하자! 💪

41p, 구현하자! 💪

  • 코드를 적는다
  • 디자인

42p

Android 개발언어는 뭔가요? 🙂

43p

Java입니다 💪

44p

어떻게 구현하면 좋을까 🤔

45p

샘플로 배우자 💪

46p, Android Studio New Project Wizard

47p

하나씩 만들어 움직이는게 귀찮다 😩

48p, Android Studio Sample Projects

https://github.com/operando/Android-Studio-Sample-Projects

49p, Android Studio Sample Projects

  • Configuration를 바꾸는 것만으로 여러 샘플을 대략 테스트해볼 수 있습니다
  • Android Studi 2.3에서 추가된 Bottom Navigation 샘플도 있어요!

50p, 공식으로 있는 샘플에서 배우자

  • 다양 + 자세한 사양 부분까지 적혀있다
  • 필요한 부분만 읽으면 된다
  • 문서 갱신이 빠르다

51p, Android Training

https://developer.android.com/training/index.html

52p, Android Samples

https://developer.android.com/samples/index.html

53p, Google Samples - Github

https://github.com/googlesamples

54p, Google Developer Training
 for Android

https://developers.google.com/training/android/

55p, Android Developer Fundamentals

https://developers.google.com/training/courses/android-fundamentals

56p, 입문서(책)으로 배우자

Android 학습에 대한 책을 간략하게 적혀있습니다!

http://hack-it-iron.hatenablog.com/entry/2016/07/16/182141

57p

앱 디자인은 어떻게 해야지 🤔

58p, 앱 디자인

  • 개인 앱에서 디자인이 곤란하다
  • Material Design은 은의 탄환이 아니다
    • Material Design으로 하지 않으면 안된다고 생각하게 된다
    • 만들 앱에 맞는 디자인을 중시해야 한다

59p, 그렇지만…

Material Design이라면 깔끔하게 만들 수 있다!

60p, Material Design Introduction

https://material.io/guidelines/

61p, Material Design Introduction

이해하면 지속적으로 도움이 되는 Material Design이외의 관점에서도 유용하다.

62p, 더욱 진화한 디자인 가이드라인

https://www.youtube.com/watch?v=R49m4-NlWs0

63p, Material Design Resources

64p, Material Desig 구현

65p, 다른 앱 디자인을 참고하자

66p

공개하자! 💪

67p, 공개하자! 💪

  • 완성되면 공개한다
    • 앱이 완성되었는데 바로 공개하지않는 것은 아깝다
  • Google Play의 설명도 대충하면 된다
    • 나중에라도 바꿀 수 있다

68p, Google Play 설명도 대충하면 된다

Neko Atsume Launcher

Android NのEasterEggであるねこあつめもどきの一覧画面が簡単に起動できるNeko Atsume Launcher
ただそれだけです...🐱

69p, 공개때문에 괴로워 😩

Google Play Developer Help Center 보자 https://support.google.com/googleplay/android-developer

70p, 여기까지 정리

  • 갈팡질팡해서 만들지 못하는 것도 아까우므로 잡동사니라도 해나가자 💪
  • 하나부터 만들기위해 도큐먼트는 갖춰있다

71p

앱 제작 흐름을 이해했어 💪

72p

더 좋은 앱 만들고 싶은데 🤔

73p, 더 좋은 앱 만들고 싶은데 🤔

  • 필요한 것
    • 기술력
    • 앱 아이디어를 생각할 힘

74p, 더 좋은 앱 만들고 싶은데 🤔

  • 필요한 것
    • 기술력
    • 앱 아이디어를 생각할 힘

75p ~ 76p, 여러 앱 만들었네 🚀

  • 최근 2년간 만든 것
    • Mercari (운영)
    • アッテ (신규)
    • Taxnote (신규)

77p

3가지 앱을 만드는데 있어서 필요했던 기술

78p

여러가지 있는데 🤔🤔🤔

79p, 3가지 앱을 만드는데 있어서 필요했던 기술

  • Android API
  • Google Play Serices
  • 새로운 OS 버전 대응

80p, 3가지 앱을 만드는데 있어서 필요했던 기술

실제로 더 있지만 특히 이야기해두고 싶은 것입니다!

81p

Android API

82p, Android API

  • 가장 중요한 지식
  • 알고 있는가 모르는가의 경계
  • 자주 쓰이는 API는 그럭저럭 정해져 있다

83p, Android API를 이해하자 💪

공식 문서 · Reference를 읽는다

84p, Android API를 이해하자 💪

85p, Android API를 이해하자 💪

86p, Android API를 이해하자 💪

  • 여러 코드를 읽고 API 사용방법을 이해한다
    • Android 내부 구조를 읽는다
    • OSS의 Library를 읽는다

87p, Android API를 이해하자

88p, Android API를 이해하자 💪

배운 것을 output 한다

89p, 배운 것을 output 한다

90p, 시대의 흐름과 API를 생각한다

  • 인터넷에서 찾아서 나오는 정보가 오래되고 있다
    • 비추천 API
    • 더 나은 API가 있어요! 같은 것

91p, 비추천 API와의 싸움

  • Android Studio에서 비추천이라고 나오니 확실히 본다
  • 도큐먼트에 “대신에 이걸 사용해!”라고 적혀있다
  • Lint 돌려서 비추천 API를 사용하고 있지 않은가 점검한다

92p, Android Studio에서 비추천이라고 나오니 확실히 본다

getResources().getDrawable(R.mipmap.ic_launcher);
ContextCompat.getDrawable(this, R.mipmap.ic_launcher);

93p, 도큐먼트에 “대신에 이걸 사용해!”라고 적혀있다

getDrawable

Drawable getDrawable (int id)

This method was deprecated in API level 22.

Use getDrawable(int, Theme) instead.

94p, Lint 돌려서 비추천 API를 사용하고 있지 않은가 점검한다

95p

당신의 구현하는 방법 최신판 으로 되어 있습니까?

96p, 더 나은 API 있어요! 같은 것

  • 앱을 사용하는 사용자가 기대하는 움직임이 무엇인가
  • OS 자체는 필요로 하는 API를 제공하고 있을 … 터이다..
    • 저전력이라면 Doze
    • 모바일에서도 화면이 커졌다, 하면서 작업하고 싶은 앱을 넘나들며 뭔가 하고 싶다 = Multi-window

97p, 더 나은 API 있어요! 같은 것

  • 필요에 대한 기술 캐치업이 중요
  • 새롭게 제공되는 API는 지금의 니즈, 장래의 니즈를 내다본 것

98p, 더 나은 API 있어요! 같은 것

오래된 API를 사용해도 구현 가능하지만, 그것은 이전의 사용자가 요구하던 움직임을 실현하기 위한 것이고, 지금의 사용자가 요구하는 움직임을 실현하려면 이쪽의 새로운 API가 좋아! 라는 기분으로 앱 제작하자 😎

99p

Google Play Services

100, Google Play Services

  • Google Play Services를 통해서 Google의 서비스를 앱 내에서 사용가능 하도록 한다
  • 간단하게 Google 서비스를 앱 내에 포함시킬 수 있다

101p

앱을 만드는데 있어서 빠뜨릴 수 없는 것이 가득

제공되고 있는 보석함 💎🎁

102p

멋져 😍

103p, Overview of Google Play Services

https://developers.google.com/android/guides/overview

104p, Google Play Services로 사용하고 있는 기능

  • Mercari - plus, wallet, appinvite, gcm, 그외 다수
  • アッテ - maps, location, gcm
  • Taxnote - In-app Billing(앱내 과금)

105p, Google Play Services 공략 키 🔑

  • Google Play Services를 사용해 어떤 것이 가능한지 파악해둔다
  • 새로운 기능이 추가된 것을 쫓는다

106p, Google Play Services 공략 키 🔑

107p ~ 108p, 자주 확인하는 Android 개발에서 중요한것 Release Notes 링크 모음

https://qiita.com/operandoOS/items/d2feb53cd55e94c4e9a6

이 정리 최고! (자화자찬)

109p

보다 빠르게 ⚡

110p

Google Play Services Public Beta Program

111p, Google Play Services Public Beta Program

https://developers.google.com/android/guides/beta-program

112p

새로운 OS 버전 대응

113p, 새로운 OS 버전 대응

  • Android M
  • Android N

114p, Andorid M

  • RuntimePermission
  • Auto Backup
  • Doze
  • Apache HTTP Client Removal
  • etc.

115p, Android N

  • Multi-window
  • Doze 개선판!!
  • Project Svelte: Background Optimizations
  • App Shortcut
  • etc.

116p

새로운 OS 버전 대응에 맞춘 우리들의 싸움

117p, 광속 ⚡ Mercari Android M 대응 🚀

  • Android M 정식 배포된 것이 2015/10
  • Mercari Android M 대응
    • 2015/10말 대응판 배포 🚀
    • 정식 배포되고나서 1개월정도에 대응 완료 💯
  • 덧붙여서 말하면 내가 했다 😊

118p, 늦게 온 신생 🚴 アッテ Android N 지원 🚀

  • Android N 정식 배포된 것이 2016/8
  • アッテ Android N 대응
    • 2017/2 대응판 배포
    • Multi-window 포기했다 🙈
    • Support Library 올리는데 애먹었다

119p, 새로운 OS 버전 대응에 맞춘 우리들의 싸움

  • 엔지니어 주도로 움직인다
  • 대응한 타이밍도 정한다

120p, 새로운 OS 버전 대응 판단 기준 🤔

  • 전체 그림이 보이면 대응 시기를 판별한다
    • 너무 빨라도 안돼?, 너무 늦어도 안돼!
  • 이 업데이트는 앱에 있어서 부정 or긍정 🤔
  • 점유율을 보면서 생각한다

121p, 대응을 위해 먼저 한것

  • Preview부터 써본다
  • compileSdkVersion, targetSdkVersion을 올려서 build 해본다
  • 문서를 몇 번이라도 다시 읽는다

122p, Preview부터 써본다

123p, Preview부터 써본다

124p, compileSdkVersion, targetSdkVersion을 올려서 build 해본다

  • build가 성공하는가
    • 오래된 API나 불필요한 API는 사라질 운명 😇
  • 비추천 API 체크
    • API Differences Report를 읽는다
  • 시작해서 죽지 않는가

125p, Android API Differences Report

126p, 문서를 몇번이라도 다시 읽는다

  • 중요한 2개의 문서
    • New Features Document
    • Behavior Changes Document

127p, New Features Document

128p, Behavior Changes Document

129p, 어쨋든 관심가는 기사 등은 모아둔다

  • 모두가 output 해주는 것을 모은다
  • 촉각을 곤두세운다

130p, 항상 촉각은 세워둘 곳

  • Qiita
  • Blog
  • Medium
  • Twitter
  • etc.

131p

하나씩 링크 소개하는 것도 뭐하므로…

132p, RSS 피드 공개

  • 저의 Android 피드 공개합니다!
  • 관심가는 것이 있으면 등록해서 올려줘요!

133p, RSS 피드 공개

https://goo.gl/Zqg5RD

134p, 여기까지 정리

  • Android API를 이해의 연장선상에 앱을 만드는데 있어서 중요한 것이 가득 차있다
  • Android 변화의 흐름을 따라가는 것으로 더 나은 앱을 만들 수 있는 가능성이 넓어진다

135p

Android 개발의 지금과 앞으로

136p

Android 개발의 지금

137p, Android 개발의 지금

  • Android Framework이나 Library가 정리되어 있다
  • Library 등을 구사해서 어떻게 앱을 요리할까

138p, 라이브러리에 대해서… 진짜 잘 정리되어있습니다 😊

139p, 어떻게 새롭고·좋은 라이브러리를 찾을까

  • Android Arsenal를 지켜본다
  • Github의 Feed를 사용해 찾는다
  • 앱의 라이센스 페이지를 본다 👀

140p

New Android Layouts

141p

ConstraintLayout + FlexboxLayout

142p

지금 바로 다른 방에서 thagikura씨가 “Exploring new Android layouts”라는 이야기를 하고있다!!

143p

Conference

144p, 전세계에서 Conference가 이루어지고 있다

145p

Android 개발의 앞으로

146p, Android 개발의 앞으로

  • Android O
  • Instant Apps
  • Android Things
  • Chrome
  • Java 9 Support??🤔

147p, Android 개발의 앞으로

  • Android O
  • Instant Apps
  • Android Things
  • Chrome
  • Java 9 Support??🤔

148p

Instant Apps

149p, Instant Apps

설치 필요없이 실행 가능한 앱

150p, Instant Apps

Access Apps From Anywhere

151p, Instant Apps

https://developer.android.com/topic/instant-apps/index.html

152p, Instant Apps

  • 가볍다
  • 빠르다

153p, Viki - Instant Apps의 사례

https://developer.android.com/topic/instant-apps/images/viki.gif

154p

멋지다 😍

155p, Preparing Your App Instant Apps

https://developer.android.com/topic/instant-apps/prepare.html

156p, Instant Apps을 위해 유의할 점

  • 앱을 줄이고 필요없는 것은 버린다 🗑
  • App Links를 대응한다
  • 사용자 인증으로는 Smart Lock for Passwords 를 사용
  • Instant Apps로 불가능한 것을 안다

157p, Instant Apps을 위해 유의할 점 (주관적 관점)

  • Google Play Services 기능을 한층 더 숙지해서 제대로 사용할 필요가 있을 것 같다
  • Google Play 외부에서 앱 도선을 얼마나 펼칠 수 있을까
    • Web
    • SNS / Messaging
    • Real World
    • etc.

158p

모듈화하는 애플리케이션

159p

정리

160

Thanks!!

comments powered by Disqus

Currnte Pages Tags

Android DroidKaigi

About

Pluu, Android Developer Blog Site

이전 블로그 링크 :네이버 블로그

Using Theme : SOLID SOLID Github

Social Links