web-dev-qa-db-ja.com

Web Workersのユースケースは何ですか?

Web Workers API を使用するための実際のシナリオを探しています。

164
Sergey Ilinsky
  • John Resig (jQueryの名声)は ここでWebワーカーを使用する興味深い例の束 -ゲーム、グラフィック、暗号。

  • 別の用途はWeb I/Oです。つまり、バックグラウンドでURLをポーリングします。そうすれば、ポーリング結果を待っているUIをブロックしません。

  • 別の実用的な用途:Bespinでは、Web Workersを使用して構文の強調表示を行います。これは、アプリを使用している間はコード編集をブロックしたいwould n'tです。

  • From Mozilla :ワーカーが便利な方法の1つは、ユーザーインターフェイススレッドをブロックせずに、コードがプロセッサー集中型の計算を実行できるようにすることです。

    実用的な例として、#sの大きなテーブルを持つアプリを考えてみてください(これは現実世界です、ところで-2年前にプログラミングしたアプリから取得)。入力フィールドを使用してテーブル内の1つの#を変更できます。異なる列にある他の数字の束は、かなり集中的なプロセスで再計算されます。

    古いワークフローは次のとおりです。#を変更します。 JavaScriptが他の数値への変更を処理している間、コーヒーを飲みに行くと、Webページが3分間応答しません。コーヒーで戻ってください。 2番目の#を変更します。何回も繰り返します。 [保存]ボタンをクリックします。

    ワーカーの新しいワークフローは次のとおりです。#を変更します。何かが再計算されているというステータスメッセージを取得しますが、他の#を変更できます。 #sをさらに変更します。変更が完了したら、ステータスが「すべての計算が完了し、最終的な#sを確認して保存できる」に変わるまで待ちます。

135
DVK

ブラウザからサーバーに大量のデータを送信するためにそれらを使用しました。当然、通常のAJAX呼び出しでこれを行うことができますが、これがホスト名ごとに貴重な接続の1つを占有する場合。また、このプロセス中にユーザーがページ遷移を行う場合)、前のページのJavaScriptオブジェクトがなくなり、コールバックを処理できません。Webワーカーが使用されている場合、このアクティビティは帯域外で発生するため、確実に完了します。

32
Kevin Hakanson

別の使用例:

サーバーから圧縮形式で交換される画像やその他のメディアファイルが多数ある場合は、バックグラウンドでファイルを圧縮/解凍します。

6
sbr