Deno、Node.js、Cloudflare Workersなど、非Webブラウザ系JavaScriptランタイムのコード互換を目指す「Web-interoperable Runtimes Community Group」(WinterCG)が発足
今回は「Deno、Node.js、Cloudflare Workersなど、非Webブラウザ系JavaScriptランタイムのコード互換を目指す「Web-interoperable Runtimes Community Group」(WinterCG)が発足」についてご紹介します。
関連ワード (互換機能、環境、確実等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
JavaScriptはWebブラウザで実行することを想定して開発されたプログラミング言語ですが、現在ではNode.jsやDenoなどに代表されるようにWebブラウザ以外の環境でも実行されるようになってきました。
そこで、こうした非Webブラウザを中心としたJavaScriptランタイムにおける相互運用性の改善を目指したコミュニティグループ「Web-interoperable Runtimes Community Group」(WinterCG)がW3Cで発足しました。
設立メンバーはDeno、Cloudflare、Shopify、Vercel、igalia、そしてNode.jsやDenoのコアコントリビュータらとのこと。
DenoはNode.jsの開発者でもあるライアン・ダール氏を中心としたオープンソースの「Deno」の開発を行っている同名の企業です。Denoは新機能としてNode.js互換機能を備えようとしています。Cloudflareは同社が開発したCDNエッジにおけるJavaScriptランタイムであるCloudflare Workersのオープンソース化を発表したところです。
Denoはこのコミュニティグループ発足を知らせるブログ「A Community Group for Web-interoperable JavaScript runtimes」(日本語版)で、これまで非Webブラウザ環境におけるJavaScriptの互換性に関して十分な議論がなかったことを指摘し、それを補うのがこのコミュニティグループであると次のように説明しています。日本語版から引用します。
Cloudflare Workersのようなサーバーレス環境、あるいはNode.jsやDenoのようなランタイムには、単にウェブブラウザと関連しない、および関連する、幅広い要件、問題、懸念が存在します。この食い違いのため、そしてさまざまな仕様の開発中にこれらの違いが明確に考慮されなかったため、実際には複数の環境で共通する機能に対し、非ブラウザのランタイムに独自の非標準ソリューションが実装される事態が生じてきました。
この新しい取り組みでは、スタック全体のあらゆる場所でデプロイされた、すべてのWeb環境に共通の要件について議論および推奨する場を提供することで、この状況を変えようとしています。
一方のCloudflareは発足に関するプレスリリースで「開発者は、アプリケーションを書き直すことなく、Cloudflare Workers、Deno、Node.js の間で、標準に準拠したコードを書いて実行し、それを簡単かつシームレスに移行できるようになります」と、このコミュニティグループがCloudflare Workers Deno、Node.jsの3つの互換性を確実にすることを目指すことを明確に示しました。
Denoが指摘する、Webブラウザとは異なるサーバサイドJavaScriptにおける課題は、たしかに今後のJavaScriptランタイムの発展において議論が欠かせない部分といえます。
と同時に、両社ともに自社のプラットフォームへより多くのJavaScript開発者を引きつけたいと考えているはずで、それが非WebブラウザにおけるJavaScriptランタイムのさらなる活性化につながるこのコミュニティグループ設立のもう1つのモチベーションになったのではないかとも考えられます。
WinterCGは自身で標準やAPIの策定を行うのではなく、W3CやWHATWGなどの標準化団体との協力により目的を達成していくとのことです。
WebブラウザではJavaScriptの互換性問題はほとんど語られなくなってきました。果たして非Webブラウザ環境においてもそうなる日がやってくるのでしょうか。