Google I/O Extended Seoul 2018

링크 : https://io-extended-seoul-18.firebaseapp.com/

일시 : 2018.06.10 11:00 ~ 17:25

장소 : 세종대학교 광개토관 컨벤션홀 (B2)

간단하게 들었던 섹션 정리입니다.

01. KeyNote

  • 발표자 : David MacLaunghim(Google/Global Programs Lead)
  • 발표자료 :

GDG 현황 및 활성화를 위한 노력?

번역 자막이나 동시 통역 없이 영어로 진행되서 내용은 잘 모름.

걍 들리거나 눈에 보이는 대로 정리하자면은...

구글에서도 Open Source의 중요성이 높아지고 Third-Party Storage 도 마찬가지

그리고 개발자 커뮤니티의 활성화를 장려한다는 듯

기존 GDG의 경우 Local / Tech / Special 로 주제를 가지고 진행한다고 함.

그리고 GDE(Google Developer Experts)도 있고 Women Techmakers도 있음.

GDG Korea 조은 님 추가

GDG Korea에서는 주로 Meet up을 이용하며, slack.gdg.kr로 GDG Korea의 정보를 얻을 수 있음.

  • Track A : Android / Design
  • Track B : Machine Learning
  • Track C : Flutter, Web

02. Track A. What's new in Android P

  • 발표자 : 전병권 (Riot Games)
  • 발표자료 :

Android P 이야기. Compiler 관련 D8/R8 변화. App Bundle 추가. Jetpack은 중요하므로 직접 봐야할 것.

Android P 릴리즈 일정

  • 현재 DP3 (API 28) 까지 나왔으며, API 추가는 이제 없음.

주요 기능

  • Battery

    App Stanby Buckets (사용빈도 대비 전력사용 고려하여 관리)

  • Background Limit

    Voice Recoding, Camera Capture, Sensor 등 제한됨.

  • Location : 구글 맵 실내측위 지원, Wi-Fi RTT 이용.

  • Accessibility : View 속성 추가

    • android:accessibilityPaneTitle
    • android:accessibilityHeading
    • android:screenReaderFocusable
  • Security : 시스템이 앱을 대신해 지문 인증 대화상자 제공 등

  • Display cut (notch) : 개발자 옵션 - Drawing 섹션 -> Simulate a display with a cutout 메뉴로 확인 가능.

  • Actions : deep links

  • Notifications

    • 이미지 지원
    • 단순화된 대화 참가자 지원 (Notification.Person 클래스)
    • 회신을 초안으로 저장
    • 그룹대화 여부 식별
    • 인텐트의 문맥적 액션 설정
    • SmartReply (제안 회신 지원)
    • 채널 그룹 차단
    • 알림 채널과 채널 그룹의 차단 상태 변경시 브로드캐스트 인텐트 보냄.
    • 새로운 알림 일시중지 우선순위 범주 추가
  • Deprecation Policy (targetApiVersion 등)

별첨

  • FLAG_ACTIVITY_NEW_TASK : 비 액티비티 컨텍스트에서 액티비티 시작시 인텐트 플래그에 전달해야 함.

Android P Runtime

  • Kotlin 지원 향상
  • Dex 구조 변경(dex 내 data 공유 형식으로)
  • Profile Guided Optimizations
    • Cloud Profiles 형식으로 개인 정보 제외하여 Play Store에 전달됨. 보통 15명 정보면 최적화됨.
  • 기존 1 : Start -> Javac/Kotlinc -> Proguard -> dex -> APK
  • 기존 2 : Start -> Javac/Kotlinc -> Proguard -> class별 dex -> dex merge -> APK
  • D8 : Start -> Javac/Kotlinc -> Proguard -> D8(gradle 3.2부터 지원) -> APK
  • R8(개발 중) : Start -> Javac/Kotlinc -> R8 -> APK

Android App Bundle

기존 Multiple APK에 대한 지원으로 하나의 APK로 생성됨

Android Studio 의 Build Bundles/APK 메뉴에서 사용 가능 (결과물은 aab 확장자 형식)

앱 모듈 부분 설치 등 가능(Instant App 같이 처리 가능)

Jetpack (직접 확인 필요)


03. Track A. 새로운 안드로이드 개발 툴

  • 발표자 : 정승욱 (Grab)
  • 발표자료 :

Android Studio 3.2 Canary 이야기 + Jetpack 이야기. Navigation, Work Manager 사용 이야기.

Android Studio 3.2 Canary

  • Navigation (단일 액티비티, 다중 프래그먼트 지원)
  • Android X Refactoring 지원
    • Android Support Library 를 Android extension library (AndroidX) 네임스페이스로 리펙터링
    • Refactor -> Refactor to AndroidX 메뉴 추가
  • Sample Data : 레이아웃 편집기의 샘플 데이터로 미리 뷰를 채워볼 수 있음.
  • Slice : Android OS System의 UI에 앱 콘텐츠의 일부를 삽입하는 방법.
  • App Bundle : Google Play에서 특정기기에 필요한 APK 만 제공하는 동적 전송 플랫폼용.
  • D8 (기존 컴파일러 대체)
  • R8 (컴파일러 + Proguard)
    • gradle에서 android.enableR8 속성으로 사용 가능하나, R8은 아직 테스트 단계임.
  • CMakeList : C/C++ 코드를 위해 CMake Build Scripts 지원
  • Profiler
    • 에너지 프로파일
    • 시스템 트레이스 (기존 DDMS 대체)
    • 프로파일 세션
    • 코드 레벨 CPU 동작 기록
    • JNI 참조 추적

Jetpack

Android 앱을 빠르고 쉽게 만들 수 있도록 도와주는 라이브러리, 도구, 아키텍처 지침 모음.

공통 인프라 코드를 제공함.

  • AppCompack
  • Android KTX
  • Paging
  • Room
  • ViewModel

Navigation

1개 액티비티에 다중 프래그먼트 사용하기 위함.

  • Up and Back 지원
  • Bundle 참조 지원
  • Navigation 리소스에서 프래그먼트 액션 정의.
  • Activity 리소스에서 NavHostFragment 사용
  • AppCompactActivity의 onSupportNavigationUp() 사용
  • Navigation Controller 에서 네비게이션 리소스 파싱 및 관리
  • 모든 동작은 Runtime에 동작하므로 빌드 걱정 X

Work Manager

Android 백그라운드 작업을 관리.

  • intentService, JobScheduler, JobDispatcher, AlarmManager 대체
  • 디바이스 상태나 충전 상태 등에 대한 옵션 처리 가능
  • Status는 LiveData 형식이며 Room 사용
  • WorkService, WorkManager 클래스 사용
  • Background(스케쥴러) -> Worker -> Success -> sqlite

04. Track B. Something about TPU

  • 발표자 : 이진원 (삼성전자)
  • 발표 자료 :

Tensor Processing Unit 이야기

S/W 이야기 X

Micro-processor 방향성도 Domain 기반으로 변화해감.

y = f(wx + b)

보통 머신 러닝에 쓰이는 공식을 보면 결국 곱하기와 더하기 연산이 중요함.

  • Matrix Multiply Unit
  • Accumulators

TPU 처리속도 진화

TPU v1 (92 tera ops) -> Cloud TPU -> TPU Pod -> TPU v2 Pod -> TPU v3 (100 peta flops) Pod

모바일 용은 보통 1 tera ops 정도 필요

TPU 구성을 보면 Control 로직 비중은 2%

Systolic Array 연산이 중요함.

TPU의 원래 목표는 GPU의 10배의 성능이었으나 실제 대부분 지표에서 10배 이상의 성능이 나오고 있음.

Google Cloud TPU 서비스 베타 상태임.

아래 것들 사용 가능한 듯 (Tensor Board)... 아닐수도 있음;;

  • Image Recognition & Object Detection
  • Transformer
  • Speech Recognition

05. Track B. ML Kit 모바일 개발자를 위한 머신러닝

  • 발표자 : 남상균 (NBT)
  • 발표 자료 :

Firebase ML Kit 이야기. 결국은 GCP Vision API 사용. 결론은 유료.

Google I/O Keynote 에서도 AI에 대한 중요성 강조함.

  • 2017년 : Mobile first to AI first
  • 2018년 : Solving problems with AI for everyone
    • Mobile에는 ML Kit, TF Lite for Mobile

캐시슬라이드의 경우 광고 타켓에 대해서 visioning 사용 (구글 API 사용)

기존에는 client에서 data를 server에 전달 후 연산하는 구조가 주로 쓰임.

on-device ML 도 가능해짐

  • 장점

    • 오프라인 가능
    • 데이터 디바이스 보관
  • 단점

    • 메모리 사용
    • 배터리 소모
    • 낮은 컴퓨팅 파워

Tensor Flow Lite는 아직 실사용에는 어려운 점이 많음. 그래서 ML Kit이 나온 듯.

Google의 ML Kit & AR Core 와

Apple의 Core ML & ARKit 의

네이밍이 가져다 주는 개발자의 작명센스란..

ML Kit은 파이어베이스에서 지원함. Google Cloud Platform API로 지원됨.

  • 기본 API : 주로 이미지 관련
    • 이미지 라벨
    • 텍스트
    • 얼굴 감지
    • 바코드 스캔
    • 랜드마크 인식
    • 스마트 회신(자동완성) 제공 예정
  • 커스텀 모델
    • 동적 모델 다운로드
    • 파이어베이스 원격설정을 통한 A/B 테스트 지원
    • 모델 변환과 압축 제공 예정

Google Codelabs에서 관련 튜토리얼 확인 가능 : https://codelabs.developers.google.com/

Firebase ML Kit

  • Cloud/on-device(기기별) 지원
  • Firebase는 브릿지 역할이라 GCP API를 실제 사용하게 됨.(유료임)
  • on-device일 경우 앱 설치 후 모델 다운로드를 권장함
  • Text Detector 등의 경우 Cloud/on-device에 따라 처리 갯수 차이가 남
  • 커스텀 모델은 model interpreter 사용
  • Firebase 모델 매니저에서 Local/Cloud 모델 소스 관리

visioning API 사용시 주의점 : 이미지 Rotation 값을 잘 설정해야 함.

ML Kit 사용시 고려할만한 서비스들

  • Firebase A/B Testing
  • Cloud Firestore
  • Firebase Performance
  • Google Analytics

Google Cloud Vision API 가격


06. Track A. New Google News & Material Design

  • 발표자 : 안태완 (Google)
  • 발표 자료 :

앱 프로덕트 디자인에 대한 내용 + Material Design Theming 이야기

개발 이야기 X

Google AI 모토는 Human Intelligence 를 support 하는 것

Fake New가 많아 Trust에 대한 부분 필요.

AI 를 통해 paragraph를 뽑아 리스트 배치도 함.

Google Material Theme

Open source 기반 높은 수준의 디지털 경험을 제공하는 것이 목적

Material Theming

기존 Material 은 Product 차별점이 없음.

좀 더 flexible하게 확장된 개념.

주요 개념

  • Centerable
  • more white space
  • product (brand) color
  • 컨텐츠 중심

적용 사례

  • Gmail
  • Google News
  • Google Play
  • Google Home

전리품

기본 : 출입태그, 구글백(신발주머니 같은..), 티셔츠, 선글라스

GDG : 스피너

레진코믹스, 오픈서베이 : 스티커?

참고자료

https://io-extended-seoul-18.firebaseapp.com

+ Recent posts