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
RubyGems on ruby.wasm
kateinoigakukun
0
150
Building a Smaller App Binary
kateinoigakukun
2
370
The new linker in Xcode 15
kateinoigakukun
3
2.6k
Optimizing your Swift code
kateinoigakukun
0
2k
Ruby & WebAssembly Introduction
kateinoigakukun
0
1.5k
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
Other Decks in Programming
See All in Programming
Dev ContainersとTestcontainers
bells17
3
100
TypeScriptでもLLMアプリケーション開発 / LLM Application In Typescript
rkaga
5
1.3k
How to improve maintainability and readability of your automated tests? ( #scrumniigata )
teyamagu
PRO
1
130
RuboCop: LSP and Prism
koic
1
100
Amazon Aurora Serverless v2が意外と高かった話と、AWS Database Migration Serviceの話
satoshi256kbyte
1
110
JS RPCを理解する
yusukebe
5
300
TypeScriptの型とパフォーマンス (TSKaigi 2024)
ypresto
14
5.1k
JavaScript Closure
asoluka
0
2k
Long journey of Ruby standard library RubyKaigi 2024
andpad
2
270
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
340
一文字エイリアスのすすめ
fujimura
0
200
mb_trim関数を作りました
youkidearitai
PRO
1
240
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
331
56k
Building Your Own Lightsaber
phodgson
100
5.7k
Designing the Hi-DPI Web
ddemaree
276
33k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
The Language of Interfaces
destraynor
151
23k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Robots, Beer and Maslow
schacon
PRO
155
8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Designing Experiences People Love
moore
136
23k
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