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
790
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
910
Running Swift on WebAssembly Platforms
kateinoigakukun
0
130
What you can do with Ruby on WebAssembly
kateinoigakukun
1
1.4k
RubyGems on ruby.wasm
kateinoigakukun
1
5.7k
Building a Smaller App Binary
kateinoigakukun
2
600
The new linker in Xcode 15
kateinoigakukun
4
4k
Optimizing your Swift code
kateinoigakukun
0
2.4k
Ruby & WebAssembly Introduction
kateinoigakukun
0
2.4k
Swift KeyPath Internals
kateinoigakukun
0
490
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
380
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
1k
Leading Effective Engineering Teams in the AI Era
addyosmani
6
450
オープンソースソフトウェアへの解像度🔬
utam0k
16
3k
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
590
Six and a half ridiculous things to do with Quarkus
hollycummins
0
180
Go言語はstack overflowの夢を見るか?
logica0419
0
360
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
290
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
130
All About Angular's New Signal Forms
manfredsteyer
PRO
0
170
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
850
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
870
The Cult of Friendly URLs
andyhume
79
6.6k
Statistics for Hackers
jakevdp
799
220k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
GitHub's CSS Performance
jonrohan
1032
470k
The World Runs on Bad Software
bkeepers
PRO
72
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
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