AmazonのVega SDKを見てみたい会

AmazonのVegaは従来Androidを使用していたAmazon Fire等のメディア機器を、自前のLinuxディストリビューションで置き換えるもの。React Nativeに特化していて、Native Moduleをビルドして使うこともできるとされている。

インストール
ホストOSはLinuxとmacOSのみの対応。Windowsは対応していない(Virtual Deviceの動作にKVMが必須)。
Amazonのデベロッパーアカウント(amazon.comにアカウントを作り、その後デベロッパープロファイルを作る)でサインインした状態で、ドキュメントにアクセスすると curl
と bash
のコマンドが得られる。
ブラウザの言語設定が日本語だとうまくいかない 。

コンパイル環境
glibc。たぶんAndroid向けのVega環境がある都合で、android向けのツールチェーンもあるようだが、通常のビルドには専用品を用意している。
Target tripleが aarch64-oe-linux
なのでYocto(Open Embedded)ベースなのかな。
/sdk/<バージョン>/packages
以下に、ライブラリ等が小分けにされて配置されている。なぜか32bit arm向けのツールチェーンがまだ存在する。Echoのようなもっと小さい機器を想定しているのかもしれない。

日本語サポート
専用品が既にあるらしい。
The Kepler TV keyboard has support for English (EN), which includes special characters for all Latin languages, and it also supports Japanese (JP).
フォーラムの質問の中には思いっきり dアニメストア と書かれているのもあるので、たぶんそれなりの数のアプリが投入されるんだろう。

グラフィックス
WebGL相当の expo-gl
はサポートされている。
が、SDKにはGLESのヘッダ類が無い。どうやってビルドしてんの。。?
ちなみにWebViewもWebGL2をサポートしている。
その他のReact Nativeライブラリサポート

Turbo Module
先の expo-gl
も含め、プラットフォームのネイティブ機能はTurbo Moduleを経由して使える。
専用のIDLもある。