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
680
Getting Started with Swift WebAssembly
iOSDC 2019
Yuta Saito
September 07, 2019
Tweet
Share
More Decks by Yuta Saito
See All by Yuta Saito
Building a Smaller App Binary
kateinoigakukun
2
360
The new linker in Xcode 15
kateinoigakukun
3
2.6k
Optimizing your Swift code
kateinoigakukun
0
2k
Ruby & WebAssembly Introduction
kateinoigakukun
0
1.4k
Swift KeyPath Internals
kateinoigakukun
0
370
The state of Swift for WebAssembly in 2022
kateinoigakukun
7
11k
Ruby meets WebAssembly
kateinoigakukun
10
15k
Utilizing LLVM LTO for Swift
kateinoigakukun
5
840
ランタイムライブラリのbackward-deploymentの仕組み
kateinoigakukun
4
860
Other Decks in Programming
See All in Programming
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
560
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・デプロイを自動化する
hacarus
0
460
Try creating your own orderedmap
kazamori
1
250
Ruby on Fails - effective error handling with Rails conventions
talyssonoc
0
140
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
470
Node.js v22 で変わること
yosuke_furukawa
PRO
12
4k
AmperとFleetを使ったAndroidアプリ
yoppie
0
270
The Cutting Edge Of Versioning (LambdaConf 2024)
chriskrycho
0
190
GitHub Copilotのススメ
marcy731
1
240
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
1
390
JavaScript Closure
asoluka
0
490
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
460
Featured
See All Featured
Practical Orchestrator
shlominoach
183
9.7k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
Into the Great Unknown - MozCon
thekraken
15
1k
GraphQLとの向き合い方2022年版
quramy
33
12k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Rails Girls Zürich Keynote
gr2m
91
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
RailsConf 2023
tenderlove
9
570
Optimizing for Happiness
mojombo
370
69k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
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