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
760
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
790
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
570
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
REALITY コマンド作成チュートリアル
nishiuriraku
0
120
知識0からカンファレンスやってみたらこうなった!
syossan27
5
260
JAWS DAYS 2025 re_Cheers: WEB
komakichi
0
120
ASP.NETアプリケーションのモダナイゼーションについて
tomokusaba
0
260
ドメイン駆動設計とXPで支える子どもの未来 / Domain-Driven Design and XP Supporting Children's Future
nrslib
0
280
音声プラットフォームのアーキテクチャ変遷から学ぶ、クラウドネイティブなバッチ処理 (20250422_CNDS2025_Batch_Architecture)
thousanda
0
420
Boast Code Party / RubyKaigi 2025 After Event
lemonade_37
0
100
七輪ライブラリー: Claude AI で作る Next.js アプリ
suneo3476
1
190
Rubyの!メソッドをちゃんと理解する
alstrocrack
1
310
はじめてのPDFKit.pdf
shomakato
0
100
Orleans + Sekiban + SignalR でリアルタイムWeb作ってみた
tomohisa
0
250
Flutterでllama.cppをつかってローカルLLMを試してみた
sakuraidayo
0
150
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
91
6k
Code Reviewing Like a Champion
maltzj
523
40k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
What's in a price? How to price your products and services
michaelherold
245
12k
Navigating Team Friction
lara
185
15k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Statistics for Hackers
jakevdp
799
220k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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