この記事では、RxJS を使ったWeb Workerの抽象化を試みます。 なお、記事中で Web WorkerあるいはWorkerと言ったときに指すのは new Worker() で作成する Dedicated Workerのみで、Shared WorkerやService Workerなどは対象外です。 なぜWeb Worker? Web Workerを使うのに2つの目的があります。ひとつはoff-the-main-threadとよく言われる、UIメインスレッドとは別のWorkerスレッドで並行処理をおこなうことによるパフォーマンス改善です。 そしてもうひとつは、仕様がドラフト段階にある ES ModulesのWorker対応 を利用した Module Worker によるコード分割です。 https://html.spec.whatwg.org/multipage/workers.ht
![RxJSによるWeb Workerの抽象化 2つのアプローチ - 余白](https://cdn-ak-scissors.b.st-hatena.com/image/square/1d1fb7082066e033f5b8375ef2179309da799b74/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fl%2Flacolaco%2F20190326%2F20190326141608.png)