Slide 1

Slide 1 text

Objective-C Toolchain in 2017 id:laiso

Slide 2

Slide 2 text

Agenda • SwiftίϛϡχςΟͰ͸͋·Γ࿩୊ʹͳΒͳ͍ Objective-CϥΠϒϥϦͷ঺հ • ͳͥObjective-Cͳͷ͔ • ࠓޙͲ͏ͳΔͷ͔

Slide 3

Slide 3 text

Pinterest's Implementation • PINCache : non-deadlocking parallel object cache • PINOperation (NSOperationQueue) • PINRemoteImage : feature rich image fetcher

Slide 4

Slide 4 text

And Spotify • SPTDataLoader (HTTP Client) • SPTPersistentCache

Slide 5

Slide 5 text

View Framework • Instagram/IGListKit : UICollectionView framework • spotify/HubFramework : component-driven UIs

Slide 6

Slide 6 text

Objective-CͷϥΠϒϥϦ͸ރΕ ࣮ͨ૷ • Cache Management • Asynchronous I/O • Image Downloader • GUI Architecture for UIKit

Slide 7

Slide 7 text

React Friends in Facebook • AsyncDisplayKit (Paper) • ComponentKit (News Feed) • React Native

Slide 8

Slide 8 text

Cross Platform • NativeScript/NativeScript : native mobile apps with JavaScript • Microsoft/WinObjC

Slide 9

Slide 9 text

Transpiler • dropbox/djinni : generating cross-language interface bindings • google/j2objc

Slide 10

Slide 10 text

·ͱΊ: Objective-C Toolchain in 2017 • Glue Together Swift and C++ • Cross Platform Frameworkͷج൫

Slide 11

Slide 11 text

ݱ࣮ͷΞϓϦέʔγϣϯ໰୊ Λղܾ͖ͯͨ͠ίʔυ • େྔσʔλͷϋϯυϦϯά • ෳࡶͳը໘ઃܭ΁ͷରԠ • ߴ଎ԽɺলϝϞϦ

Slide 12

Slide 12 text

Next ? • Porting to Swift with just algorithm • Swift 4, Swift 5 vs C++ • iOS/macOS with swift-corelibs-*