Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート
メインコンテンツへスキップ
@amazon-devices/react-native-workletsは、Reanimatedのパフォーマンス機能の基盤を提供するReact Nativeのマルチスレッドライブラリです。これにより、JavaScriptコードを複数のスレッドやランタイムで並行して実行することが可能になり、メインのJavaScriptスレッドをブロックしないスムーズなアニメーションと対話操作を実現できます。

ワークレットとは

ワークレットとは、シリアル化して異なるスレッドで実行できるJavaScript関数です。関数を'worklet'ディレクティブでマークすると、その関数はBabelプラグインによってシリアル化可能な形式に変換され、UIスレッドやほかのカスタムランタイムにコピーして実行できるようになります。

主な機能

  • マルチスレッド:JavaScriptコードを別のスレッド(UIスレッド、カスタムワークレットランタイム)で実行します。
  • ゼロコピーシリアル化:パフォーマンスのオーバーヘッドなしに、スレッド間で関数を効率的に転送します。
  • Babelプラグインの統合:マークされた関数を自動的にワークレットに変換します。
  • ランタイムの作成:特定用途のワークロード用にカスタムJavaScriptランタイムを作成します。
  • シームレスな統合:アニメーションとジェスチャーのためにReanimatedと透過的に連携します。

ドキュメント

このライブラリの情報、APIリファレンス、その他の詳細については、専用のドキュメントページ(https://docs.swmansion.com/react-native-worklets/)(英語のみ)を参照してください。

インストール

  1. package.jsonファイルにJavaScriptライブラリの依存関係を追加します。
  2. babel.config.jsに@amazon-devices/react-native-worklets/pluginプラグインを追加します。
  3. npm start -- --reset-cacheコマンドを使用して、Metroバンドラーのキャッシュを消去します。
  4. npm installコマンドを使用して、package-lock.jsonファイルを再インストールします。
  5. さらに詳しい情報が必要な場合は、外部ドキュメントのinstallationセクション(英語のみ)を参照してください。

例

並列処理のためにカスタムワークレットランタイムを作成して使用するデモ
スレッドの切り替えの例

API

Vegaのワークレットライブラリは、マルチスレッド処理、メモリ管理、ユーティリティ関数を含む包括的なAPIを提供します。

スレッド

メモリ

ユーティリティ

Vegaでの例外

Vegaのワークレットライブラリには、APIサポートに関していくつかの例外があります。このセクションでは、これらの例外について説明します。
  • 機能フラグは、Vegaでは現在サポートされていません。
  • バンドルモードは、Vegaでは現在サポートされていません。

サポートされているバージョン

クレジット

このプロジェクトは、Shopify、Expo.io(英語のみ)、Software Mansion(英語のみ)の協力により構築され、維持されています。
最終更新日 2026年10月26日