Slide 1

Slide 1 text

新刊紹介 Nov 16 2023 1

Slide 2

Slide 2 text

自己紹介 座右の銘 世界一かわいいWasm本の著者 名前 asuka(あすか) SNS https://twitter.com/a_skua (FlutterKaigi のスタッフやってます) 2 技術書典14に出した同人誌が商業誌になりました. (手に取ってレビューつけてもらえると嬉しい )

Slide 3

Slide 3 text

ご注文はWASIですか? Go1.21でサポートされたWASIってどんな仕様なの? という 疑問に対して,WASIの生まれた背景から紹介し,実際に(ブ ラウザ上でも動作可能な)WASIのAPIモジュールの実装を通 してWASIの仕様を紹介する本です. 配布 - 技術書典15 (11/11~) / 電子版 ¥500 - 技書博9 (11/26) / 紙版 ¥800 表紙イラスト : QJACK (https://twitter.com/QJACK9) 3 オフライン会場のみ紙版

Slide 4

Slide 4 text

ご注文はWASIですか? Wasm: WebAssembly - ブラウザ上でアプリを高速に動かすためのバイナリフォーマットとそのVM WASI: WebAssembly System Interface - Wasmをブラウザ以外で動かすためのシステムインターフェースの仕様 4 実装 - wasmtime - Wasmer

Slide 5

Slide 5 text

ご注文はWASIですか? 第1章では,なぜWASIが必要なのか ,Wasmの持つメリットとそれを応用 するにあたって生まれた課題につい て紹介しています. 5

Slide 6

Slide 6 text

ご注文はWASIですか? 第1章では,なぜWASIが必要なのか ,Wasmの持つメリットとそれを応用 するにあたって生まれた課題につい て紹介しています. 6 なんとこの本の最初のサンプルコードは C 言語によるシステムコールの呼び出し !

Slide 7

Slide 7 text

ご注文はWASIですか? 第2章では,WASIの仕様を紹介し, 実際にTypeScriptでの実装例を提示 しています. 7

Slide 8

Slide 8 text

ご注文はWASIですか? 第2章では,WASIの仕様を紹介し, 実際にTypeScriptでの実装例を提示 しています. 8 実際にWASIのAPI仕様はこんな感じで書か れています.

Slide 9

Slide 9 text

ご注文はWASIですか? 第2章では,WASIの仕様を紹介し, 実際にTypeScriptでの実装例を提示 しています. 9 これを良い感じに解釈して TypeScriptで実装 するとこうなるよという例示.

Slide 10

Slide 10 text

ご注文はWASIですか? WASIのAPIの実装をTSで書くことで,同じWasmバイナリをCLIでもブラウザでも動かす ことができることを例示してます. 10 package main import "fmt" func main() { fmt.Println("Hello, World") } $ wasmtime hello.wasi.wasm Hello, World $ 1つのコード,1つのバイナリが CLIでもブラウザでも動く !!

Slide 11

Slide 11 text

ご注文はWASIですか? Wasm: WebAssembly - ブラウザ上でアプリを高速に動かすためのバイナリフォーマットとそのVM WASI: WebAssembly System Interface - Wasmをブラウザ以外で動かすためのシステムインターフェースの仕様 11 WASIのAPIをTypeScriptで実装すればブラウザでも動くのでは ? YES!!!

Slide 12

Slide 12 text

Q. この本は何の言語の本なの? A. …WASIの本です. - システムコールの紹介にCとGoを利用. - RustとGoからビルドされたWASIモジュールを実行するためのAPI実装に TypeScriptを利用. 特定の言語を用いた実装例の紹介ではなく,WASIのAPI仕様の紹介とその実装例の 紹介を目的としたもの. 今回はブラウザで動かしたいがためにTypeScriptを利用しているだけ ご注文はWASIですか? 12

Slide 13

Slide 13 text

ご注文はWASIですか? Go1.21でサポートされたWASIってどんな仕様なの? という 疑問に対して,WASIの生まれた背景から紹介し,実際に(ブ ラウザ上でも動作可能な)WASIモジュールの実装を通して WASIの仕様を紹介する本です. 配布 - 技術書典15 (11/11~) / 電子版 ¥500 - 技書博9 (11/26) / 紙版 ¥800 表紙イラスト : QJACK (https://twitter.com/QJACK9) 13 オフライン会場のみ紙版

Slide 14

Slide 14 text

技書博9で待ってます🎉 14