Vega向けReact Nativeの概要
React Nativeについて
React Native(RN)は、開発者がウェブ開発ツールであるReactを使用してネイティブアプリを構築できるようにするオープンソースのフレームワークです。デバイスごとに個別のアプリを作成する代わりに、React Nativeはウェブスタイルのコードをネイティブデバイスコンポーネントに変換します。最初は携帯向けでしたが、今ではコミュニティの手でテレビ、ウェブブラウザ、デスクトップコンピューターでも使えるようになっています。
React Nativeは、次のような機能により、迅速な開発サイクルと効率的なエンジニアリングを実現します。
- クロスプラットフォーム開発 - 単一のコードベースを使用して複数のプラットフォーム用のアプリを作成します。
- ネイティブのパフォーマンス - ネイティブコードにコンパイルすることで、ネイティブに近いパフォーマンスを実現します。
- 迅速な開発とイテレーション - ホットリロード機能により、変更をリアルタイムで確認できます。
- 対話操作パターン - 複数の対話操作パターン(リモコン、タッチ、音声)をサポートします。
- フォーカス管理 - 組み込みのフォーカス管理機能により、リモコンでTVアプリを操作できます。
- ネイティブモジュールとの統合 - 必要に応じてOS固有の機能に簡単にアクセスできます。
Vega向けReact Native
Vegaは、すべてのサポート対象デバイスで動作する単一のアプリを作成できる、Amazonの新しいSDKです。Vega向けReact Native(RNV)は、VegaにReact Nativeのサポートを追加し、Amazonのグラフィックシステムとデバイス機能を活用しながら、使い慣れたReactツールを使用できるようにします。
Vega向けReact Nativeは、React Nativeエコシステムのクロスプラットフォームの原則を取り入れ、RN APIや人気のあるライブラリと同等の機能を提供することを目指しています。RNVはReact Nativeの多くのコアコンポーネントとAPIをサポートしており、React Nativeのライブラリも移植されています。つまり、最小限の変更で既存のReact NativeコードをVegaデバイスで再利用できます。Vega SDKには、使い慣れたReact Native開発ツールに加えて、優れたパフォーマンスを維持しながらアプリを迅速に構築およびテストするのに役立つ追加ユーティリティが含まれています。
Vega向けReact Nativeの拡張機能
RNVでは、現在のTVデバイスはもちろん、将来登場するほかのデバイスカテゴリーでVega OS固有の機能をサポートするために、React Nativeが「ストック」バージョンを超えて拡張されています。これらの拡張機能により、RNコアとRN TvOSからの機能を適応させ、Vega固有のAPIを備えた追加機能を提供して、Amazonデバイスの要件に対応します。
この統合によって提供される主な機能は次のとおりです。
- RNの新しいアーキテクチャに基づいたファブリックモジュールおよびターボモジュールのサポートと、JSI経由でNode-APIを利用してターボモジュールを開発するための安定したAPIサポート。
- OSによって提供されるRNランタイムと、アプリのフットプリントを小さくし、起動時間を短縮するその他のコアコンポーネント。
- RN TvOSのコア機能。
TVFocusGuideViewやTVEventHandlerがあります。 - W3C MSE/EME仕様に準拠したメディアフレームワーク。再生およびメディアコントロールでウェブJSプレーヤーの再利用が可能になります。
- Vega固有のAPI拡張。
KeplerAppState、FocusManager、SplashScreenManager、I18Nなどがあります。 - 存続期間の短いタスクやサービスを実行するヘッドレスRNプロセスのサポート。
- レイテンシ指標(描画完了までの時間(TTFD)など)とストレージ指標の最適化。
- オープンソースのReact Nativeライブラリの適応化と移植(可能な場合)。
Vega向けReact Nativeでの開発
Vega向けReact Nativeは、通常のReact Nativeのアプリ開発ワークフローに従います。Vega SDKのプロジェクトテンプレートのいずれかを使用して開発を始めることも、既存のReact NativeプロジェクトのコードベースにRNVサポートを追加することもできます。RNVには、Vegaアプリをビルドするためのreact-native CLI統合を提供するReact Nativeプラグインが含まれています。Vega SDKにより、ネイティブモジュールの自動リンクと、Vegaアプリのビルド、実行、テストのサポートが提供されます。
開発者ツール
Vega SDKは一連の開発ツールをサポートしています。これには、Vega専用に構築されたツールと、よく使用されるReact Nativeコミュニティのツールが含まれています。
Vega固有のツール
- Vega Studio - VegaアプリをビルドするためのメインのIDEとして機能するVS Code拡張機能です。Vega Studioでは、アプリの作成、ビルド、実行に加えて、パフォーマンスツールを使用したテストを行うことができます。
- Vega CLI - アプリをビルドしてシミュレーターで実行できます。
- Vega仮想デバイス - 開発中にアプリをローカルで実行するためにVegaシミュレーターを使用します。
- VDAユーティリティ - アプリをVega対応デバイスにインストールして実行するためのコマンドラインツールです。
コミュニティツール
- Appium - 統合テストとエンドツーエンドテストを自動化します。
- Charles Proxy - ネットワークトラフィックを検査します。
- Flashlight - RNアプリのパフォーマンス指標を自動化します。
- React DevTools - Reactコンポーネントのデバッグと検査を行います。
バージョンとアップグレード
Vega向けReact Nativeは、アプリのサイズを最適化して起動時間を短縮するために、OSでReact Nativeランタイムをネイティブにサポートしています。RNVでは現在、新しいアーキテクチャを備えたRN 0.72がサポートされています。将来のリリースではより新しいバージョンがサポートされる予定です。Vega OSは、アプリが将来のReact Nativeバージョンおよびライブラリとの互換性を維持できるように設計されています。
詳細については、RNVのバージョン管理を参照してください。
関連トピック
Last updated: 2025年10月17日

