Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Objective-C Toolchain in 2017
laiso
March 07, 2017
Technology
0
770
Objective-C Toolchain in 2017
http://qiita.com/laiso/items/cf43ddb198e83538c51c
laiso
March 07, 2017
Tweet
Share
More Decks by laiso
See All by laiso
laiso
4
4.4k
laiso
6
3.4k
laiso
3
1.4k
laiso
2
600
laiso
2
1.9k
laiso
0
97
laiso
0
98
laiso
2
10k
laiso
4
2k
Other Decks in Technology
See All in Technology
kawaguti
0
440
maekawa123
0
650
finengine
0
350
kazeburo
2
130
kentaro
2
540
clustervr
PRO
0
220
hacker2202
0
100
kanaugust
PRO
0
120
lmi
5
3.7k
you
0
120
kota2and3kan
2
360
kawaguti
2
270
Featured
See All Featured
searls
204
37k
mthomps
38
2.3k
colly
188
14k
maggiecrowley
10
550
smashingmag
232
18k
hannesfritz
29
980
jcasabona
8
590
morganepeng
94
14k
shlominoach
176
7.6k
jlugia
217
16k
jeffersonlam
330
15k
mojombo
359
62k
Transcript
Objective-C Toolchain in 2017 id:laiso
Agenda • SwiftίϛϡχςΟͰ͋·ΓʹͳΒͳ͍ Objective-CϥΠϒϥϦͷհ • ͳͥObjective-Cͳͷ͔ • ࠓޙͲ͏ͳΔͷ͔
Pinterest's Implementation • PINCache : non-deadlocking parallel object cache •
PINOperation (NSOperationQueue) • PINRemoteImage : feature rich image fetcher
And Spotify • SPTDataLoader (HTTP Client) • SPTPersistentCache
View Framework • Instagram/IGListKit : UICollectionView framework • spotify/HubFramework :
component-driven UIs
Objective-CͷϥΠϒϥϦރΕ ࣮ͨ • Cache Management • Asynchronous I/O • Image
Downloader • GUI Architecture for UIKit
React Friends in Facebook • AsyncDisplayKit (Paper) • ComponentKit (News
Feed) • React Native
Cross Platform • NativeScript/NativeScript : native mobile apps with JavaScript
• Microsoft/WinObjC
Transpiler • dropbox/djinni : generating cross-language interface bindings • google/j2objc
·ͱΊ: Objective-C Toolchain in 2017 • Glue Together Swift and
C++ • Cross Platform Frameworkͷج൫
ݱ࣮ͷΞϓϦέʔγϣϯ Λղܾ͖ͯͨ͠ίʔυ • େྔσʔλͷϋϯυϦϯά • ෳࡶͳը໘ઃܭͷରԠ • ߴԽɺলϝϞϦ
Next ? • Porting to Swift with just algorithm •
Swift 4, Swift 5 vs C++ • iOS/macOS with swift-corelibs-*