--- title: Worklet slug: Web/API/Worklet translation_of: Web/API/Worklet ---
{{APIRef("Worklets")}}{{SeeCompatTable}}

The Worklet インタフェースは軽量な {{domxref("Worker", "Web Workers")}} を提供し、開発者がレンダリングパイプラインの低水準な部分をコントロールできるようになります。Worklet ではグラフィックや音声処理といった、性能を必要とする処理を JavaScript や WebAssembly を使って記述できます。

Worklet の種類

Worklets の利用はいくつかの用途に限定されています; つまり Web Worker のように好きな計算をさせるといった用途には使えません。Worklet インタフェースは、すべての種類の worklet に共通する属性とメソッドを抽象化する一方、直接インスタンスを作成することはできません。実際にインスタンスを作成するには、以下のクラスを利用します:

クラス名 説明 動作するスレッド 仕様
{{domxref("PaintWorklet")}} CSSのカスタムプロパティの描画方法を定義するために使用します。{{DOMxRef("CSS.paintWorklet")}} から利用できます。 Chrome: Main thread
Gecko: Paint thread
CSS Painting API
{{domxref("AudioWorklet")}}

カスタムオーディオノードでの音声処理のために使用します

Web Audio render thread Web Audio API
{{domxref("AnimationWorklet")}} スクロールに伴うアニメーションや、性能を必要とするアニメーションをプログラミングするために使用します Compositor thread CSS Animation Worklet API
{{domxref("LayoutWorklet")}} カスタムエレメントのサイズと位置を定義するために使用します   CSS Layout API

 WebGL を用いた 3D グラフィックスには Worklet を使用できません。その代わりにGLSLで記述した頂点シェーダとフラグメントシェーダを 使用します。これらのシェーダコードはグラフィックスカードの上で動作します。

属性

Worklet インタフェースでは、属性は定義されていません。

メソッド

{{domxref("Worklet.addModule()")}} {{experimental_inline}}
Worklet にスクリプトモジュールをURLで追加します。

仕様

仕様 状況 コメント
{{SpecName('Worklets', '#worklet', 'Worklet')}} {{Spec2('Worklets')}}  

ブラウザ互換性

{{Compat("api.Worklet")}}

関連情報