Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ブラウザの外側でWasmを使おう
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
teru0x1
July 24, 2023
Programming
400
0
Share
ブラウザの外側でWasmを使おう
kernel/vm #16 LT
teru0x1
July 24, 2023
More Decks by teru0x1
See All by teru0x1
開発効率と信頼性を両立する Ubieのプラットフォームエンジニアリング
teru0x1
0
600
マルチクラスタの認知負荷に立ち向かう! Ubieのプラットフォームエンジニアリング
teru0x1
4
4.9k
スタブサーバ自動生成ツール 〜負荷試験をもっと楽に〜
teru0x1
0
2.1k
バッチシステムをクラウドネイティブにするために考えたこと
teru0x1
17
8.6k
クラウド環境をFargateに 移行して得た知見
teru0x1
0
1.6k
Goと定数 DMM.go #3
teru0x1
0
2.8k
はてなインターン2020成果発表
teru0x1
0
1.2k
入門QUIC
teru0x1
0
600
【衝撃】Archlinuxをインストールした結果がヤバすぎた!
teru0x1
0
140
Other Decks in Programming
See All in Programming
inferと仲良くなる10分間
ryokatsuse
1
290
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
1k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
320
色即是空、空即是色、データサイエンス
kamoneggi
1
240
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
220
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
18
7.6k
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
160
Claspは野良GASの夢をみるか
takter00
0
140
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.3k
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
7
2.3k
[KCD Czech] eBPF Meets the GPU: Future of AI Infra Observability
doniacld
0
130
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
320
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Building the Perfect Custom Keyboard
takai
2
780
Mind Mapping
helmedeiros
PRO
1
220
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
350
How to build a perfect <img>
jonoalderson
1
5.5k
Automating Front-end Workflow
addyosmani
1370
210k
Paper Plane (Part 1)
katiecoart
PRO
0
8.1k
Claude Code のすすめ
schroneko
67
220k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.8k
KATA
mclloyd
PRO
35
15k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Transcript
ブラウザの外側でWasmを使おう
本日話すこと WebAssembly(Wasm)
WebAssembly “binary instruction format for stack-based virtual machine” 実行環境: (当初)Webブラウザ
(現在) あらゆる環境 Safe: sandbox model import/export Efficient and fast: aim to executed at near-native speed Portable: language/platform independent Open and debuggable: WAT
WASI • WebAssembly System Interface • ファイルIOやネットワークIOなどのAPIセットを定めたもの ◦ POSIX的なもの •
Webブラウザの外でもポータビリティを持たせることが可能に ◦ ブラウザ内外問わず Wasmが使えるように https://github.com/bytecodealliance/wasmtime/blob/main/docs/W ASI-overview.md
Shopify function • ShopifyのインフラでECサイト開発者が作成 したコードを呼び出せる機能 ◦ Shopifyのインフラで動作 • Wasmが実行される ◦
Wasmにビルドできる言語ならなんでも使える • Wasmが採用された理由 ◦ Security ◦ Flexibility ◦ Performance https://shopify.engineering/shopify-webassembly
github.com/ncruces/go-sqlite3 • Golang製SQLite3のドライバの1つ • WasmにビルドしたSQLiteをラップし、 wazero(Go moduleとして使えるwasmラ ンタイム)から呼び出す • 既存の資産を利用しつつドライバをCGO
非依存にできる ◦ pure-goになって嬉しい ←sqlite3.wasm(1.4MB)
おわりに • Wasm/WASIとブラウザ外で使われるWasm事例を紹介 向いてそうな例 • プラットフォーム上で第三者にコードを実行させたい • ↑この際多様な言語の選択肢を提供したい • プラグインの仕組みを提供したい
◦ Proxy-Wasmなど • C/C++などの既存資産を利用したい
自己紹介 小野 輝也(@teru0x1) Software Engineer@Ubie We are hiring!