トーク

Go で WebAssembly を利用した実用的なプラグインシステムの構築方法
Room 1 15:40 - 16:20
Go ではプラグイン開発をする際、build option の -buildmode=plugin による方法や Hashicorp 社が開発した [go-plugin](https://github.com/hashicorp/go-plugin) などを利用した開発が主流でしたが、
ここ数年で WebAssembly ( WASI Preview 1 ) を利用したプラグインシステムの構築に注目が集まっています。
最近のアップデートでも、Go 1.24 から wasmexport directive がサポートされ、Go で WASI を利用するための情報もよく見られるようになってきました。
しかし、実際に現在の Go が提供している WebAssembly の仕組みで実用的なプラグインシステムを構築しようとすると、いくつも超えなければいけない壁が存在し、
Go がサポートしている機能を知っているだけの状態ではうまくいかない点が多々あることに気づきます。
本トークでは、独自に構築した複数のプラグインシステムを実用した際に得られた知見や、本番環境のアプリケーションで1年以上稼働させた際に得た気づきを基に、Go で WebAssembly を利用した至高のプラグインシステムを構築するために必要な知識を体系的に説明します。
また、WebAssembly を作成するために使用するプラグイン側の言語は、Go言語を利用することを前提として解説します。
本トークを聞くことで、AIやインターネットからは得られない実用的なプラグインシステムを構築するために必要な設計・実装の知識を学習し、自身のアプリケーション開発に明日から活用してもらうことを目的とします。