tvOSキター!→なんだややこしそうだな…ゲンナリ…

こんちは、おひろです。

恒例のAppleのプレスイベントでいろいろと発表がありましたね!
個人的にはAppleTV用に新しい「tvOS」という名のOSが積まれ、
それに付随する開発環境(Framework)が用意された、というところに興味がそそられました。
AppleTV用にアプリを作って公開できるということですね!

ということでアプリ製作の概要が書かれている「App Programming Guide for tvOS」が
公開されていたので、ざっくり読んでみました。
今回はざっくり内容について触れてみたいと思います。ざっくり、ざっくり。

TVMLとTVJS

まず、最初の概要のページやアプリの作り方ページをざっと眺めていると、
どうもこれまでと違う。作るのはClient-Serverアプリだと言うのです。
もうこの時点で個人的には馴染みがないんですが、Webっぽい作りだと認識しました。

表示部分に関してはTVMLというマークアップ言語を使うとのことです。
TVMLKitというフレームワークがあり、いろいろテンプレートが用意されています。
この中から選んで使う感じですかね。アラート出したいときはalertTemplate、
コンテンツを並べて選択させるような画面ではcatalogTemplateを使う、といった感じです。
divTemplateというのを使えば一応任意のレイアウトを作れるみたいです。
(ただ基本的には用意されているテンプレートを使ってね、と書かれていました。)

…あれ?Storyboardは使わないの?
私あんなに勉強したのよ?TVMLってなによ、また勉強させるつもりなの?
そんなのあんまりじゃない…!という気分です。

ユーザーからのアクションを受けて各種処理を行うコードについては
JavaScriptで書くらしいです。
各機能を実装するためのフレームワークとしてTVJS Frameworkが
用意されています。

…あれ?Swiftじゃないの?
私あんなに勉強したのよ?JSってなによ、それくらい書けるよねと言いたいの?
書けないわよ、そんなのあんまりじゃない…!という気分です。

というかですね、結局よく分からないです。
どうも読んでると、TVMLやTVJSを使うやり方は一つの方法であって、
これまでの作り方もできそうな気もするんですが、じゃあこれまでのやり方だと
どうかというとあまり具体的に書かれていません。(あんまりちゃんと読んでないので書いてるかも)
まぁそれはこれからサンプルとか見て勉強するか…。

リソースの扱い

アプリのサイズの上限が決められていて、なんと200MBだそうです。
ゲームを押し出していくといってるのに無理じゃねーかと
思っていたら、どうやらOn-Demand Resourceという考え方っぽいです。
つまり必要な時にサーバーからリソースをダウンロードするということだと思います。

この話だけでどっさりドキュメントがあって、なかなか面倒くさそうです。
取得したリソースにはライフサイクルなんかもあったりして、その辺考慮した
実装が求められそうです。

ゲームだとこまめにリソースのダウンロードや破棄が発生すると思うんですが、
パフォーマンスはどうなんだろう?
あといちいちダウンロードが走ってとめられたらユーザーもうっとおしいと
思うんですが、バックグラウンドでダウンロードっていうのも当然あるんだろうか。

まぁほぼゲーム作らないんであんま気にするところではないかw

所感

本当に触りのところしか見れてないですが、面倒くさそうな印象をうけました。
これまでのiOSアプリはそのまま動くのかな?そしてその場合には
アプリ200MB制限はあるのかな?そのまま動いて制限ないなら人気も
でるかもしれませんが、そうでないならどうかな。。

とあまり良いこと言わないにも関わらず、開発キットの抽選にはちゃっかり
応募しておきました。発売前に実機がもらえて開発できるそうです。当たるといいな。

ではでは。

Pocket