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
720
Getting Started with Swift WebAssembly
iOSDC 2019
Yuta Saito
September 07, 2019
Tweet
Share
More Decks by Yuta Saito
See All by Yuta Saito
Running Swift on WebAssembly Platforms
kateinoigakukun
0
41
What you can do with Ruby on WebAssembly
kateinoigakukun
1
320
RubyGems on ruby.wasm
kateinoigakukun
1
5.3k
Building a Smaller App Binary
kateinoigakukun
2
520
The new linker in Xcode 15
kateinoigakukun
4
3.5k
Optimizing your Swift code
kateinoigakukun
0
2.2k
Ruby & WebAssembly Introduction
kateinoigakukun
0
1.9k
Swift KeyPath Internals
kateinoigakukun
0
440
The state of Swift for WebAssembly in 2022
kateinoigakukun
7
12k
Other Decks in Programming
See All in Programming
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
600
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
6
1.3k
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
120
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
330
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
820
Zoneless Testing
rainerhahnekamp
0
150
HTML/CSS超絶浅い説明
yuki0329
0
170
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
390
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
540
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
500
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
260
선언형 UI에서의 상태관리
l2hyunwoo
0
250
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Building Adaptive Systems
keathley
38
2.3k
How to Ace a Technical Interview
jacobian
276
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
97
17k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
A designer walks into a library…
pauljervisheath
205
24k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
112
50k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Done Done
chrislema
182
16k
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