SlideShare a Scribd company logo
The Go gopher was designed by Renée French.
The gopher stickers was made by Takuya Ueda.
Licensed under the Creative Commons 3.0 Attributions license.
WebAssemblyとGo
2018/06/13
@Google I/O 2018 わいわい報告会 in 福岡
自己紹介
上田拓也
@tenntenn
所属
コミュニティ活動
Go ビギナーズ
Go Conference
上田拓也
@tenntenn
株式会社メルペイ
エキスパートチーム
2
メルペイ エキスパートチーム
技術をアウトプットするところに技術は集まる
■ エキスパートチームとは?
● 50%以上の時間を技術コミュニティへの貢献に充てる
■ エキスパートチームの役割
● 社内に新しい技術を取り取り込む
● 社外のコミュニティなどを通じて社会へ還元する
■ エキスパートチームの活動
● カンファレンス・勉強会の開催/運営
● 対外的な講演活動
● 執筆、雑誌への寄稿、インタビュー
● 社内外での担当技術の普及推進
@tenntenn
担当:Go・GCP
@mhidaka
担当:Android
メンバー
3
Google I/Oに参加してきました
参考:http://tech.mercari.com/entry/2018/05/18/170401
WebAssemblyとは?
■ WebAssembly
● ブラウザ上で実行できるバイナリ形式の言語
● ネイティブに近いパフォーマンスで動作する
● C/C++/Rustなどをコンパイルする
WebAssembly + AutoCAD
参考:https://youtu.be/BnYq7JapeDA?t=1679
WebAssembly + AutoCAD
https://youtu.be/BnYq7JapeDA?t=1679
各言語の対応状況
各言語の対応状況
Goの対応状況
■ Go 1.11でのリリースに向けて対応中
● #18892
● デザインドキュメント
■ 対応状況
● ゴルーチンとチャネルには対応
○ wasmにマルチスレッドの機能が入るらしい
● JavaScriptのAPIの呼び出し
○ syscall/jsを用いる
● https://github.com/neelance/go/tree/wasm-wip/src/syscall/js
GoでWebAssemblyを試す −1−
■ forkされたリポジトリを取ってくる
■ ビルドする
$ git clone https://github.com/neelance/go.git
$ cd go
$ git checkout wasm-wip
$ cd src
$ ./all.bash
GoでWebAssemblyを試す −2−
■ GOOSとGOARCHを指定してビルドする
$ GOOS=js GOARCH=wasm go build -o test.wasm test.go
デモ
デモ1: コンソールに出力
https://youtu.be/c3g1g1eIzCs
デモ2: DOMの操作とイベント
■ syscall/jsパッケージを利用
● おおよそのGoの標準パッケージは使える
● 静的解析を行うgoパッケージも使えう
デモ3: 静的解析 + ACE
元ネタ:
デモ4: WebGL
■ WebGLのラッパーライブラリを用意
● GopherJSのものを少し改変
○ https://github.com/gopherjs/webgl
● Go Mobileのデモを少し改変
○ https://github.com/golang/mobile/tree/master/example/basic
Thank you!
twitter: @tenntenn
Qiita: tenntenn
connpass: tenntenn
18

More Related Content

PDF
そうだ、Goを始めよう
Takuya Ueda
 
PDF
Goにおけるバージョン管理の必要性 − vgoについて −
Takuya Ueda
 
PDF
メルカリ カウルのマスタデータの更新
Takuya Ueda
 
PDF
Go Friday 傑作選
Takuya Ueda
 
PDF
Google Assistant関係のセッションまとめ
Takuya Ueda
 
PDF
GAE/Goとsyncパッケージ
Takuya Ueda
 
PDF
GoによるiOSアプリの開発
Takuya Ueda
 
PDF
Cloud functionsの紹介
Takuya Ueda
 
そうだ、Goを始めよう
Takuya Ueda
 
Goにおけるバージョン管理の必要性 − vgoについて −
Takuya Ueda
 
メルカリ カウルのマスタデータの更新
Takuya Ueda
 
Go Friday 傑作選
Takuya Ueda
 
Google Assistant関係のセッションまとめ
Takuya Ueda
 
GAE/Goとsyncパッケージ
Takuya Ueda
 
GoによるiOSアプリの開発
Takuya Ueda
 
Cloud functionsの紹介
Takuya Ueda
 

What's hot (20)

PDF
Prott Story ( Prottができるまで )
Naofumi Tsuchiya
 
PDF
Introduction
Takeshi Akutsu
 
PDF
プロトタイピングで変わる開発プロセス 一休.comレストランの事例
Tetsuya Takeda
 
PDF
Cloud Functionsの紹介
Takuya Ueda
 
PDF
Namespace API を用いたマルチテナント型 Web アプリの実践
Takuya Ueda
 
PDF
粗探しをしてGoのコントリビューターになる方法
Takuya Ueda
 
PDF
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
Takuya Ueda
 
PDF
サービスデザイン方法論実践編 第4回ペーパープロトタイピング-Prottのご紹介
Tetsuya Takeda
 
PDF
Prott 1st year Anniversary
Naofumi Tsuchiya
 
PPTX
PyPro2の読みどころ紹介:Python開発の過去と現在
Takayuki Shimizukawa
 
PDF
RSGT参加レポート
Noriyuki Nemoto
 
PDF
Pythonを始めよう
shouta yoshikai
 
PDF
U1w共有会 21/10/09
yousan1
 
PDF
Gceハンズオン20150411イン福岡
Ryosuke Akahoshi
 
PPTX
ちょっと真面目にPython&Django・基礎編
OMEGA (@equal_001)
 
PDF
Google colab 2
Masatoshi Itagaki
 
KEY
Dev love hangarflight wintersortie-
toshihiro ichitani
 
PDF
Gitはじめの一歩
Ayana Yokota
 
PDF
新人教育と(Javaと)Python
7pairs
 
PDF
2017823 pythonを始めよう
shouta yoshikai
 
Prott Story ( Prottができるまで )
Naofumi Tsuchiya
 
Introduction
Takeshi Akutsu
 
プロトタイピングで変わる開発プロセス 一休.comレストランの事例
Tetsuya Takeda
 
Cloud Functionsの紹介
Takuya Ueda
 
Namespace API を用いたマルチテナント型 Web アプリの実践
Takuya Ueda
 
粗探しをしてGoのコントリビューターになる方法
Takuya Ueda
 
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
Takuya Ueda
 
サービスデザイン方法論実践編 第4回ペーパープロトタイピング-Prottのご紹介
Tetsuya Takeda
 
Prott 1st year Anniversary
Naofumi Tsuchiya
 
PyPro2の読みどころ紹介:Python開発の過去と現在
Takayuki Shimizukawa
 
RSGT参加レポート
Noriyuki Nemoto
 
Pythonを始めよう
shouta yoshikai
 
U1w共有会 21/10/09
yousan1
 
Gceハンズオン20150411イン福岡
Ryosuke Akahoshi
 
ちょっと真面目にPython&Django・基礎編
OMEGA (@equal_001)
 
Google colab 2
Masatoshi Itagaki
 
Dev love hangarflight wintersortie-
toshihiro ichitani
 
Gitはじめの一歩
Ayana Yokota
 
新人教育と(Javaと)Python
7pairs
 
2017823 pythonを始めよう
shouta yoshikai
 
Ad

Similar to WebAssembly with Go (20)

PDF
勉強会カンファレンス2012
Hiro Yoshioka
 
PDF
楽天の中のわたしと勉強会
Rakuten Group, Inc.
 
PPTX
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
gree_tech
 
PDF
勉強会への一歩を踏み出すために
Akihiko Horiuchi
 
PPTX
Go conference 2021 autumn
masahiko ito
 
PPTX
海外メンバーを巻き込んで プロダクトマネジメントするときの心得 #pmjp #dots
Takahiro Masaki
 
PDF
勉強会カンファレンス2011、企業と勉強会
Hiro Yoshioka
 
PDF
Itca yammer提案110615
伸夫 森本
 
PDF
勉強会勉強会、DevLOVE関西
Hiro Yoshioka
 
PDF
Cybozu Days 2017 東京 「俺たちのGaroon」
Cybozucommunity
 
PDF
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
Masahiro Hidaka
 
PPTX
匠Methodを使った製品開発の現場
Haruo Sato
 
PDF
ビザスクを支える技術 2017
創史 花村
 
PPTX
kintoneで地図アプリを制覇する 〜SIerの挑戦〜
kintone Café 名古屋支部
 
PDF
Microsoft MVP x Passion for community
Rie Moriguchi
 
PDF
私の熱いアジャイル活動、アジャカツ!始まります フフッヒ
You&I
 
PDF
Go初心者向けハンズオン コマンドラインツールを作ろう
Takuya Ueda
 
PDF
グローバル企業の中で「変化」を仕掛ける楽天技術研究所 Rakuten Institute of Technology の挑戦
Rakuten Group, Inc.
 
PDF
docomo Developer Supportを活用しよう
Shinya Nakajima
 
PDF
機械学習で大事なことをミニGunosyをつくって学んだ╭( ・ㅂ・)و ̑̑ 
Seiji Takahashi
 
勉強会カンファレンス2012
Hiro Yoshioka
 
楽天の中のわたしと勉強会
Rakuten Group, Inc.
 
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
gree_tech
 
勉強会への一歩を踏み出すために
Akihiko Horiuchi
 
Go conference 2021 autumn
masahiko ito
 
海外メンバーを巻き込んで プロダクトマネジメントするときの心得 #pmjp #dots
Takahiro Masaki
 
勉強会カンファレンス2011、企業と勉強会
Hiro Yoshioka
 
Itca yammer提案110615
伸夫 森本
 
勉強会勉強会、DevLOVE関西
Hiro Yoshioka
 
Cybozu Days 2017 東京 「俺たちのGaroon」
Cybozucommunity
 
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
Masahiro Hidaka
 
匠Methodを使った製品開発の現場
Haruo Sato
 
ビザスクを支える技術 2017
創史 花村
 
kintoneで地図アプリを制覇する 〜SIerの挑戦〜
kintone Café 名古屋支部
 
Microsoft MVP x Passion for community
Rie Moriguchi
 
私の熱いアジャイル活動、アジャカツ!始まります フフッヒ
You&I
 
Go初心者向けハンズオン コマンドラインツールを作ろう
Takuya Ueda
 
グローバル企業の中で「変化」を仕掛ける楽天技術研究所 Rakuten Institute of Technology の挑戦
Rakuten Group, Inc.
 
docomo Developer Supportを活用しよう
Shinya Nakajima
 
機械学習で大事なことをミニGunosyをつくって学んだ╭( ・ㅂ・)و ̑̑ 
Seiji Takahashi
 
Ad

More from Takuya Ueda (18)

PDF
静的解析を使った開発ツールの開発
Takuya Ueda
 
PDF
マスター・オブ・goパッケージ
Takuya Ueda
 
PDF
Go1.8 for Google App Engine
Takuya Ueda
 
PDF
Static Analysis in Go
Takuya Ueda
 
PDF
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
 
PDF
エキスパートGo
Takuya Ueda
 
PDF
Go静的解析ハンズオン
Takuya Ueda
 
PDF
Goにおける静的解析と製品開発への応用
Takuya Ueda
 
PDF
オススメの標準・準標準パッケージ20選
Takuya Ueda
 
PDF
Gopher Fest 2017参加レポート
Takuya Ueda
 
PDF
goパッケージで型情報を用いたソースコード検索を実現する
Takuya Ueda
 
PDF
条件式評価器の実装による管理ツールの抽象化
Takuya Ueda
 
PDF
Mobile Apps by Pure Go with Reverse Binding
Takuya Ueda
 
PDF
Goでかんたんソースコードの静的解析
Takuya Ueda
 
PDF
Goでwebアプリを開発してみよう
Takuya Ueda
 
PDF
GAE/GoでWebアプリ開発入門
Takuya Ueda
 
PDF
GAE/GoでLINE Messaging API を使う
Takuya Ueda
 
PDF
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
Takuya Ueda
 
静的解析を使った開発ツールの開発
Takuya Ueda
 
マスター・オブ・goパッケージ
Takuya Ueda
 
Go1.8 for Google App Engine
Takuya Ueda
 
Static Analysis in Go
Takuya Ueda
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
 
エキスパートGo
Takuya Ueda
 
Go静的解析ハンズオン
Takuya Ueda
 
Goにおける静的解析と製品開発への応用
Takuya Ueda
 
オススメの標準・準標準パッケージ20選
Takuya Ueda
 
Gopher Fest 2017参加レポート
Takuya Ueda
 
goパッケージで型情報を用いたソースコード検索を実現する
Takuya Ueda
 
条件式評価器の実装による管理ツールの抽象化
Takuya Ueda
 
Mobile Apps by Pure Go with Reverse Binding
Takuya Ueda
 
Goでかんたんソースコードの静的解析
Takuya Ueda
 
Goでwebアプリを開発してみよう
Takuya Ueda
 
GAE/GoでWebアプリ開発入門
Takuya Ueda
 
GAE/GoでLINE Messaging API を使う
Takuya Ueda
 
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
Takuya Ueda
 

Recently uploaded (11)

PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
PDF
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 

WebAssembly with Go