--- title: Worklet slug: Web/API/Worklet translation_of: Web/API/Worklet ---
The Worklet
インタフェースは軽量な {{domxref("Worker", "Web Workers")}} を提供し、開発者がレンダリングパイプラインの低水準な部分をコントロールできるようになります。Worklet ではグラフィックや音声処理といった、性能を必要とする処理を JavaScript や WebAssembly を使って記述できます。
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 インタフェースでは、属性は定義されていません。
仕様 | 状況 | コメント |
---|---|---|
{{SpecName('Worklets', '#worklet', 'Worklet')}} | {{Spec2('Worklets')}} |
{{Compat("api.Worklet")}}