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って何? WebAssemblyはじめての方へ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
nako@9時間睡眠
October 19, 2022
Programming
0
240
wasmって何? WebAssemblyはじめての方へ
こちらの会の発表資料です
ElixirImp#25:はじめてのWebAssembly+Elixir
https://fukuokaex.connpass.com/event/262073/
nako@9時間睡眠
October 19, 2022
Tweet
Share
More Decks by nako@9時間睡眠
See All by nako@9時間睡眠
Nervesで令和のLチカ?!と 大須でパーツお買い物
nako_sleep_9h
0
72
NervesHubでrp4に自動デプロイ
nako_sleep_9h
0
57
Elixir国内コミュニティと アンチパターン回避
nako_sleep_9h
3
140
「推し」について話すLT〜NOKIA、Elixir〜
nako_sleep_9h
0
120
YouTubeライブ対談からのエッジコンピューティング入門
nako_sleep_9h
1
200
piyopiyo.ex#15 春のElixir入学式
nako_sleep_9h
0
140
おすすめエンジニアコミュニティ
nako_sleep_9h
0
250
ElixirDesktopを楽しむための前説
nako_sleep_9h
0
420
Livebookを楽しむための前説
nako_sleep_9h
0
250
Other Decks in Programming
See All in Programming
安いハードウェアでVulkan
fadis
1
810
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
420
Nuxt Server Components
wattanx
0
140
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
590
OTP を自動で入力する裏技
megabitsenmzq
0
130
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
170
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
7
3.2k
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
280
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
370
Windows on Ryzen and I
seosoft
0
410
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
410
AI Assistants for YourAngular Solutions @Angular Graz, March 2026
manfredsteyer
PRO
0
110
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
Un-Boring Meetings
codingconduct
0
240
Code Reviewing Like a Champion
maltzj
528
40k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
600
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
790
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
140
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
120
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.2k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
wasmって何? WebAssemblyはじめての方へ 2022/10/19 nako
自己紹介 • nako@9時間睡眠 • Elixir/Phoenix初心者コミュニティ 『piyopiyo.ex』オーガナイザー • 会社員。Webサービスのサーバサイ ドエンジニア •
Elixir10周年のお祝いにSnapCamera エフェクトを作りました:D
WebAssemblyとは?
WebAssemblyとは? • WebAssembly(略称:Wasm)は、 ブラウザでプログラムを高速実行するための 「ブラウザ上で動くバイナリコードの新しいフォーマット(仕様)」です。 • WebAssemblyの開発はMozilla、マイクロソフト、Google、Appleといった主要ブラ ウザの開発者により行われています。
WebAssemblyを利用したサービスが出来るまで C/C++/Rustなどで記述されたソースコードをコンパイルし、 wasmコードを生成する。 生成したwasmコードをWebアプリとして アップロードする。 JavaScriptコードから呼び出したり、 wasmコードからJavaScriptコードを呼び出す ことができる。 C/C++/Rust などの
ソースコード コンパイラ wasm コード Webアプリケーション wasm コード Java Script HTML CSS
Google Earthを開発ツールで 見てみると、wasmファイルが あることがわかります。
WebAssemblyの歴史 2015年6月17日 開発開始を公式にアナウンス 2016年3月15日 主要ブラウザ (Firefox, Chromium, Google Chrome, Microsoft
Edge) 上で UnityによるAngry Botsというデモが行われた 最初の目標としてCとC++からのコンパイルをサポートすることを目指し、 Rust がバージョン1.14以降で、Goがバージョン1.11以降で、Kotlin/Nativeがバー ジョン0.4以降で対応するなど、他のプログラミング言語のサポートも進められ た 2017年3月7日 WebAssemblyに標準対応した初のブラウザとなる Firefox 52.0がリリースされ た 2017年11月 MozillaはSafariとEdgeがWebAssemblyに対応したと発表し、すでに対応して いるChromeとFirefoxを含め、主要なブラウザすべてでサポートされることに なった 2019年12月5日 W3C勧告「WebAssembly Core Specification」が策定され、WebAssemblyは 正式なウェブ標準に認定された
WebAssemblyが使えるプログラミング言語 https://github.com/appcypher/awesome-wasm-langs より 🥚進行中、🐣不安定だが使える、🐥本番環境で使える 🐥 .Net、🐥 AssemblyScript、🥚 Ballerina、🐥 Brainfuck、🐥 C、🐥
C#、🐥 C++、🐣 C4wa、🐥 Clean、🥚 Co、🐥 COBOL、🥚 Crystal、🐣 D、🐣 Eel、🐣 Elixir、 🐥 F#、🥚 Faust、🥚 Forest、🐥 Forth、🐥 Go、🥚 Grain、🥚 Haskell、🐣 Java、 🐣 JavaScript、🥚 Julia、🐣 Kotlin/Native、🥚 Kou、🐣 Lisp、🐥 Lobster、🐥 Lua、 🐣 Lys、🐥 Never、🥚 Nim、🥚 Ocaml、🐣 Pascal、🐣 Perl、🐣 PHP、🥚 Plorth、🐣 Poetry、🐣 Python、🐣 Prolog、🐣 Ruby、🐥 Rust、🐣 Scheme、🐣 Scopes、🐣 Swift、🐥 TypeScript、🥚 Wase、🐥 WebAssembly、🥚 xcc、🐥 Zig
WebAssemblyでよく使われる言語 よく使われる言語は • Rust • C++ • AssemblyScript が多いようです。 ※調査は2021年6月、196カ国
(米国21.8%、ドイツ9.1%、 中国9.1%など)に分散した 250人のITエンジニアが回答
WebAssemblyとElixir • Wasmex ◦ https://github.com/tessi/wasmex ◦ Wasmexは、Elixirのための高速で安全なWebAssemblyとWASIランタイム ◦ 2020年に開発開始 ◦
定期的にバージョンアップがあり、開発が進んでいる • Firefly ◦ https://github.com/GetFirefly/firefly ◦ BEAM言語用の新しいコンパイラとランタイム ◦ 2018年に開発開始
WebAssemblyが 使われているプロダクト
WebAssemblyが使われているプロダクト 『Made with WebAssembly』というサイトで確認できます。 https://madewithwebassembly.com/ Google Earth、 Unity、Figmaといった WebAssemblyを使った サービスが確認できます。
国内事例:VKET CLOUD • 自社の所有する仮想空間でサービス展開を可能にするVRエンジン • Webリンクからの簡単なアクセス、3Dアバターを使った音声とチャットによるコミュ ニケーション、美しい仮想空間での様々なサービス展開が可能です
国内事例:メルカリレンズβ • メルカリレンズβでは、カメラの入力をサーバーに送信せず、デバイス内で高速に機 械学習に関連する処理を実行 • 物体検出の数値計算のバックエンドにWebAssemblyを用いている。 • https://engineering.mercari.com/blog/entry/20211222-mercari-lens/ より •
2021/12/16公開
ご清聴ありがとう ございました!