애플이 최근 4세대 애플TV를 공개했다. 새 애플TV는 샛톱박스 수준에서 벗어나 가정용 엔터테인먼트 시스템으로 진화를 시도했다.
TV 리모컨은 터치와 음성인식 인터페이스를 장착했고, 게임컨트롤러 역할도 한다. 개발자는 제공되는 소프트웨어개발도구(SDK)로 애플TV용 앱을 개발해 수익을 꾀할 수 있게 됐다.
애플은 iOS 생태계를 통해 전세계 개발자를 끌어모았다. 그리고 그 생태계를 TV 영역으로 확장하려 한다. 아직까지 TV용 앱 생태계를 성공적으로 구축한 사례가 없다는 점에서 애플의 시도가 주목된다. 애플TV의 운영체제는 TVOS다. iOS에 기반하고 TV 최적화를 염두에 둔 계층을 포함한다. X코드의 TVOS SDK를 활용해 iOS와 유사하게 앱을 만들면 된다.
애플은 이와 더불어 유니버셜 앱을 거론했다. 애플TV나 iOS 기기에서 앱을 한번 구매하면, 어는 기기서든 사용할 수 있다는 설명이다. 아이폰과 아이패드로 한정했던 통합구매채널을 애플TV로 확장한 것으로, MS의 유니버셜윈도플랫폼(UWP) ‘전략’과 유사하다.
애플은 TVOS 개발가이드 문서를 통해 “새 애플TV는 수동적인 미디어 플레이어 이상으로, 사용자가 게임을 즐기고, 생산성 앱을 사용하며, 영화를 보고 경험을 공유할 수 있다”며 “이같은 늘어난 기능이 개발자의 기회를 늘려준다”고 강조했다. 또한 “새 애플TV는 최신 iOS 프레임워크와 tvOS의 독특한 프레임워크를 사용한다”며 “iOS 개발과 유사하면서 iOS 기기에서 찾지 못했던 앱 개발의 열린 가능성을 보게 될 것”이라고 개발자에게 구애 매시지를 던졌다.
일단 애플TV 앱을 개발하려면 별도의 개발자 인증을 받아야 한다. SDK는 X코드7.1에 포함된다.
애플TV 하드웨어는 64비트 A8프로세서, 32GB 혹은 64GB 디스코, 2GB RAM, 10/100Mbps 이더넷, 1080p 해상도, HDMI, 시리 리모트 등의 사양을 갖고 있다.
애플TV 리모컨 자체는 세계 어디서나 사용가능하지만, 시리 기능은 미국, 캐나다, 프랑스, 독일, 오스트레일리아, 일본, 스페인, 영국 등 8개국에서 사용가능하다.
기본적으로 애플TV 앱은 iOS와 유사하게 개발할 수 있다. 더불어 클라이언트-서버 앱을 개발하도록 했다. 개발자는 자바스크립트, DOM, HTTPS, XMLHTTPRequst 같은 웹 기술을 사용할 수 있다.
애플은 TV용 클라이언트-서버 랩의 인터페이스를 만드는 TVML(Television Markup Language)이란 표시언어를 제공한다. TVML 문서는 자바스크립트를 사용한다. TVML킷 프레임워크는 네이티브 코드와 자바스크립트 및 TVML 코드 사이의 가교를 제공한다.
iOS의 패럴랙스 이미지 기능도 활용할 수 있다. UIKit을 사용해 패럴랙스 효과 적용을 일정부분 자동화할 수 있다.
TVOS 프레임워크는 iOS에 없는 새 프레임워크를 갖고 있다. 일단 TVMLJS로 TVML 페이지를 읽을 때 사용되는 자바스크립트 API다. TVMLKit은 앱에서 자바스크립트와 TVML 요소를 통합하는 수단이다. TVServices는 사용자의 앱 아이콘 선택 시 상세정보를 노출하도록 만드는 프레임워크다.
애플은 TVOS 프레임워크가 iOS 프레임워크 다수를 상속한다고 설명하고 있다. iOS와 TVOS 사이의 차이는 적다는 설명이다.
애플TV는 마우스를 사용할 수 없다. 때문에 UI에서 터치와 제스처를 중심에 둬야 한다. 이에 대한 UI 도구가 제공된다.
앱에 대한 자원 제한사항도 있다. 4세대 애플TV 앱은 설치 데이터 외의 모든 데이터를 아이클라우드에 저장해야 한다. 사용자 데이터는 아이클라우드를 통해 공유되므로 디바이스에 상관없이 일관된 경험을 제공할 수 있다는 설명이다.
애플은 아이클라우드 스토리지 옵션으로 아이클라우드 키밸류스토리지(KVS)와 클라우드킷을 제공한다. 1MB 이하의 소용량을 필요로 할 경우 아이클라우드KVS를 사용하면 된다. 1MB 이상의 대용량을 필요로 할 경우 클라우드킷을 사용하면 된다.
앱 패키지 용량은 최대 200MB로 제한된다. 200MB 이상으로 필요한 부분은 애플 클라우드킷을 온디맨드 자원으로 사용할 수 있다.
앱 결제 시스템으로 애플페이 사용도 불가능하다. 개발자는 애플TV 앱에 자체적인 결제시스템을 적용해야 한다.
현재까진 iOS 랩을 TVOS 앱으로 변환하는 방법 혹은 도구에 대한 자세한 내용은 없다. TVOS 개발자포럼에 올라온 글에 달린 답변에 따르면, iOS 코드 다수를 재활용할 수 있다. 다만, 개발자는 프로젝트에 TVOS 타깃을 새로 생성해야 한다. UI를 인터페이스빌더로 TVOS에 맞게 새로 만들어야 한다. iOS 프로젝트를 그대로 TVOS에서 실행하거나 재컴파일하는 것도 불가능하다.
웹기술 사용에도 제한이 있다. 자바스크립트와 DOM은 지원하지만, HTML은 지원하지 않는다.
진정한 유니버셜 앱도 아니다. 에디 큐 애플 소프트웨어및서비스 담당 수석부사장은 9일 행사에서 ‘유니버셜 앱’이라 표현했지만, 개발 가이드 문서엔 ‘유니버셜 구매’라고 표현됐다. 코드 수정없이 모든 디바이스에서 구동되는 게 아니다. 개발자는 OS X 앱 개발처럼 TVOS 타깃으로 새로 앱을 만들어야 한다. 코드와 자원을 여러 타깃이 공유하는 형태다.
관련기사
- 새 애플TV에 대해 알려지지 않은 7가지2015.09.15
- 아이폰6S부터 애플TV까지 신제품 총정리2015.09.15
- 애플, 3년 만에 '애플TV' 신제품 발표2015.09.15
- 애플, 새 애플TV로 콘솔 게임도 넘보나2015.09.15
TVOS 앱은 애플TV의 마이크에 접근할 수 없다. 받아쓰기 기능은 물론, TVOS 앱 작동에 시리를 활용하는 게 불가능하다는 의미다.
애플은 TVOS 정식버전 출시에 맞춰 개발 가이드 최종안이 나올 것이라고 공지했다. 현재의 여러 제약사항은 다년간 지속적인 업데이트를 통해 추가될 것으로 전망된다.