WebAssembly/WASIに対応した「Ruby 3.2 Preview 1」公開。WebブラウザでRubyが動く世界がやってくる
新しくWebAssembly/WASI版にも対応した次期Rubyのプレビューリリース「Ruby 3.2 Preview 1」が公開されました。
これまでリリースされてきたLinux版やWindows版、Mac版などのRubyバイナリに加えて、WebAssembly/WASI版のRubyが登場することになります。
これにより、LinuxやWindowsなどの上で実行していたRubyのアプリケーションが、これからはWebブラウザなどWebAssembly/WASIに対応したプラットフォーム上でも実行できるようになることが期待されます。
CRubyをコンパイルしてWebAssembly/WASI対応に
Ruby言語のリファレンス実装となっているインタプリタのソースコードはC言語で実装されているため、一般にこのソースコードまたはその実装を「CRuby」と呼びます。
このCRubyのソースコードをコンパイルすることで、Windows版RubyやLinux版Rubyなどのバイナリを生成するわけです。
今年の1月、このCRubyをWebAssemblyにコンパイルしてWebAssemblyバイナリ版のRubyを生成する作業が始まりました。
これは単にWebAssemblyバイナリへのコンパイルを通るようにするだけでなく、ファイルI/OなどOSごとに異なるAPIを抽象化する業界標準仕様であるWASI(WebAssembly System Interface)へも対応することで、さまざまなプラットフォーム上のWebAssembly/WASI環境でそのまま実行可能なWebAssemblyバイナリとなります。
参考: RubyがWebAssemblyのWASI対応へ前進。ブラウザでもサーバでもエッジでもどこでもWebAssembly版Rubyが動くように
その移植作業は先月に終了したことが報告されています。
参考:RubyのWebAssembly/WASIへの移植が実現、プレリリース版のバイナリ公開。RubyGemsにも対応
Rubyは毎年クリスマスのタイミングでメジャーバージョンアップがリリースされてきました。Ruby 3.2もその時期までプレビューリリースやアルファ版、ベータ版とリリースを繰り返し、次のメジャーバージョンアップでWebAssembly/WASI対応版が正式にリリースとなることが期待されます。
あわせて読みたい
MySQL Heatwaveで大規模オンラインゲームのプレイやアイテム利用など大量データの毎時分析を実現。想定より60倍もの高性能[PR]
≪前の記事
インプレス創設30周年おめでとうございます。記念の30年史がわずか110円で買えるのも御社らしい素晴らしさです