광고 닫기

Apple은 지난주에 무엇보다도 발표했습니다. 새로운 애플 TV tvOS 운영 체제를 사용합니다. 새로운 블랙박스에 App Store의 애플리케이션을 설치할 수 있다는 사실은 확실히 개발자들을 가장 기쁘게 했습니다.

개발자에게는 두 가지 옵션이 있습니다. Apple TV 하드웨어에 대한 전체 액세스 권한을 갖는 기본 앱을 작성할 수 있습니다. 사용 가능한 SDK(개발자를 위한 라이브러리 세트)는 개발자가 iPhone, iPad에서 이미 알고 있는 것과 매우 유사하며 프로그래밍 언어도 동일합니다(Objective-C 및 최신 Swift).

그러나 더 간단한 애플리케이션을 위해 Apple은 개발자에게 TVML(Television Markup Language) 형식의 두 번째 옵션을 제공했습니다. TVML이라는 이름이 의심스럽게 HTML과 비슷해 보인다면 당신 말이 맞습니다. 이는 실제로 XML을 기반으로 하고 HTML과 매우 유사한 마크업 언어이지만 훨씬 더 간단하고 더 엄격한 구문을 가지고 있습니다. 하지만 Netflix와 같은 애플리케이션에는 절대적으로 완벽합니다. 또한 TVML의 엄격함으로 인해 멀티미디어 애플리케이션의 모양과 작동이 거의 동일해지기 때문에 사용자에게도 이점이 있습니다.

첫 번째 응용 프로그램의 경로

그래서 가장 먼저 해야 할 일은 Xcode 개발 환경의 새로운 베타 버전(버전 7.1 사용 가능)을 다운로드하는 것이었습니다. 여기에). 이를 통해 tvOS SDK에 액세스할 수 있었고 특별히 4세대 Apple TV를 대상으로 하는 새 프로젝트를 시작할 수 있었습니다. 앱은 tvOS 전용일 수도 있고, 기존 iOS 앱에 코드를 추가하여 오늘날의 iPhone 및 iPad 앱과 유사한 모델인 "유니버설" 앱을 만들 수도 있습니다.

문제 1: Xcode는 네이티브 앱을 생성하는 기능만 제공합니다. 그러나 개발자가 이 뼈대를 변경하고 TVML에 맞게 준비하는 데 도움이 되는 섹션을 문서에서 매우 빨리 찾았습니다. 기본적으로 Apple TV에서 전체 화면 개체를 생성하고 이미 JavaScript로 작성된 앱의 주요 부분을 로드하는 Swift의 코드 몇 줄입니다.

문제 2: TVML 애플리케이션은 실제로 웹 페이지와 매우 유사하므로 모든 코드도 인터넷에서 로드됩니다. 응용 프로그램 자체는 실제로 "부트로더"일 뿐이며 최소한의 코드와 가장 기본적인 그래픽 요소(응용 프로그램 아이콘 등)만 포함되어 있습니다. 결국, 저는 메인 JavaScript 코드를 앱에 직접 넣는 데 성공했고, 최소한 Apple TV가 인터넷에 연결되어 있지 않을 때 사용자 정의 오류 메시지를 표시할 수 있는 능력을 갖게 되었습니다.

세 번째 작은 문제: iOS 9 및 tvOS에서는 인터넷을 향한 모든 통신이 HTTPS를 통해 암호화되어 이루어져야 한다고 엄격히 요구합니다. 이는 모든 앱에 대해 iOS 9에 도입된 기능이며 그 이유는 사용자 개인 정보 보호 및 데이터 보안에 대한 압박 때문입니다. 따라서 웹 서버에 SSL 인증서를 배포해야 합니다. 연간 5달러(120크라운)의 저렴한 비용으로 구매할 수 있으며, 예를 들어 투자 없이 자동으로 HTTPS를 처리하는 CloudFlare 서비스를 사용할 수도 있습니다. 두 번째 옵션은 애플리케이션에 대해 이 제한을 해제하는 것입니다. 현재로서는 가능하지만 권장하지는 않습니다.

몇 시간 동안 문서를 읽은 후 여전히 가끔 사소한 오류가 발생하지만 매우 기본적이지만 작동하는 응용 프로그램을 만들었습니다. 인기 있는 텍스트 "Hello World"와 두 개의 버튼이 표시되었습니다. 버튼을 활성화하고 실제로 뭔가를 하려고 2시간 정도를 보냈습니다. 하지만 이른 아침 시간을 고려하면 잠을 자는 것이 더 좋았고…

얼마 전 Apple에서 바로 기성 샘플 TVML 애플리케이션을 다운로드하자는 기발한 아이디어가 떠올랐습니다. 코드에서 내가 찾고 있던 것을 매우 빠르게 찾았고 버튼이 활성화되어 작동했습니다. 무엇보다도 저는 tvOS 튜토리얼의 처음 두 부분을 인터넷에서 발견했습니다. 두 리소스 모두 많은 도움이 되었기 때문에 새 프로젝트를 시작하고 첫 번째 실제 애플리케이션을 시작했습니다.

첫 번째 실제 적용

나는 첫 번째 TVML 페이지인 처음부터 완전히 시작했습니다. 장점은 Apple이 개발자를 위해 문서에서 복사하기만 하면 되는 18개의 기성 TVML 템플릿을 준비했다는 것입니다. 하나의 템플릿을 편집하는 데 약 한 시간이 걸렸습니다. 주로 필요한 모든 데이터와 함께 완성된 TVML을 Apple TV로 보내기 위해 API를 준비하고 있었기 때문입니다.

두 번째 템플릿은 약 10분 정도 걸렸습니다. 두 개의 JavaScript를 추가했습니다. 그 안에 있는 대부분의 코드는 Apple에서 직접 가져온 것이므로 바퀴를 재발명할 이유가 없습니다. Apple은 권장 콘텐츠 로딩 표시기 및 가능한 오류 표시를 포함하여 TVML 템플릿 로딩 및 표시를 관리하는 스크립트를 준비했습니다.

2시간도 안 되어 아주 단순하지만 제대로 작동하는 PLAY.CZ 애플리케이션을 구성할 수 있었습니다. 라디오 방송국 목록을 표시하고, 장르별로 필터링하고, 라디오를 시작할 수 있습니다. 예, 많은 기능이 앱에 없지만 기본 기능은 작동합니다.

[유튜브 ID=”kLKvWC-rj7Q” 너비=”620″ 높이=”360″]

장점은 응용 프로그램이 기본적으로 JavaScript로 구동되는 웹 사이트의 특수 버전에 지나지 않으며 CSS를 사용하여 모양을 수정할 수도 있다는 것입니다.

Apple은 아직 준비해야 할 몇 가지 사항이 더 필요합니다. 응용 프로그램 아이콘은 하나가 아니라 두 개로 더 작고 큽니다. 특이한 점은 아이콘이 단순한 이미지가 아닌 시차 효과를 포함하고 있으며 2~5개의 레이어(배경, 가운데 개체, 전경)로 구성되어 있다는 점입니다. 애플리케이션 전체의 모든 활성 이미지에는 동일한 효과가 포함될 수 있습니다.

각 레이어는 실제로 투명한 배경의 이미지일 뿐입니다. Apple은 이러한 레이어 이미지를 컴파일하기 위한 자체 애플리케이션을 준비했으며 곧 Adobe Photoshop용 내보내기 플러그인을 출시할 것을 약속합니다.

또 다른 요구 사항은 "상단 선반" 이미지입니다. 사용자가 맨 위 행(맨 위 선반)의 눈에 띄는 위치에 앱을 배치하는 경우 앱은 앱 목록 위의 데스크톱용 콘텐츠도 제공해야 합니다. 단순한 사진만 있을 수도 있고, 예를 들어 좋아하는 영화 목록이나 라디오 방송국 등이 포함된 활성 영역일 수도 있습니다.

많은 개발자들은 이제 막 새로운 tvOS의 가능성을 탐색하기 시작했습니다. 좋은 소식은 콘텐츠 앱을 작성하는 것이 매우 쉽고 Apple이 TVML을 사용하여 개발자를 위해 먼 길을 갔다는 것입니다. 애플리케이션(예: PLAY.CZ 또는 iVyszílò) 구축은 쉽고 빨라야 합니다. 새로운 Apple TV가 판매되는 것과 동시에 많은 수의 애플리케이션이 준비될 가능성이 높습니다.

기본 앱을 작성하거나 iOS에서 tvOS로 게임을 포팅하는 것은 더 어려울 것이지만 그다지 많지는 않습니다. 가장 큰 장애물은 다양한 컨트롤과 앱당 200MB 제한입니다. 네이티브 애플리케이션은 스토어에서 데이터의 제한된 부분만 다운로드할 수 있으며, 그 밖의 모든 항목은 추가로 다운로드해야 하며 시스템이 이 데이터를 삭제하지 않는다는 보장은 없습니다. 그러나 개발자들은 iOS 9의 일부인 "App Thinning"이라는 도구 세트를 사용할 수 있기 때문에 이러한 제한 사항을 신속하게 처리할 수 있을 것입니다.

주제: , ,
.