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
日本企業のIT調達に重大な影響が出る恐れ–ガートナー
IT関連
2022-08-05 16:55
「DeepL for Windows」アプリ、「Microsoft Store」でダウンロード可能に
IT関連
2023-03-31 11:40
デジタルレンディングプラットフォームのBlendの新規公開での評価額は約4400億円超
フィンテック
2021-07-18 19:43
「生きた細胞の中」を覗ける超解像蛍光顕微鏡を活用する創薬プログラムEikon Therapeuticsが約598億円調達
IT関連
2022-01-19 07:57
C++の後継目指すプログラミング言語「Carbon Language」、Googleの技術者が実験的公開。C++は技術的負債で改良が困難と
IT関連
2022-07-21 13:50
富士通とHexagon、デジタルツイン技術で提携–「Trusted Society」の実現へ
IT関連
2022-06-26 20:21
有田市、ネットワーク環境強化でLGWAN経由でクラウドサービスを利用
IT関連
2023-11-28 23:55
次世代の月面探査車をGMとロッキード・マーティンが共同で開発中
宇宙
2021-05-28 04:27
「柔軟な働き方は福利厚生をセットにして初めて成功する」プリペイドカード型福利厚生のmiiveが5000万円調達
フィンテック
2021-02-18 14:35
ソーシャルゲームZyngaのCEOがさらなる買収計画を語る
ゲーム / eSports
2021-02-12 22:17
なぜデスクトップ「Linux」のユーザーは一向に増えないのか?
IT関連
2023-08-17 15:05
フェイスブックが音声SNS「Live Audio Rooms」とポッドキャスト向け新サービスの提供を米国で開始
ネットサービス
2021-06-30 21:40
「S/4HANA」を導入したIT担当者の8割超が保守・運用費や人材面に課題
IT関連
2023-04-27 10:24
アップル、iPhoneの販売台数が過去最高に、その売上高は9%増加し約8兆2710億円に
IT関連
2022-01-29 01:27