개발자를 위한 구글I/O2015 총정리

M, 페이, 브릴로와 위브, 그리고 새로운 개발툴

컴퓨팅입력 :2015/05/29 14:02    수정: 2015/05/30 09:24

구글이 연례 개발자컨퍼런스 '구글I/O'를 통해 안드로이드 새버전의 변화를 소개하고, 사물인터넷(IoT)을 겨냥해 확대된 플랫폼 비전과 새로운 언어를 선보였다. 안드로이드 애플리케이션(이하 '앱') 콘텐츠 활용 시나리오를 다양화해줄 부가적인 소프트웨어(SW) 개발도구의 변화도 제시했다.

전반적으로 경천동지할 소식은 없었다. 절실함보단 여유로움이 엿보인다. 구글 플랫폼이 모바일을 넘어서 일상 속의 사물과 생활 전반으로 확장되도록 도와줄 개발자들의 지원을 기대하는 모양새다. 현장에서 나온 소식을 개발자 눈높이에 맞춰 정리했다.

요약하면 이렇다. 첫째, 개발자들은 정보수집을 위해 별다른 설명 없이 권한을 마구잡이로 요구했던 행태를 바꿔야 할 시점이 다가왔다. 둘째, 개발중인 서비스에 모바일플랫폼 기반의 온오프라인 결제 시나리오를 담으려면 애플뿐아니라 구글플랫폼도 염두에 둘 필요가 있다. 셋째, 안드로이드 개발자들은 IoT 센서 제어와 앱 개발을 위한 새 언어를 익혀야할 수도 있다. 넷째, C와 C++코드로 앱을 만들 때 이클립스 대신 '안드로이드스튜디오'라는 구글 개발툴을 써도 된다. 다섯째, 더 나은 TV스트리밍 게임을 만들 수 있다. 저렴한 가상현실(VR) 콘텐츠를 아이폰 사용자에게도 선보일 수 있다.

■차세대 운영체제(OS) '안드로이드M'

안드로이드M 개발자프리뷰버전이 공개됐다. 구글 레퍼런스 단말기인 '넥서스5', '넥서스6', '넥서스9', '넥서스플레이어'에서 테스트해볼 수 있다. 정식판은 오는 3분기 나올 예정이다.

안드로이드M에서 개발자들에게 상당한 변화는 앱이 사용자가 허용한 기능만 단말기에서 작동될 수 있다는 점이다. 알려진대로 앱 권한(App permission) 제어 기능이 생긴 것이다. 사용자 기기의 위치, 카메라, 마이크, 연락처, 통화, 문자, 일정, 센서 정보에 접근하려면 사용자가 이를 허용해야 한다. 이미 알려졌던 내용이 구체화된 셈이다. (☞관련기사)

이전엔 앱이 요구하는 모든 권한을 내려받는 시점에 사용자가 승인해야 했다. 하지만 앱 권한 제어 기능이 공식화되면, 여기에 맞춰 개발한 앱은 사용자 기기에 설치돼 해당 기능을 필요로하는 시점에 권한을 요청하게 된다.

유명 메신저 '왓츠앱'을 예로 들면, 메신저 기본 기능인 문자 송수신은 데이터통신 기능을 쓰므로 그냥 작동할 수 있다. 하지만 음성전송이나 녹음을 필요로한다면 사용자가 해당 시점에 마이크 기능 권한을 승인해 줘야 한다. 개발자가 사용자에게 승인을 강제할 방법은 없다.

■애플페이 대항마, '안드로이드페이'

근거리무선통신(NFC) 칩과 지문인식센서를 탑재한 안드로이드M 기반 단말기에선 구글의 새 결제플랫폼 '안드로이드페이' 서비스를 이용할 수 있게 된다. 지난 2011년말 등장한 NFC 결제서비스 '구글월렛'이 성공을 거두지 못했기 때문에 나온 보완책이다. 애플페이를 적극 벤치마킹한 모양새다.

데이브 버크 구글 엔지니어링 부사장은 안드로이드페이가 70만개 점포의 NFC 기기와 함께 작동할 것이라고 강조했다. 호환되는 업체는 얼마나 될까? 버크 부사장은 안드로이드페이를 오픈플랫폼이라 묘사하며 은행들도 자신의 앱을 올릴 수 있다고 언급했다.

어느 은행을 지원하는진 불분명하나 현시점에 아멕스, 비자, 마스터카드, 디스커버 등 주요4개 신용카드 지원이 예고됐다. 메이시스와 맥도널드의 상품결제, AT&T, 버라이즌, T모바일같은 통신사의 휴대전화 구매시 안드로이드페이가 대응할 것으로도 예고됐다.

안드로이드페이는 재작년 안드로이드 '킷캣' 버전에서 선보인 구글월렛의 '호스트카드 에뮬레이션'기술에 기반한다. 이 기술은 구매자가 자신의 실제 신용카드 번호를 제시하는 게 아니라 이를 대신하는 '토큰'을 쓸 수 있도록 해준다. NFC와 지문인식, 토큰기반결제 모두 애플페이 닮은꼴이다.

구글은 일단 안드로이드페이 이용시 제휴업체를 통해 자동적으로 적용되는 별도 혜택과 보상프로그램을 지원할 계획이다. 다른 결제수단을 쓸 때보다 확실한 이득을 제시해 소비자들이 신용카드나 현금거래 대신 안드로이드페이를 선택하도록 유도하겠다는 전략이다.

일단 미국이나 한국처럼 신용카드 거래가 보편적인 환경에선 그럴듯한 구상이다. 일상화된 카드 결제 인프라는 스마트폰 기반의 모바일결제 시스템이 확산을 어렵게 만드는 요인이기 때문이다. 다만 경쟁자 애플 역시 비슷한 제휴 전략을 애플페이에 포함할 수 있어 차별화는 쉽지 않을 전망이다.

■IoT용 안드로이드 '브릴로', IoT용 언어 '위브'

구글은 IoT용 운영체제(OS)로 '브릴로(Brillo)'를 소개했다. 구글은 스마트홈 시나리오에 초점을 맞췄다. 가정용 온도조절장치나 방범카메라 등 안드로이드 및 브릴로 기반 장치로 채워진 '스마트홈'을 구글 클라우드로 묶어 개인용 안드로이드 단말기에서 이를 제어한다는 발상이다.

브릴로는 안드로이드의 기본 코드에서 파생됐다. IoT 기기 작동과 외부 제어를 받아들이기 위한 핵심 기능만 제외하고 상당부분을 걷어낸 결과물이다. 브릴로와 연계하기 위한 기능이 안드로이드M에도 탑재돼 있다. 구글은 IoT 실현을 위한 플랫폼으로 안드로이드를 띄운 셈이다.

브릴로와 안드로이드M은 구글이 IoT 센서와 기기간 통신용 개발언어로 제시한 '위브(Weave)'에 대응한다. 위브는 개발자들이 IoT 서비스 시나리오에서 휴대전화, 기기, 클라우드를 아우르는 공통코드를 만들어 쓰도록 유도하기 위해 구글이 새로 제안하는 프로그래밍 언어다.

구글은 다음 분기중 브릴로의 개발자프리뷰 버전을 내놓고, 위브를 구동하는 풀스택을 오는 4분기에 공개한다고 예고했다. 실체는 분명치 않지만 스마트기기로 스마트홈을 제어한다는 발상만 놓고 보면 애플 '홈킷(HomeKit)'을 연상시킨다. 내달 출시가 예상되는 애플 iOS 기반의 스마트홈프레임워크다.

하반기부터 스마트홈 구현 프레임워크의 맹주 자리를 놓고 구글과 애플간 경쟁이 심화될 듯하다. 구글이나 애플이나, IoT 기술을 다루는 개발자와 서드파티 제조사들이 의존성을 갖게 한다는 점이 공통적이다. 구글의 '위브 인증'이나 애플의 '홈킷 호환용 MFi 인증'처럼 호환성 인증이 전제돼 있다.

■안드로이드스튜디오, C·C++ 개발툴 NDK 지원

C와 C++ 코드를 다루는 현업 개발자들에게 희소식이다. 구글I/O 첫날 공개된 안드로이드스튜디오1.3 시험판이 구글의 네이티브개발키드(NDK)에 대응한다. 안드로이드스튜디오는 구글이 직접 개발하고 있는 통합개발환경(IDE)이다.

안드로이드의 기본 앱 개발 언어는 자바지만 C와 C++같은 언어로도 결과물을 만들 수 있었다. 이 언어가 필요한 상황은 일반적으로 단말기 중앙처리장치(CPU)의 성능을 최대한 끌어내야 할 경우다. 게임 앱 개발을 예로 들 수 있다. 앞서 개발된 C나 C++ 코드를 재사용해야 하는 경우도 있을 수 있다.

이를 위해 필요한 게 NDK다. 그런데 이를 사용하려면 안드로이드앱 개발자들은 안드로이드스튜디오 대신 이클립스를 써야 했다. 안드로이드스튜디오 1.0 버전은 NDK를 지원하지 않았기 때문이다. 대신 안드로이드개발툴(ADT)이라는 구글의 플러그인을 유명 자바 IDE '이클립스'에 적용해 써야 했다.

안드로이드스튜디오1.3 버전은 NDK지원을 내장한 IDE다. 젯브레인스(JetBrains)의 C 및 C++ 용 크로스플랫폼 IDE인 'C라이언(CLion)'에 기반한 플러그인을 갖췄다. 구글은 이를 모든 안드로이드 개발자들에게 무료로 제공하겠다고 예고했다. 이로써 안드로이드스튜디오는 ADT의 모든 기능을 커버한다.

다만 아스테크니카 보도에 따르면 안드로이드스튜디오1.3은 현재 알파버전에 해당하는 '카나리채널' 단계의 개발 결과물로 배포되고 있다. 말인즉슨, 안드로이드스튜디오의 NDK 관련 신기능은 성숙되기까지 시간이 더 필요하며, 버그가 많을 것이란 얘기다. (☞링크)

안드로이드스튜디오는 크롬 브라우저처럼 완성도가 다른 배포판을 여러가지 제공한다. 완성된 기능과 안정성을 갖춘 것은 안정판(stable channel), 신기능을 모두 갖췄지만 안정화가 필요한 베타판(beta channel), 설익은 신기능을 빠르게 구현하는 단계인 알파판(canary channel) 등이다.

■게임용 크롬캐스트와 iOS용 카드보드 앱 등판?

실용성은 아직 높지 않아 보이지만 콘텐츠 개발자들이 관심을 가질만한 SW개발도구(SDK)도 새롭게 등장했다. TV용 콘텐츠 스트리밍장치 '크롬캐스트'용 SDK 새버전이 게임 개발자를 겨냥한 신기능을 지원하고, 스마트폰으로 간이 VR헤드셋을 만들어주는 '카드보드' 앱이 iOS버전으로 나왔다.

게임전문매체 가마수트라에 따르면 크롬캐스트용 개발도구 '캐스트SDK' 새버전은 크롬캐스트 사용자들이 안드로이드나 iOS 모바일기기를 컨트롤러로 사용해 TV게임을 즐길 수 있게 해준다. (☞링크)

캐스트SDK 새 버전을 통해 개발자들은 멀티플레이어 게임 진행을 더 잘 제어할 수 있게 됐다. 사용자들에게 휴대폰과 TV에 다른 화면을 표시해 주면서 입체적인 구성을 가능케 했다.

관련기사

그리고 애플 관련 소식을 다루는 애플인사이더에 따르면 간이 VR 구현장치인 '카드보드'의 SDK에 iOS 지원이 추가됐다. 이전에도 아이폰을 비공식 지원하긴 했지만 이제 공식화했다는 게 차이다. (☞링크)

또 맥루머스에 따르면 안드로이드용으로만 제공됐던 카드보드 앱을 iOS 버전으로 공개했다. 애플 아이폰 단말기용으로 카드보드시스템을 작동케 해준다. 지원하는 기기는 아이폰5, 5C, 5S, 6, 6플러스다. 이 기기에서 iOS용 카드보드 앱을 실행하면 가상박물관에서 3D객체를 보거나, 만화경을 감상하거나, 세계 주요도시를 거닐 수 있다. (☞링크)