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
750
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
780
Running Swift on WebAssembly Platforms
kateinoigakukun
0
84
What you can do with Ruby on WebAssembly
kateinoigakukun
1
1k
RubyGems on ruby.wasm
kateinoigakukun
1
5.5k
Building a Smaller App Binary
kateinoigakukun
2
560
The new linker in Xcode 15
kateinoigakukun
4
3.7k
Optimizing your Swift code
kateinoigakukun
0
2.3k
Ruby & WebAssembly Introduction
kateinoigakukun
0
2.2k
Swift KeyPath Internals
kateinoigakukun
0
470
Other Decks in Programming
See All in Programming
The Nature of Complexity in John Ousterhout’s Philosophy of Software Design
philipschwarz
PRO
0
170
fieldalignmentから見るGoの構造体
kuro_kurorrr
0
140
By the way Google Cloud Next 2025に行ってみてどうだった
ymd65536
0
130
On-the-fly Suggestions of Rewriting Method Deprecations
ohbarye
3
5.4k
GitHub Copilot for Azureを使い倒したい
ymd65536
1
330
Flutterでllama.cppをつかってローカルLLMを試してみた
sakuraidayo
0
140
はじめてのPDFKit.pdf
shomakato
0
100
Cloudflare Workersで進めるリモートMCP活用
syumai
5
420
ぽちぽち選択するだけでOSSを読めるVSCode拡張機能
ymbigo
14
6.2k
Serving TUIs over SSH with Go
caarlos0
0
650
Orleans + Sekiban + SignalR でリアルタイムWeb作ってみた
tomohisa
0
240
Browser and UI #2 HTML/ARIA
ken7253
2
180
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Become a Pro
speakerdeck
PRO
28
5.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
179
53k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Done Done
chrislema
184
16k
A better future with KSS
kneath
239
17k
What's in a price? How to price your products and services
michaelherold
245
12k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
The Cult of Friendly URLs
andyhume
78
6.3k
Practical Orchestrator
shlominoach
187
11k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Scaling GitHub
holman
459
140k
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