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
Rust + WebAssemblyに入門した話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Misaki Makino
September 05, 2018
Programming
2.7k
1
Share
Rust + WebAssemblyに入門した話
2018/09/05 Rust入門者の集い #5
で発表した内容です。
Misaki Makino
September 05, 2018
More Decks by Misaki Makino
See All by Misaki Makino
社会人がProSecで学んでみて
tsukushi
0
87
脆弱性診断の内製化と外注
tsukushi
9
4.3k
プロダクトセキュリティにおける欠如モデルからの脱却
tsukushi
0
1.3k
スクラム開発経験者のエンジニアが 1年間脆弱性診断してお伝えしたいいくつかのこと
tsukushi
0
1.2k
Attractions and interests of wasm-bindgen
tsukushi
2
860
wasm-bindgen - その魅力と面白さ -
tsukushi
1
4.2k
未経験新卒エンジニアがRustを学び始めてよかったこと
tsukushi
2
10k
Other Decks in Programming
See All in Programming
AI活用のコスパを最大化する方法
ochtum
0
370
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
110
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
340
20260315 AWSなんもわからん🥲
chiilog
2
190
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
300
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
120
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
520
Java 21/25 Virtual Threads 소개
debop
0
320
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
140
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
230
The free-lunch guide to idea circularity
hollycummins
0
410
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
370
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
ラッコキーワード サービス紹介資料
rakko
1
2.9M
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
270
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Designing for Performance
lara
611
70k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
160
My Coaching Mixtape
mlcsv
0
92
Transcript
Rust + WebAssembly ʹೖͨ͠ Rustೖऀͷू͍ #5 @T5uku5hi
ඒ࡙ @T5uku5hi ɾ৽ଔ2ͷͻΑͬ͜ΤϯδχΞ ɾະܦݧͰΤϯδχΞͷੈք ɾۀͰJavaΛ༻ ɾRustΛۀͰ͍͍ͨʂ ࣗݾհ
ΰʔϧ ɹɾWebAssemblyͷ֓ཁ ɹɾwasm-bindgenͷಛ͍ํ ͜ͷLTΛฉ͍ͨํʑ͕ɺ ΛཧղͰ͖ΔΑ͏ʹͳΔ͜ͱ
WebAssemblyͱ ҰݴͰݴ͏ͱ Webϒϥβ্Ͱ࣮ߦͰ͖ΔόΠφϦܗࣜ ඪ (Mozilla MDN web docsΑΓ) ɹɾߴͰɺߴޮͰɺϙʔλϒϧͰ͋Δ ɹɾՄಡੑΛ࣋ͪɺσόοάՄೳͰ͋Δ
ɹɾ҆શͰ͋Δ ɹɾଞͷWebٕज़ͱͷޙํޓੑ͕͋Δ
WebAssemblyΛ͍ͯΈΑ͏ MozillaͷΦϯϥΠϯIDE WebAssembly Studio
wasm-bindgenͱ RustͱJavaScriptͱwasm͕ γʔϜϨεʹ͑ΔެࣜϓϩδΣΫτ ҰݴͰݴ͏ͱ
wasm-bindgenͰRust → JS ɾެࣜνϡʔτϦΞϧΛͬͯΈͨ ɹίϯΣΠͷϥΠϑήʔϜ ɹhttps://github.com/rustwasm/wasm_game_of_life ɾRustͷߏମΛconsole.logͰݺͼग़ͯ͠Έͨ ͠ΐ΅͍ͯ͘͢·ͤΜ
ϓϩδΣΫτͷ࡞ΓํɾΒͤํ DBSHPHFOFSBUFHJUIUUQTHJUIVCDPNSVTUXBTNXBTN QBDLUFNQMBUFHJU XBTNQBDLJOJU OQNJOJUXBTNBQQXXX OQNMJOL!QLHͷσΟϨΫτϦ OQNMJOLϧʔτσΟϨΫτϦͷ໊લ!XXXͷσΟϨΫτϦ DBSHPJOTUBMMXBTNQBDL DBSHPJOTUBMMDBSHPHFOFSBUF XBTNQBDLJOJUϗʔϜσΟϨΫτϦ
OQNJOTUBMM!XXXͷσΟϨΫτϦ OQNSVOTUBSU!XXXͷσΟϨΫτϦ
web-sysͱjs-sysΛͬͯΈͨ wasm-bindgenͷઈࢍ։ൃதͷcrates✨ wasm-bindgenͰJS → Rust
web-sysͱjs-sysͷ࢝Ίํ 1) wasm-bindgenϓϩδΣΫτΛgit clone 2) /example/canvas/src/lib.rsͷதΛ ɹॻ͖͑Δ 3) sh build.shΛ࣮ߦ
DemoΛ͓ݟͤ͠·͢ʂ
context.fillStyle͕ະ࣮Ͱͨ͠ ৭͖ͷϚϦΦʹͳΒͳ͔ͬͨ…
ͭ·͍ͮͨ͜ͱ ɾ1.30.0-nightly (28bcffead 2018-09-01) ɾ1.30.0-nightly (0f063aef6 2018-09-03) ͩͱίϯύΠϧʹࣦഊ͠·͢ɻ (issueཱͬͯ·͕͢ະղܾͰ͢) $wasm-pack
init$sh build.shɺͦͷཪଆͰnightlyͱ ໊લͷ͍ͭͨͷΛར༻͍ͯ͠ΔΑ͏Ͱ͢ɻ ɹˠ.rust-toolchainͰόʔδϣϯཧͯͩ͠Ί
ղܾࡦ: खಈͰ͢ SVTUVQUPPMDIBJOJOTUBMMOJHIUMZ ./rustup/toolchains ./rustup/update-hashes ʹ͋ΔnightlyΛআ nightly-2018-08-19Λnightlyʹrename
·ͱΊ ɾWebAssemblyͱ ɹWebϒϥβ্Ͱ࣮ߦͰ͖ΔόΠφϦܗࣜ ɾwasm-bindgenͱ ɹRustͱJavaScriptͱwasm͕ ɹγʔϜϨεʹ͑ΔެࣜϓϩδΣΫτ
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ