Next.jsの開発元Vercel、Edge FunctionsでWebAssemblyのサポートを発表
今回は「Next.jsの開発元Vercel、Edge FunctionsでWebAssemblyのサポートを発表」についてご紹介します。
関連ワード (同様、登場、高速等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Next.jsの開発元であり、Webアプリケーションのホスティングサービスなどを提供するVercelは、CDNエッジでJavaScriptを実行できる「Vercel Edge Functions」でWebAssemblyのサポートを発表しました。
WebAssembly is now supported in Vercel Edge Functions.
Code in C, Go, Rust, and more – and run it at the Edge.https://t.co/N5NKwmJ3mn
— Vercel (@vercel) August 26, 2022
Vercel Edge FunctionsはCDNエッジでJavaScriptを実行し、認証用プロキシやキャッシュコントロール、A/Bテストなどのさまざまな処理を可能にします。このVercel Edge FunctionsでWebAssemblyがサポートされました。
これにより、主に2つの利点が得られます。
1つは実行性能の向上です。Vercel Edge FunctionsのランタイムはGoogle Chromeなどに搭載されているV8を採用しており、WebAssemblyもこのV8をランタイムとして実行されます。
もともとWebAssemblyはネイティブバイナリのような高速性の実現を目指して開発された技術であるため、V8上でもWebAssemblyはJavaScriptよりも非常に高速に実行可能です。そのため同様の処理であればJavaScriptよりもWebAssemblyの方が高速に実行できるでしょう。
もう1つは多様なプログラミング言語での開発が可能になることです。WebAssemblyはバイナリファイルとなっており、CやRustなどさまざまなプログラミング言語から生成することができます。今後、WebAssemblyをターゲットにしたさまざまなプログラミング言語を用いたアプリケーションの開発環境が整っていくことが期待されています。
CDNエッジにおけるWebAssemblyのサポートはすでにVercel Edge Functionsの競合と見なされているFastlyのCompute@Edge、Cloudflare Workers、Deno Deployなどで行われています。
というのもV8を始めとして世の中のほぼすべてのJavaScriptランタイムはWebAssemblyも実行可能であるため、WebAssemblyをサポートすることは自然な流れといえるためです。Verel Edge FunctionsによるWebAssemblyのサポートも当然この流れの上にあります。
そして遅かれ早かれ、これまでのJavaScript実行環境のほとんどすべてでWebAssemblyのサポートが開始されることで、そこから今後さまざまな新しい可能性が登場してくることが期待されます。