Google I/O 2017 Extended Seoul

구글 I/O 2017 Extended 정리 문서

카테고리

들은 목록

Architecture Components - VCNC 김상일

아키텍쳐 컴포넌트는 구글 io에서 처음 이야기가 나옴.
4가지의 파트가 있다.

Handling LifeCycle

라이프사이클을 잘 관리할 수 있게 Observer, Owner등을 이용하여 라이프사이클을 관리.

LiveData

LiveData는 데이터 홀더 클래스로, 값을 observe 해서 가져옴. 위의 라이프사이를 이용해서 데이터를 가져오거나 처리함.

ViewModel

구글 홈페이지 설명에 따르면,
Store UI related data that isn’t destroyed on app rotations.

뷰를 참조하면 안됨.

Room

Access your data with the power of SQLite and safety of in-app objects.

현재 비트윈에서 사용하고 있는 것

아키텍쳐 컴포넌트를 사용하면 좋을 예는

RxJava를 잘 사용하고 있다면 그냥 그대로하면 됨. 하지만 처음 앱을 만들거나 RxJava를 이용해서 만들고 있지 않다면 쉽게 LifeCycle을 관리할 수 있는 아키텍쳐 컴포넌트를 사용하는게 좋다.

Kotlin: Make Android Great Again - Google 김태호

코틀린을 시작하면서

코틀린이란 뭘까?
코틀린은 정적 타입을 가지고 있는 언어. 자바와 100% 호환!

히스토리

안드로이드

10년 전의 안드로이드는… 로고, 디바이스 모두 달랐음
이클립스를 IDE로 사용했음. 지금도 이클립스를 사용하고 있다면 놓아주세요…
자바를 개발 언어로 사용함.

지금은…
디바이스 많이 이뻐짐.
IDE가 안드로이드 스튜디오로 바뀜(인텔리J 기반으로)

가장 큰 안드로이드 개발 문제

자바로 개발한다면...

안드로이드 API 제한점

간단하게 쓸 수 있는 것들을 많이 손대서 사용해야하는 불편함이 있음.

Java > Kotlin

유의사항

코틀린 도입 후 달라진 점

Application 용량 줄이기, 플레이윙즈 실적용을 중심으로 - 플레이윙즈 신호석

플레이 스토어에 올라간 용량만 믿지 마세요.

약 25% 정도까지 줄어서 올라가기도 합니다.
평균 용량(23MB)보다 높다는것은 사용자가 다운받기 힘들다는 것.

앱의 용량을 줄여야하는 이유

플레이윙즈 서비스의 특징을 생각해봤을때, 사용자들이 항공권 특가를 보기 위해서 바로 보기위해 다운받아야하는데 그 부분을 놓치면 안되기때문에

플레이윙즈를 분석해보고 용량을 줄여보자

총 사이즈는 20.8메가정도.
res가 53%를 차지하고 있었고 그다음은 매니페스트 부분.
minifyEnable을 세팅하면 20.8 > 20 메가로 줄일 수 있었다.

Resources shrinking 기능을 사용하면…
안줄었다. 사용하는 이미지가 필요한것만 들어가 있어서!

Vector drawables 벡터파일은 png를 늘리고 줄이는 것보다 깨지지 않고 처리할 수 있다.
vectorDrawables.useSupportLibrary = true 세팅후 벡터 파일들을 세팅 해줘야 가능함.
이후에 20 > 17.9 메가로 줄여줄수 있었음.

exclude space translation 기능은 다국어를 지원할 때 기본어를 설정하고 빈칸을 합칠 수 있게됨 그럼 용량 줄일수 있음. 17.9 > 17.4 메가로 줄였음.

set specific circumstance 기능은 지원하지 않는 해상도 및 환경을 지원하는 것 또한 자원 낭비라서 선택하는것.

splits{
  density{
    ...
  }
}

use downloadable fonts 모든 폰트들을 하나의 저장소에서 관리하게 됨 안드로이드 3.0에 들어가있는 기능. 해봤더니 아직 잘안됨…

최종적으로 20.8MB > 17.4MB 로 줄일 수 있었음.

정리

안드로이드 O 살펴보기 - 양찬석

개발자 문서를 확인하세요

https://d.android.com/preview

디저트는 왜 자꾸 새로 나올까…

커널 플랫폼단은 버전업을 해야 고칠수 있음.
더 좋은 안드로이드를 만들기 위해서!

발전된 플랫폼 기능

사용자에게 더 좋게 된것

개발자를 위한 정보

우리 모두를 위해

튕기거나 느린앱을 좋아하는 사람은 없어요!

파이어베이스 무엇이 달라지나? - 캐시슬라이드 남상균

파이어베이스란

개발자가 서비스 개발에 더 집중할 수 있도록 지원해주는 도구. 다음과 같은 기능들이 있음.

천만명의 개발자가 사용하는 파이어베이스

기능이 추가되거나 기능이 좋아진것

Fabric 과의 통합

Firebase + Fabric !

crashlytic가 생길 듯. DIGITS 을 통해서 전화번호를 통해서 로그인이 가능해 짐.
휴대폰 번호 인증의 장점

그래서 위의 기능이 Firebase Auth로 통합됨.

Cloud Function(클라우드 함수)

처음에는 앱에서 개발을 해서 파이어베이스가 도와주는 느낌이었는데, 앱이 고도화되면서 서버쪽 기능들도 많이 필요함을 서버리스 함수들을 통해 해결하고자함.

예를 들어 사용자들에게 푸시 알림을 발송하기 위해 데이터베이스에서 데이터를 가져와서 푸시를 보낼 수 있게됨.

고비용 작업을 클라우드에서 처리하는 것도 디바이스에서 하는 것보다 하는게 더 좋음.

써드파티 서비스 및 API와 통합에서는 깃헙에 푸시를 하면 슬랙에 메세지를 보내는 기능을 웹서버처럼 사용할 수 있게됨.

Firebase Performance

SDK를 적용했을때 디바이스에서 성능 자료를 받아서 어떤 함수, 어떤 기능에서 느린지 알 수 있게됨.

GA, Firebase, Big Query

GA의 데이터를 Big Query에 넣고 필요한 사용자 특징 데이터를 추출하고 사용할 수 있게 되고 있다.

개발자 리소스

udacity.com/Google
firebase.google.com/alpha

파이어베이스가 오픈소스로 오픈이 되어서 github에서 볼 수 있게되었으니 보면 좋음.

마무리

파이어베이스가 안정화되고 기능들도 잘 이뤄져가고 있으므로 실 서비스에 적용하는것도 좋은 선택이라고 보입니다!