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 : 스피너
레진코믹스, 오픈서베이 : 스티커?
참고자료
'IT > 행사' 카테고리의 다른 글
[행사] Google for Mobile I/O RECAP 2018 참석기 - 04 (0) | 2018.06.29 |
---|---|
[행사] Google for Mobile I/O RECAP 2018 참석기 - 03 (0) | 2018.06.29 |
[행사] Google for Mobile I/O RECAP 2018 참석기 - 02 (0) | 2018.06.29 |
[행사] Google for Mobile I/O RECAP 2018 참석기 - 01 (0) | 2018.06.29 |
[행사] Droid Knights 2018 참석기 (0) | 2018.06.11 |