한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Google I/O 2019: 개발자 여러분들이 Android + Play에서 최상의 경험을 만들도록 지원합니다
2019년 5월 10일 금요일
<블로그 원문은
이곳
에서 확인하실 수 있으며 블로그 번역 리뷰는 이승민(Android GDE)님이 참여해 주셨습니다>
게시자: Chet Haase
Google I/O에서 전 세계 Android 개발자들과 다시 만나게 되어 너무 기쁩니다. 쇼어라인 앰피시어터(Shoreline Amphitheatre)에 모인 7,200명의 참석자와
라이브스트림
을 시청하는 수백만의 시청자 그리고 80개국 이상의 현지
I/O Extended
행사에 모인 수천 명의 개발자들은 Google이 개발자를 돕기 위해 어떤 노력을 하고 있는지에 대해 들었습니다. 우리는 오늘 Google I/O에서 개발자의 생산성을 더욱 높이는 방안과 플랫폼에서 사용자의 개인정보 보호와 보안을 강화하는 방안의 두 가지 큰 테마에 대한 이야기를 나누었습니다. 지금까지 I/O에서 쏟아져 나온 주요 개발자 뉴스를 좀 더 자세히 살펴봅시다.
개발자 생산성
올해 우리는 '하루하루의 모든 시간을 절약할 수 있도록 돕겠다'는 단순한 아이디어에 주력했습니다. 그 실행 방법은 바로 개발자 여러분이 사용하는 모든 것을 훨씬 더 좋게 만들어 드리는 것이겠죠.
Kotlin
2년 전에 우리는
Kotlin
이 Android용으로 지원되는 언어라고 발표한 바 있습니다. 최고 수준의 개발자들은 이미 Kotlin을 애용하고 있었는데, 그 이후로 놀랍도록 빠른 속도로 성장했습니다. 이제는 전문 Android 개발자 중 50% 이상이 Kotlin을 사용하게 되어 Stack Overflow에서 지난 2년간 가장 많은 사랑을 받으며 실행되는 언어 중 하나가 되었고, GitHub에서도 컨트리뷰터 수 기준으로 가장 빠르게 성장하는 언어로 자리매김하고 있습니다.
우리는 오늘 또 한 걸음의 큰 진전을 발표할 예정입니다. Android 개발이 점점 Kotlin을 최우선으로(Kotlin First) 하게 될 것입니다. 다수의 새로운 Jetpack API와 기능이 Kotlin으로 먼저 제공될 것입니다. 새로운 프로젝트를 시작할 경우 먼저 Kotlin으로 작성해야 합니다. Kotlin으로 작성할 경우 보통 개발자가 작성할 코드의 양이 크게 줄어듭니다. 즉, 타이핑하고 테스트하고 유지 관리할 코드의 양이 적어진다는 뜻입니다. 우리는 Jetbrains 및 Kotlin Foundation과 제휴를 맺어 Kotlin을 훨씬 더 쉽게 배우고 사용할 수 있도록 하기 위한 다양한 도구 지원, 문서, 교육 및 이벤트에 계속 투자할 것입니다. 여기에는 새로운 글로벌 이벤트 시리즈인
Kotlin/Everywhere
가 포함되는데, 이 시리즈를 통해 Kotlin, 새로운
Udacity 교육 과정
등에 대해 자세히 알아볼 수 있습니다.
Android Jetpack
우리는 작년에 Android 개발을 가속화하고 더 적은 코드로 고품질의 앱을 쉽게 작성할 수 있게 해주는 Android API인
Android Jetpack
을 발표했습니다. 우리는 개발자가 일상적으로 맞닥뜨리게 되는 해결 과제를 계속해서 더 많이 단순화하고 있으며, 그 결과로 우리의 상위 1,000개 앱 중 80% 이상에서 이미 Jetpack을 사용 중입니다. 오늘 새로운 Jetpack 라이브러리(알파 버전) 6개를 발표하고 5개의 라이브러리를 베타 품질로 끌어올려 선보일 예정입니다. 다음 세 가지 눈여겨볼 대목이 있습니다.
CameraX -
다양한 종류의 Android 기기에서 효과적으로 작업하기 어렵다는 개발자들의 말씀을 많이 들었습니다.
CameraX
는 카메라 개발을 더 수월하고 빠르게 수행할 수 있도록 해주는 새로운 오픈소스 Android Jetpack 라이브러리입니다. 이 라이브러리는 여러 기기에서도 일관된 카메라 환경을 제공하므로, 더 이상 특정 기기를 위한 구성을 따로 관리할 필요가 없습니다. 우리의 프로젝트에 참여하는 제조업체의 기기에서, 광학 줌, 보케, HDR, 야간 모드와 같은 첨단 하드웨어 및 소프트웨어 기능을 위한 지원을 제공할 것입니다. Camera X는 거의 90%의 기기에서 작동합니다.(L버전까지 호환) 이전 Camera API로부터 손쉽게 이전할 수 있는 경로도 있으며 camera2 API와 함께 자연스럽게작동합니다. Android에서 카메라 사용량 중 70%는 (기본 앱이 아니라) 설치된 앱에서 발생하므로, 더 쉽게 카메라 개발 작업을 수행할 수 있도록 해드리게 되어 정말 큰 보람을 느낍니다.
아키텍처 컴포넌트 -
우리는 개발자의 의견을 바탕으로 여러 가지 기능추가 및 개선 만들었습니다. 개발자들께서는 Android에서 병행성이 어렵다는 의견을 주셨습니다. 그래서 공통의 비동기 작업을 제공하기 위해위한 LiveData와 Lifecycle에서 코루틴 지원하고자 합니다.
ViewModel with SavedState
모듈을 사용하면 보일러 플레이트 코드를 없애고, ViewModel에서 바로 데이터를 저장하고 검색하기 위한 간단한 API로 ViewModel과 SavedState를 모두 사용하는 이점을 누릴 수 있습니다. 혹시 놓치신 분도 계실 것 같아 다시 알려드리자면, 우리는 두어 달 전에
WorkManager
(백그라운드 처리)와
Navigation
(앱과 화면 간 탐색)의 안정된 릴리스를 발표한 바 있습니다.
Jetpack Compose -
많은 개발자께서 Kotlin을 이용하고 플랫폼 및 기존의 모든 코드와 빈틈없이 통합되는, 현대적인 반응형 스타일의 Android용 UI 도구 키트를 제공해 달라고 요청하고 계십니다. 이에 부응하여 우리는 오늘
Jetpack Compose
에 대해 우리 팀이 작업한 결과물을 공유하겠습니다. Jetpack Compose는 반응형 프로그래밍 모델을 Kotlin의 간결성 및 사용 편의성과 결합하여 UI 개발을 간소화하도록 설계되었습니다. 이 도구 키트는 기존의 UI 도구 키트와 호환 가능하므로, 모든 Android 및 Jetpack API에 직접 접근하여 뷰를 혼합하고 매칭할 수 있습니다. 또한 UI 컴포넌트를 정의하기 위한 완전히 선언적인 도구 키트이기도 합니다. 그리고 처음부터 Material, 애니메이션 및 도구를 염두에 두고 설계된 도구 키트입니다. 우리는 오늘부터 Jetpack Compose를 공개적으로 개발할 예정이며, AOSP에서 모든 코드를 찾을 수 있습니다.
Android Studio
우리는 오늘
Android Studio 3.5
를 베타 버전으로 발표할 예정입니다. 담당 팀은 몇 개월 동안 Project Marble을 사용하여 개발자의 일상적인 개발 워크플로를 구체화하고 세심하게 다듬어 마무리하는 작업에만 주력해왔습니다. Android Studio 3.5는 대규모 프로젝트를 위한 IDE 메모리 관리, 더 짧은 타이핑 지연 시간,
lint 개선
, CPU 사용 최적화,
레이아웃 편집기 개선
,
에뮬레이터 개선
,
빌드 변경 사항
은 물론이고, 코드 변경 사항을 빠르게 볼 수 있는 Instant Run(지금은
Apply Changes
라고 부름)을 완전히 재작성하고 우선순위가 높은 400여 개의 버그를 수정하였습니다.
Android 규모에 걸맞은 머신러닝
Android Q에서는 Android의 NNAPI(Neural Networks API)를 대폭 개선했습니다. 먼저, 우리는 Operator의 개수를 38개에서 90개 이상으로 늘렸습니다. 대다수의 모델은 변경 없이 NNAPI로 가속할 수 있습니다. 우리는 어떤 하드웨어 컴포넌트가 가속을 처리할지 완전히 제어할 수 있도록 해주는 고급 사용자용 인트로스펙션 API도 선보였습니다(예: DSP와 NPU). 그리고 하드웨어 벤더와의 긴밀한 협력을 통해 지연 시간과 소비전력에 있어서 모두 상당한 성능 향상을 실현했습니다. 우리는 MediaTek으로 작업하여 Helio P90에서
ML Kit
의 얼굴 인식 API를 9배 가속할 수 있었습니다. Qualcomm으로 작업하여 Snapdragon 855의 AI Engine에서 Google의 Lens OCR을 가속하여 속도를 3배 늘리는 동시에 소비전력은 3.7배 절감할 수 있었습니다.
동적 기능과 인앱 업데이트
우리는 작년에 앱 크기 감소와 설치 수 증가에 도움이 되는
Android App Bundle
을 선보였습니다. 그 이후로 80,000여 개의 앱 번들이 프로덕션 환경에 도입되었고 평균 크기는 20% 절감되는 성과를 거두었습니다. 오늘 우리는 크기를 줄이고 사용자에게 훨씬 더 빠르게 업데이트를 제공하는 데 도움이 되는 여러 가지 발표를 할 예정입니다. 오늘
동적 기능 모듈
이 베타 버전에서 안정된 버전으로 나아가게 되었다는 소식을 기쁜 마음으로 알려드립니다. 동적 기능 모듈을 사용하면 기기의 특징, 국가 등의 조건을 기준으로 앱의 어떤 부분을 제공할지 선택함으로써 앱 크기를 훨씬 더 줄일 수 있습니다. 모듈을 설치 시점에 제공하는 대신 온 디맨드 방식으로 제공할 수도 있습니다. 그리고 오늘 우리는
인앱 업데이트
를 베타 버전에서 안정된 버전으로 승격합니다. 앱을 동적으로 업데이트할 수 있게 해달라는 것은 개발자들께서 오랫동안 요청해오신 사항입니다. 앱에 결정적인 버그가 있어 지금 당장 그 버그를 몰아내야 하지만, 사용자들이 Play Store에서 업데이트를 발견할 때까지 기다리고 싶지는 않으실 겁니다. 이제는 기다릴 필요가 없어졌습니다.
Android Q에서의 사용자 개인정보 보호와 보안
개발자 커뮤니티를 운영하는 입장에서, 우리 모두는 이 문제를 올바르게 처리하는 데 큰 관심을 기울이고 있습니다. 이는 개발자를 위해 강력한 기능을 제공하는 동시에 사용자 안전과 개인정보를 확실히 보호하는 플랫폼을 구축하는 문제입니다. 우리는 사용자 개인정보 보호 및 보안과 관련하여 50여 가지 기능과 개선 사항을 포함한 Android Q Beta를 몇 달 전에 선보였습니다. 이러한 Q 변경 사항으로 사용자에게 더 많은 투명성과 제어 능력을 제공합니다.
늘 그렇듯이, 우리는 새 릴리스를 채택하는 개발자를 위해 우리가 할 수 있는 모든 일을 하기 위해 최선을 다합니다. 우리는 개발자마다 나름대로 빌드하고 싶은 기능이 있다는 점을 잘 알고 있습니다. 그래서 우리는 이러한 Q 변경 사항과 함께 개발자에게 미치는 영향을 최소화할 뿐 아니라 개발자의 의견을 반영하기 위해 각고의 노력을 다해왔습니다. 공지 기간을 가능한 한 길게 두었을 뿐더러, 완전하고 세부적인 기술 정보를 미리 제공함으로써 가급적 용이하게 채택할 수 있도록 배려했습니다. 또한 커뮤니티에서 지속적으로 좋은 의견을 많이 보내주셔서 감사합니다. 개발자의 의견은 이 문제를 올바로 처리하기 위해 노력 중인 우리 팀에 엄청나게 큰 도움이 되고 있습니다. 베타 테스트를 거치는 과정에서 개발자의 의견이 기능 향상에 도움이 된 좋은 예로서
Beta 3 저장소 변경
을 들 수 있습니다. Android는 오랫동안 모든 파괴적 변화를 최소화하겠다는 약속을 지키고 있습니다. 우리의 약속은 변함없으며, Android를 개방적이고 유연하며 우리 모두가 사랑하는 개발자 친화적 플랫폼으로 유지하기 위해 계속 노력할 것입니다.
Google I/O에서
Android와 관련된 45개 이상의 세션
을 비롯하여 멋지고 훌륭한 콘텐츠를 많이 준비해 두었습니다.
우리는 전 세계 수십억 명의 사용자에게 개발자를 연결해주는 플랫폼에 끊임없이 투자할 것입니다. 계속 성원해주시고 좋은 의견을 많이 주시며 Android 생태계의 소중한 일원이 되어 주시는 전체 Android 커뮤니티에 감사의 마음을 전합니다.
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2025
1월
2024
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed