002.jpg

 

북미 시간으로 2016년 5월 18일에 구글은 미국 샌프란시스코에서 개발자 이벤트인 구글 I/O 2016을 개최했습니다. 해마다 열리는 구글 I/O에서 가장 중요한 건 첫날 오전에 열리는 기조 강연으로, 현재 개발 중인 안드로이드나 구글의 제품, 기술이 발표되기에 많은 관심이 모이는 이벤트입니다.

 

003.jpg

 

우선 안드로이드 N입니다. 올해 여름에 나올 예정인 안드로이드 N은 개발자 프리뷰 버전이 공개 중이며, 이번 행사에 맞춰 새로운 버전도 공개됐습니다.

 

구글은 안드로이드 OS의 개발 코드네임에 알파벳 순서대로 디저트 이름을 붙이는 게 일반적이었습니다. 안드로이드 5.x는 롤리팝, 안드로이드 6.x는 마쉬멜로가 되는 식이지요.

 

그런데 N은 적당한 이름이 떠올르지 않아서 그런건지 아니면 그냥 해보는 것인지 모르겠으나, 일단 안드로이드 N의 코드네임 공모를 하고 있습니다. https://www.android.com/versions/name-n/

 

004.jpg

 

안드로이드 N은 성능, 보안, 생산성이 주로 개선됩니다. 성능에서 주목할 것은 그래픽 API인 벌칸의 지원과 애플리케이션 실행 환경인 ART의 강화가 있습니다.

 

005.jpg

 

벌칸이야 수차례 소개했으니 간단하게 보면, GPU가 직접 액세스해 낮은 오버헤드로 멀티코어를 효율적으로 활용할 수 있는 게 특징인 로우레벨 그래픽 API입니다.

 

안드로이드 N이 벌칸을 공식 지원하면서 게임 개발자가 벌칸을 사용한 안드로이드 게임 개발을 하기가 쉬워집니다. 벌칸을 쓰면 지금까지의 그래픽 API인 OpenGL ES 3.x를 쓴 것보다 보다 빠른 프레임을 낼 수 있다네요.

 

006.jpg

 

ART(Android Run Time)은 자바 가상 코드로 만든 안드로이드 애플리케이션을 실행하는 구조입니다. 안드로이드 4.4에서 도입됐으나 정식 사용은 안드로이드 5.0부터인데요.

 

안드로이드 4.4까지 애플리케이션을 실행할 땐 가상 코드에서 바이너리 코드(CPU가 실제로 처리할 수 있는 형태)로 변환(컨파일)하는 데, Just In Time(JIT) 방식의 컴파일러인 달빅(Dalvik)을 썼습니다.

 

반면 ART는 Ahead of Time(AOT) 방식으로 앱 설치 시 가상 코드를 미리 바이너리 코드로 변환합니다. 이렇게 하면 애플리케이션의 시작 시간을 줄이고, 실행 속도가 향상된다는 장점이 있으나, 설치 시간이 길어진다는 단점이 있는데요.

 

안드로이드 N의 ART는 JIT 방식 컴파일러 기능을 추가해 설치 시간을 줄이게 됩니다. 구글은 이렇게 개량할 경우 애플리케이션의 설치 시간이 75% 줄어들고, 변환된 바이너리 코드는 용량이 50% 줄어든다고 합니다.

 

007.jpg

 

단순히 안드로이드 4.4 시절로 돌아간 것은 아닙니다. 애플리케이션의 사전 컴파일은 디바이스가 충전 중이면서 사용하지 않을 때 자동으로 수행합니다. 또 애플리케이션을 실행하는 동안 수집한 프로파일 정보를 바탕으로 바이너리 코드를 최적화해 기존 ART보다 실행 속도가 빨라집니다.

 

또 설치 시간이 줄어들면서 안드로이드 OS 자체의 업데이트에 걸리는 시간도 줄어듭니다. 안드로이드 6.0 이상에선 OS 업데이트 직후 애플리케이션 최적화라는 메세지가 뜬 후 긴 시간이 지났는데, 이젠 그럴 일이 없는 것입니다. 

 

008.jpg

 

보안 개선은 파일 기반의 암호화, 미디어 프레임 워크의 강화, 원활한 업데이트의 세가지가 있습니다. 순서대로 설명하겠습니다.

 

지금까지 안드로이드에서 암호화 저장하면 내장 스토리지 전체를 암호화하고, 시작할 때 복호화하는 식이었습니다. 안드로이드 N에선 암호화 여부를 제어할 수 있게 됩니다.

 

이것은 업데이트 기능의 향상으로도 이어집니다. 파일 기반 암호화와 ART 개선의 실현으로, 안드로이드 OS 업데이트 중에도 일부 기능과 애플리케이션을 사용할 수 있도록 새로운 시스템 업데이트 기능이 도입됐습니다.

 

안드로이드 6.0까지 스토리지 전체를 함꺼번에 암호화/복호화했기에, 시스템 업데이트 설치 작업은 전용 펌웨어를 써야 했습니다. 따라서 설치 중에 전화가 걸려도 받을 수 없고 SMS나 알림도 받지 못했습니다.

 

그러나 이제는 안드로이드 업데이트 작업의 대부분을 안드로이드가 자체 수행합니다. 따라서 업데이트 설치 중에도 전화나 SMS 알람같은 애플리케이션을 제한적으로나마 쓸 수 있게 됩니다.

 

파일 기반의 암호화 기능은 스토리지의 특별한 영역에 애플리케이션 실행에 필요한 파일을 저장, 암호화해 보호합니다. 업데이트를 설치하는 동안 특정 기능을 쓰지 못했던 지금까지의 안드로이드와 비하면 매우 향상된 것이라 할 수 있습니다.

 

009.jpg

 

이제 생산성 관련 기능으로 멀티 윈도우, 알림 기능의 강화, 이모티콘의 개선을 봅시다.

 

여러 애플리케이션을 동시에 표시하는 멀티 윈도우가 안드로이드 N의 표준 기능이 됩니다. 화면을 상하/좌우로 분할해 여러 애플리케이션을 표시해주는 이 기능은, 스마트폰 제조사가 독자적인 방식으로 구현한 적도 있으나 OS 표준 기능이 되면 어떤 제품에서건 쓸 수 있겠지요.

 

010.jpg

 

안드로이드 TV에선 백그라운드에서 실행되는 동영상 재생 애플리케이션을 PIP식으로 표시하는 것도 가능합니다.

 

011.jpg

 

알림 기능의 강화는 알림 창에 직접 내용을 쓰는 것이 가능해집니다. 문자가 오면 바로 답장을 쓸 수 있지요.

 

012.jpg

 

이모티콘의 개선은 유니코드 9.0 이상에서 구현된 이모티콘을 모두 지원합니다.

 

013.jpg

 

안드로이드 N 이상으로 주목을 받았던 것이 구글이 만든 VR 플랫폼인 데이드림입니다. 구글 카드보드 VR HMD처럼 스마트폰을 표시 장치 겸 연산 장치로 사용하나, 카드보드와 다른 점이라면 제대로 된 고글 HMD와 무선 컨트롤러를 쓴다는 점이지요.

 

014.jpg

 

안드로이드 N에도 데이드림을 지원하는 VR 기능이 기본 내장됩니다.

 

015.jpg

 

앞으로는 데이드림을 지원하는 스마트폰이 나옵니다. 데이드림을 동작하는 데 필요한 센서, 디스플레이, SoC의 조건을 정한 것으로, 삼성, HTC, LG, ASUS에서 출시할 예정입니다.

 

016.jpg

 

또 기존 스마트폰 중에도 데이드림 지원 스마트론이 나온 경우가 있는데, 구글 제품 중에선 넥서스 6P가 있습니다.

 

017.jpg

 

데이드림용 모션 컨트롤러는 버튼 외에도 자세나 움직임을 감지하는 센서를 내장한 리모컨 형태의 컨트롤러입니다. VR HMD용 Wii 리모트라고 보면 됩니다.

 

스마트폰을 활용한 VR HMD에선 화면을 터치할 수 없으니 애플리케이션 실행이 문제였는데, 데이드림이 모션 컨트롤러를 제공하기에 조작의 문제는 해결될 것입니다.

 

018.jpg

 

데이드림은 하드웨어 뿐만 아니라 소프트웨어의 정의도 있습니다. 애플리케이션 실행 시 나오는 홈 하면도 VR 전용이며, VR HMD의 움직임이나 모션 컨트롤러의 조작에 따라 홈 화면에서 VR 애플리케이션과 VR 컨텐츠를 볼 수 있습니다.

 

019.jpg

 

VR 지원 게임이나 컨텐츠도 여러 회사에서 제공합니다. 구글도 스트리트 뷰의 VR 지원을 제공하며 유튜브에서 VR 컨텐츠를 볼 수 있도록 합니다. 스마트폰 카메라를 사용해 360도 영상을 찍는 구조도 등장합니다.

 

020.jpg

 

데이드림 지원 VR 게임을 개발하는 제조사들

 

021.jpg

 

게임 외에 애플리케이션 컨텐츠는 비디오 스트리밍, 뉴스, 스포츠 컨텐츠가 등장. 

기글하드웨어(http://gigglehd.com/zbxe)에 올라온 모든 뉴스와 정보 글은 다른 곳으로 퍼가실 때 작성자의 허락을 받아야 합니다. 번역한 뉴스와 정보 글을 작성자 동의 없이 무단 전재와 무단 수정하는 행위를 금지합니다.