Cloudflare WorkersがNode.js API互換の提供を発表。Bun、Denoなどに続く対応により、Node.js APIはサーバサイドJavaScriptの事実上の標準になるか

2023年4月11日

Cloudflareは、エッジでJavaScriptを実行できるサービス「Cloudflare Workers」において、Node.jsのAPI互換機能を提供すると発表しました。

Cloudflare Workersは、同社が提供するグローバルなコンテンツデリバリーネットワーク(CDN)のエッジにJavaScriptのコードを配置し実行できる機能を提供するサービスです。Python、Scala、Kotlin、Dartなどのプログラミング言語やWebAssemblyの実行にも対応します。

参考:JavaScript/WebAssemblyをCDNエッジで実行するCloudflare Workersが、Python、Scala、Kotlin、Dart、Reasonへの対応を発表

JavaScriptの実行環境としてはChromeブラウザやNode.jsのJavaScriptエンジンとして用いられている「V8」を採用し、Web標準であるService WorkerのAPIに発表当初から対応しています

そして今回、Node.jsのコアAPIに対応することが発表され、その第一弾としてNode.jsのAsyncLocalStorage、EventEmitter、Buffer、assert、そしてutilの一部の機能が互換性フラグをセットすることで利用可能になりました。

それ以外のAPIについても間もなく提供が発表されると説明しています。

Node.js APIが事実上の業界標準になるのか

前述のようにCloudflare WorkersはWeb標準であるService WorkerのAPIを提供していました。今回なぜNode.jsのコアAPIも提供することにしたのでしょうか。

それはおそらく、Cloudflare Workersの競合であるDenoやBunがNode.js互換APIの提供を行っているためだと考えられます。

サーバサイドJavaScriptはNode.jsが切り開いてきた分野ですが、Node.jsの開発者であったライアン・ダール氏が、Node.jsよりも優れたJavaScript実行環境としてNode.jsの次に取り組んだDenoでは、あえてNode.jsとの互換性を持たずに開発されました。

しかし2022年8月、Denoは突然にNode.js互換へと方針変更を発表します。

参考:Denoが大幅な方針変更を発表。3カ月以内にnpmパッケージへの対応を実現、最速のJavaScriptランタイムを目指しHTTPサーバを刷新

これは2022年7月に登場するやいなや、Node.js、Denoに続くサーバサイドのJavaScript実行環境として注目されるようになったBunが、Node.js互換を備えていたことに大きく影響されたためだと推察されます。

参考:JavaScriptランタイム「Bun」が約9億円を調達、「Oven」社を設立。ホスティングやCIサービスなど計画

BunはNode.js互換であるため、登場当初からNode.jsの大きな資産である大量のnpmモジュールが使えたのです。DenoはこのBunの登場により、Node.jsの資産を活用できる利点にあらためて気づかされ、Node.js互換へと方針を変更したのでしょう。

そしてNode.js本家に加えてDeno、BunがNode.js API互換で足並みを揃えたことが、Cloudflare Workersの今回のNode.js API互換提供という方向性にも影響を与えたのではないかと想像されます。

これでNode.js APIはサーバサイドJavaScriptにおける事実上の標準へと近づいたように見えます。

他のサーバサイドJavaScript環境を提供するFastlyやAWSなどのベンダや、非WebブラウザにおけるJavaScript実行環境の相互運用性を実現するW3Cの「Web-interoperable Runtimes Community Group」(WinterCG)などはこうした動きにどう反応していくのか、注目したいと思います。

あわせて読みたい

JavaScript Web標準 プログラミング言語 Bun Cloudflare Deno Node.js




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本