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
Getting Started with Swift WebAssembly
Search
Yuta Saito
September 07, 2019
Programming
1
770
Getting Started with Swift WebAssembly
iOSDC 2019
Yuta Saito
September 07, 2019
Tweet
Share
More Decks by Yuta Saito
See All by Yuta Saito
The Evolution of the CRuby Build System
kateinoigakukun
3
840
Running Swift on WebAssembly Platforms
kateinoigakukun
0
100
What you can do with Ruby on WebAssembly
kateinoigakukun
1
1.2k
RubyGems on ruby.wasm
kateinoigakukun
1
5.6k
Building a Smaller App Binary
kateinoigakukun
2
580
The new linker in Xcode 15
kateinoigakukun
4
3.9k
Optimizing your Swift code
kateinoigakukun
0
2.4k
Ruby & WebAssembly Introduction
kateinoigakukun
0
2.3k
Swift KeyPath Internals
kateinoigakukun
0
480
Other Decks in Programming
See All in Programming
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
330
生成AI時代のコンポーネントライブラリの作り方
touyou
1
260
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
670
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
270
Deep Dive into ~/.claude/projects
hiragram
14
11k
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
14k
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
560
テスト駆動Kaggle
isax1015
1
510
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
670
フロントエンドのパフォーマンスチューニング
koukimiura
5
1.8k
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
240
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Six Lessons from altMBA
skipperchong
28
3.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Why Our Code Smells
bkeepers
PRO
336
57k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Rails Girls Zürich Keynote
gr2m
95
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Transcript
(FUUJOH4UBSUFEXJUI4XJGU 8FC"TTFNCMZ J04%$ !LBUFJOPJHBLVLVO 1
4XJGU8"4.Ͱ։ൃͯ͠Έͨ 2
4XJGU8"4.Ͱ։ൃͯ͠Έͨ 4XJGU8"4.Λ։ൃ͢Δ 3
8"4. 8FC"TTFNCMZ ϒϥβͰಈ࡞͢Δڃݴޠ • ϙʔλϒϧ • ηΩϡΞ • ελοΫϚγϯ 4
4XJGUͰ8FCϑϩϯτΛॻ͖͍ͨʂʂ 5
4XJGUͷ8"4.ύΠϓϥΠϯ 6
4XJGUͷ8"4.ύΠϓϥΠϯ 7
--7.ͱ4XJGUͷؔ SwiftಠࣗͷLLVMଐੑ https://github.com/apple/swift-llvm • swiftself • swifterror 8
5ISPXTͳؔݺͼग़͠ typealias NonThrowableFunc = () -> Void typealias ThrowableFunc =
() throws -> Void let f: NonThrowableFunc = {} let g: ThrowableFunc = f try g() 9
/PO5ISPXBCMF'VOD5ISPXBCMF'VOD 10
ϥϯλΠϜදݱ 4XJGU෩ typealias NonThrowableFunc = () -> Void typealias ThrowableFunc
= (inout Error) -> Void let f: NonThrowableFunc = {} let g: ThrowableFunc = f var error: Error try g(&error) Ҿͷ͕૿͑ͯΔ https://speakerdeck.com/omochi/swiftfalseguan-shu-xing-falseshi-xing-shi-biao-xian 11
TXJGUFSSPSͱ8"4.ϥϯλΠϜ ؔݺͼग़࣌͠ͷγάωνϟνΣοΫ -> callerͷݺͼग़ͦ͏ͱ͍ͯ͠Δγάωνϟͱcallee ͷγάωνϟ͕Ұக͠ͳ͍ͷͰΫϥογϡ https://webassembly.org/docs/security/ 12
ରԠࡦ શͯͷؔʹswifterrorΛ͚ͯίʔυੜ͢Δɻ https://github.com/apple/swift/pull/24684#issuecomment-491487863 13
·ͱΊ • LLVMΛ͍ͬͯͯ؆୯ʹ͍͔ͳ͍ • SwiftͷWASMରԠ͏গͬͯ͠Ͷ 14
15