サーバ不要でバックエンドAPIのモックを実現する「Mock Service Worker 2.0」正式リリース。Fetch API、ストリームAPI対応など新機能

今回は「サーバ不要でバックエンドAPIのモックを実現する「Mock Service Worker 2.0」正式リリース。Fetch API、ストリームAPI対応など新機能」についてご紹介します。

関連ワード (次々、稼働、開発等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Webアプリケーションのクライアントを開発する際に、本来ならばサーバ上で稼働するWebアプリケーションのバックエンドのAPIを呼び出してデータを受け取って表示するといった動作を作り込みたいけれども、まだバックエンドのAPIも開発中であったり、何らかの理由でバックエンドを稼働させる環境を用意できなかったりすることは、しばしば起こりえます。

そうしたときにサーバを立てることなく、バックエンドのAPIをモックとして簡単に設定し提供してくれるソフトウェア「Mock Service Worker」の最新版「Mock Service Worker 2.0」が正式にリリースされました。

Announcing MSW 2.0!

Migration guidelines: https://t.co/NprZki41K6
Release notes: https://t.co/it182bMMbX

365+ days in development, 200+ commits, 40+ contributors involved. The future of API mocking is here, and it has never been brighter. pic.twitter.com/iG1xRSK8V7

— Artem Zakharchenko (@kettanaito) October 23, 2023

Mock Service WorkerはWebブラウザもしくはNode.jsの環境で使えるモック作成用のライブラリです。

プロキシサーバとしてService Workerが実行され、クライアントからのRESTfulもしくはGraphQL形式のリクエストを受け取り、あらかじめ設定しておいたモックとしてのデータを返します。

下記は、Mock Service Workerの開発者であるArtem Zakharchenko氏によるブログ「Introducing MSW 2.0 – Mock Service Worker」からの引用です。

Version 2.0 marks a monumental chapter for MSW. A year in development, dozens of contributors, and thousands of lines changed, this update brings a refined public API with the first-class support for Fetch API primitives and all the features and bug fixes that it unlocks as a side effect.

バージョン2.0はMSWにとって記念すべきバージョンと言える。開発に1年を費やし、何十人もの貢献者が参加し、何千行もの行が変更されたこのアップデートは、Fetch APIプリミティブを本格的にサポートしたことで洗練されたパブリックなAPIを実現し、その副次的な効果として多くの新機能追加とバグ修正が行われた。

Mock Service Worker 2.0ではNode.js 16以前のバージョンでの実行が非推奨となりました。これ以降のNode.js(Node.js 18以降)をサポート環境とすることで、Node.js環境とWebブラウザ環境の両方でFetch APIへの対応が実現されています。

主な新機能として、モックのレスポンスとしてストリーム API の「ReadableStream」をサポートしました。これにより、例えばチャットでサーバから送られてくるテキストの文字が次々に表示されるようなアプリケーション(ChatGPTなども、そうしたアプリケーションの一種でしょう)のモックも作れるようになりました。

また、FormDataをボディとするリクエストも読み込むことができ、レスポンスのボディとして返せるようになるなどの新機能が追加されています。

変更点や新機能などの詳細は、リリースノート「Release v2.0.0 · mswjs/msw」をご覧ください。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
女性限定チャット相談サービス「メンヘラせんぱい」のメンヘラテクノロジーが資金調達
ネットサービス
2021-03-11 12:20
Puppet、ローコードで運用監視やDevOpsを自動化する「Relay」を正式リリース。AWSやAzure、Terraform、Slack、JIRA、DataDogなど多数のツールをイベントドリブンに連携
DevOps
2021-04-13 22:17
「デジタル産業の業界団体」を掲げたJEITA新会長の決意とは
IT関連
2022-06-11 11:21
集中力の途切れがもたらす損失時間は年間511時間–Dropbox調査
IT関連
2023-12-14 10:31
古くからあるあの言語が20位圏内、Objective-C下落–TIOBEプログラミング言語ランキング
IT関連
2021-04-11 18:15
Sailfish OSを開発するフィンランドのJollaはロシアとの関係を断ち切ろうとしている
IT関連
2022-03-03 01:19
Android版のChrome 121、高速なグラフィクス描画やGPUプログラミングを可能にする「WebGPU」が標準で利用可能に
Chrome
2024-01-22 08:28
マネーフォワード、「マネーフォワード クラウド連結会計」を2022年冬に提供開始へ
IT関連
2022-09-21 20:17
日本版「ファンタジースポーツ」の普及を目指すスポーツ観戦視聴体験向上サービス「なんでもドラフト」が1.7億円を調達
ゲーム / eSports
2021-06-30 00:58
「Android」版「Gemini」、ロック画面から利用可能に
IT関連
2024-07-23 13:57
荷待ち時間解消の鍵は「同期」にあり–パナソニック コネクトらが連携
IT関連
2024-03-12 14:13
セキュリティ投資、「データ侵害の防止」「リモートワークでのセキュリティ確保」を重視
IT関連
2022-10-21 11:48
NTTドコモ、迷惑メールの手口を紹介する「迷惑メール展」を開催
IT関連
2022-02-17 05:47
Hyzon Motorsは水素燃料電池車への意欲に米国の2つの工場を追加
モビリティ
2021-03-03 07:36