Go言語1.21で、WebAssembly System Interface(WASI)の実験的サポートへ

今回は「Go言語1.21で、WebAssembly System Interface(WASI)の実験的サポートへ」についてご紹介します。

関連ワード (発生、簡単、重宝等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

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


Googleが中心となってオープンソースで開発されているGo言語の次期バージョン「Go 1.21」では、WebAssembly System Interface(WASI)が実験的にサポートされることが明らかになりました。

これによりGo言語で簡単にファイルアクセスなどOSの主要なAPIを呼び出しつつ、特定のOSに依存しないポータブルな実装のWebAssemblyアプリケーション開発の実現が期待されます。

Go 1.21 Release Candidate 3 is released!

Run it in dev! Run it in prod! File bugs! https://t.co/Ul1xGhvlkf

Announcement: https://t.co/5Ncs1od4Vj

Download: https://t.co/mwRBIC7g7P#golang pic.twitter.com/dlBqPZPcco

— Go (@golang) July 14, 2023

Go言語はサポートするOSやCPUの種類をそれぞれ「GOOS」と「GOARCH」の値で示しています。例えばWindowsのGOOS値は「windows」、CPUを示す「GOARCH」には32ビットx86を示す「386」や64ビットx86やAMD64を示す「amd64」などがあります。

WASIのサポートでは、GOOSがWASIバージョン1を意味する「wasip1」、GOARCHはこれまでのGoのWebAssemblyサポートと同じ「wasm」となります。

Go 1.21は現在リリース候補版(RC)3で、8月に正式版がリリースされる予定です。

WebAssembly System Interface(WASI)とは

Go言語はGo言語は、WindowsやmacOS、Linux、FreeBSD、iOS、Androidなど、さまざまなOSやCPUに対応したバイナリを生成できる機能を備えており、2018年4月にはこれらに加えてWebAssemblyのサポートも明らかになりました。

しかしWebAssemblyでアプリケーションを作る場合、ほぼ必ずファイルシステムAPIなどOSへのアクセスなどが発生します。

アプリケーションからOSを呼び出すAPIはOSに依存するため、OSを呼び出すWebAssemblyアプリケーションは基本的にそのOSでしか動かないOS依存のアプリケーションになってしまいます。

そこで登場したのが、WebAssemblyのアプリケーションに対してOSのシステムコールを抽象化することでOS依存をなくし、ポータブルなWebAssemblyアプリケーションを実現する業界標準仕様のAPI「WebAssembly System Interface」(WASI)です。

WASI対応のWebAssemblyアプリケーションを、WASI対応のWebAssemblyランタイム上で実行すれば、そのWebAssemlbyアプリケーションはOSにすることなく、WebブラウザでもWindowsやMacなどのデスクトップでも、Linuxなどのサーバサイドやエッジでも動くポータブルなもの(WebAssemblyバイナリ)となります。

Go言語がWASIに対応するWebAssemblyファイルを生成できるようになれば、WASI対応のアプリケーション開発を比較的容易に行えるプログラミング言語として重宝されることになりそうです。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
Cloudera、メタデータ管理の強化で「Iceberg REST Catalog」を統合–「EVOLVE24 APAC」
IT関連
2024-08-09 12:58
クレディセゾンがDX実績を報告–内製開発システムを続々と導入
IT関連
2023-12-22 03:49
パナソニック コネクトが戦略的投資を続行するBlue Yonder
IT関連
2023-11-02 05:55
ホンダ、自動運転「レベル3」に対応した新型レジェンド発表 リース販売で1100万円、100台限定生産
ネットトピック
2021-03-05 07:27
ユニリタ、帳票管理システム「BSP-RM Ver2.0.0」をリリース
IT関連
2022-06-30 13:07
TOKAI、請求書管理サービスで月間1万2000通の請求書発行を効率化
IT関連
2024-02-17 17:39
グーグルが広告の重要性を強調し、AndroidにPrivacy Sandboxを導入する計画を発表
IT関連
2022-02-18 11:29
「Apache Log4j」の脆弱性、発覚から数時間で悪用される–Mandiant報告
IT関連
2022-03-12 23:15
「Raspberry Pi 5」でAIを利用–「Raspberry Pi AI Kit」を取り付けるには
IT関連
2024-10-20 17:38
クアルトリクス、生成AI搭載基盤「XM/os2」を発表–“人間らしさ”増幅に期待
IT関連
2023-08-03 06:13
「AWS Private 5G」が一般提供に–プライベート無線ネットワークの導入を支援
IT関連
2022-08-17 05:28
主なIT系上場企業における賃金の男女差とその理由とは? 男性の育休取得率は? 2024年版
働き方
2024-07-10 15:21
リテールテックが創出する「偶然の出会い」–トライアル長沼店を取材
IT関連
2021-05-21 16:30
CFOが全社変革の要に–アクセンチュア、CFOのトレンドを解説
IT関連
2024-08-23 07:11