Slide 1

Slide 1 text

Ξοϓσʔτ͹͔Γ͍ͯ͠Δݴ͍༁Λͤͯ͘͞Εʂ iOSΞϓϦέʔγϣϯΤϯδχΞΑΓ 2018/09/08 @builderscon tokyo 2018 Yutaro Muta @yutailang0119

Slide 2

Slide 2 text

• Yutaro Muta @yutailang0119 • Hatena Co., Ltd. @Kyoto • Conference Staff • builderscon 2017, 2018 • PyCon JP 2016, 2017 • and more • Who am I ?

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Έͳ͞Μͷձࣾɺ νʔϜɺ पΓʹ iOSΞϓϦέʔγϣϯΤϯδχΞ͸͍·͔͢ʁ

Slide 5

Slide 5 text

ԿΛӅͦ͏ɺ ࢲ͸iOSΞϓϦέʔγϣϯΤϯδχΞͰ͢

Slide 6

Slide 6 text

ͯ͞

Slide 7

Slide 7 text

Έͳ͞ΜɺҰ౓͸͜͏ࢥͬͨ͜ͱ͸ͳ͍Ͱ͠ΐ͏͔ʁ

Slide 8

Slide 8 text

ʮ܅ͨͪɺ͍ͭ΋ όʔδϣϯΞοϓͯ͠ͳ͍ʁʯ

Slide 9

Slide 9 text

Slide 10

Slide 10 text

……

Slide 11

Slide 11 text

………

Slide 12

Slide 12 text

ؾ͍ͮͯ͠·͍·ͨ͠Ͷʁ

Slide 13

Slide 13 text

Agenda • Swiftͷྺ࢙ͱΞοϓσʔτ ݴ͍༁ • OSSԽͷԸܙ • ͜Ε͔ΒͷSwift

Slide 14

Slide 14 text

Swiftͷྺ࢙ͱΞοϓσʔτ

Slide 15

Slide 15 text

Swiftͷྺ࢙ • 2014/06 WWDC 2014Ͱൃද • 2014/09 Swift 1.0 / iOS 8 • 2015/09 Swift 2.0 / iOS 9 • 2016/09 Swift 3.0 / iOS 10 • 2017/09 Swift 4.0 / iOS 11 • 2018/09 Swift 5.0 / iOS 12

Slide 16

Slide 16 text

Swiftͷྺ࢙ • 2014/06 WWDC 2014Ͱൃද • 2014/09 Swift 1.0 / iOS 8 • 2015/09 Swift 2.0 / iOS 9 • 2016/09 Swift 3.0 / iOS 10 • 2017/09 Swift 4.0 / iOS 11 • 2018/09 Swift 5.0 / iOS 12

Slide 17

Slide 17 text

Swiftͷྺ࢙ • 2014/06 WWDC 2014Ͱൃද • 2014/09 Swift 1.0 / iOS 8 • 2015/09 Swift 2.0 / iOS 9 • 2016/09 Swift 3.0 / iOS 10 • 2017/09 Swift 4.0 / iOS 11 • 2018/09 Swift 5.0 / iOS 12

Slide 18

Slide 18 text

Swiftͷྺ࢙ • 2014/06 WWDC 2014Ͱൃද • 2014/09 Swift 1.0 / iOS 8 • 2015/09 Swift 2.0 / iOS 9 • 2016/09 Swift 3.0 / iOS 10 • 2017/09 Swift 4.0 / iOS 11 • 2018/09 Swift 5.0 / iOS 12

Slide 19

Slide 19 text

Swiftͷྺ࢙ • 2014/06 WWDC 2014Ͱൃද • 2014/09 Swift 1.0 / iOS 8 • 2015/09 Swift 2.0 / iOS 9 • 2016/09 Swift 3.0 / iOS 10 • 2017/09 Swift 4.0 / iOS 11 • 2018/09 Swift 5.0 / iOS 12

Slide 20

Slide 20 text

1೥ʹҰ౓ iOSͷϝδϟʔΞοϓσʔτͱڞʹ

Slide 21

Slide 21 text

Swiftͷྺ࢙ • 2014/06 WWDC 2014Ͱൃද • 2014/09 Swift 1.0 / iOS 8 • 2015/09 Swift 2.0 / iOS 9 • 2016/09 Swift 3.0 / iOS 10 • 2017/09 Swift 4.0 / iOS 11 • 2018/09 Swift 5.0 / iOS 12

Slide 22

Slide 22 text

Swiftͷྺ࢙ • 2014/06 WWDC 2014Ͱൃද • 2014/09 Swift 1.0 / iOS 8 • 2015/09 Swift 2.0 / iOS 9 • 2016/09 Swift 3.0 / iOS 10 • 2017/09 Swift 4.0 / iOS 11 • 2018/09 Swift 5.0 / iOS 12

Slide 23

Slide 23 text

• 2014/06 WWDC 2014Ͱൃද • 2014/09 Swift 1.0 / iOS 8 • 2015/09 Swift 2.0 / iOS 9 • 2016/09 Swift 3.0 / iOS 10 • 2017/09 Swift 4.0 / iOS 11 • 2018/09 Swift 5.0 / iOS 12 • 2014/06 WWDC 2014Ͱൃද • 2014/09 Swift 1.0 • 2015/09 Swift 2.0 • 2016/09 Swift 3.0 • 2017/09 Swift 4.0 • 2018/09 Swift 4.2 Swiftͷྺ࢙

Slide 24

Slide 24 text

https://github.com/apple/swift-evolution/commit/de7727f7dcf7bbfdea6763a87f4c8c534f27406e https://developer.apple.com/videos/play/wwdc2018/401/ WWDCͷηογϣϯதʹ͠Εͬͱmasterʹpush

Slide 25

Slide 25 text

SwiftΞοϓσʔτมߋ఺ • 2014/09 Swift 1.0 • 2015/09 Swift 2.0 -> ഁյతมߋ • 2016/09 Swift 3.0 -> ഁյతมߋ • 2017/09 Swift 4.0 -> มߋ͸ܰඍ -> λʔήοτຖʹSwift 4ͱ 3.2ͰͷίϯύΠϧϞʔυΛબ୒Ͱ͖ΔΑ͏ʹ • Early 2019 Swift 5.0 -> ABI҆ఆԽ΍OwnershipϞσϧͷಋೖ

Slide 26

Slide 26 text

SwiftΞοϓσʔτมߋ఺ • 2014/09 Swift 1.0 • 2015/09 Swift 2.0 -> େ͖ͳഁյతมߋ • 2016/09 Swift 3.0 -> େ͖ͳഁյతมߋ • 2017/09 Swift 4.0 -> খ͞ͳഁյతมߋ -> λʔήοτຖʹSwift 4ͱ 3.2ͰͷίϯύΠϧϞʔυΛબ୒Ͱ͖ΔΑ͏ʹ • Early 2019 Swift 5.0 -> ABI҆ఆԽ΍OwnershipϞσϧͷಋೖ

Slide 27

Slide 27 text

SwiftΞοϓσʔτมߋ఺ • 2014/09 Swift 1.0 • 2015/09 Swift 2.0 -> େ͖ͳഁյతมߋ • 2016/09 Swift 3.0 -> େ͖ͳഁյతมߋ • 2017/09 Swift 4.0 -> খ͞ͳഁյతมߋ -> λʔήοτຖʹSwift 4ͱ 3.2ͰͷίϯύΠϧϞʔυΛબ୒Ͱ͖ΔΑ͏ʹ • Early 2019 Swift 5.0 -> ABI҆ఆԽ΍OwnershipϞσϧͷಋೖ

Slide 28

Slide 28 text

SwiftΞοϓσʔτมߋ఺ • 2014/09 Swift 1.0 • 2015/09 Swift 2.0 -> େ͖ͳഁյతมߋ • 2016/09 Swift 3.0 -> େ͖ͳഁյతมߋ • 2017/09 Swift 4.0 -> খ͞ͳഁյతมߋ -> λʔήοτຖʹSwift 4ͱ 3.2ͰͷίϯύΠϧϞʔυΛબ୒Ͱ͖ΔΑ͏ʹ • Early 2019 Swift 5.0 -> ABI҆ఆԽ΍OwnershipϞσϧͷಋೖ

Slide 29

Slide 29 text

SwiftΞοϓσʔτมߋ఺ • 2014/09 Swift 1.0 • 2015/09 Swift 2.0 -> େ͖ͳഁյతมߋ • 2016/09 Swift 3.0 -> େ͖ͳഁյతมߋ • 2017/09 Swift 4.0 -> খ͞ͳഁյతมߋ -> λʔήοτຖʹSwift 4ͱ 3.2ͰͷίϯύΠϧϞʔυΛબ୒Ͱ͖ΔΑ͏ʹ • Early 2019 Swift 5.0 -> ABI҆ఆԽ΍OwnershipϞσϧͷಋೖ

Slide 30

Slide 30 text

OSSԽͷาΈ • 2014/06 WWDC 2014Ͱൃද • 2015/06 WWDC 2015ͰOSSԽͷൃද • 2015/12 OSSԽ -> ͜ͷ࣌఺Ͱ͸ίϯύΠϥ΍ඪ४ϥΠϒϥϦ౳ͷ͘͝Ұ෦ͷΈެ։ • ௚ۙͩͱ apple / swift-syntax ͕2िؒ΄Ͳલʹެ։

Slide 31

Slide 31 text

OSSԽͷาΈ • 2014/06 WWDC 2014Ͱൃද • 2015/06 WWDC 2015ͰOSSԽͷൃද • 2015/12 OSSԽ -> ͜ͷ࣌఺Ͱ͸ίϯύΠϥ΍ඪ४ϥΠϒϥϦ౳ͷ͘͝Ұ෦ͷΈެ։ • ௚ۙͩͱ apple / swift-syntax ͕2िؒ΄Ͳલʹެ։

Slide 32

Slide 32 text

OSSԽͷาΈ • 2014/06 WWDC 2014Ͱൃද • 2015/06 WWDC 2015ͰOSSԽͷൃද • 2015/12 OSSԽ -> ͜ͷ࣌఺Ͱ͸ίϯύΠϥ΍ඪ४ϥΠϒϥϦ౳ͷ͘͝Ұ෦ͷΈެ։ • ௚ۙͩͱ apple / swift-syntax ͕2िؒ΄Ͳલʹެ։

Slide 33

Slide 33 text

OSSԽͷาΈ • 2014/06 WWDC 2014Ͱൃද • 2015/06 WWDC 2015ͰOSSԽͷൃද • 2015/12 OSSԽ -> ͜ͷ࣌఺Ͱ͸ίϯύΠϥ΍ඪ४ϥΠϒϥϦ౳ͷ͘͝Ұ෦ͷΈެ։ • ௚ۙͩͱ apple / swift-syntax ͕2िؒ΄Ͳલʹެ։

Slide 34

Slide 34 text

OSSԽͷԸܙ

Slide 35

Slide 35 text

OSSԽͷԸܙ • ѹ౗తʹ৘ใྔ͕૿͑ͨ • ഁյతมߋ͕ݮ͖ͬͯͨ • apple / swift-coreibs-foundation ʹ͸೔ຊਓίϛολʔ΋ଘࡏ

Slide 36

Slide 36 text

͜Ε͔ΒͷSwift

Slide 37

Slide 37 text

͜Ε͔ΒͷSwift • Pythonͱͷ࿈ܞ • ABI҆ఆԽ • OwnershipϞσϧͷಋೖ

Slide 38

Slide 38 text

·ͱΊ

Slide 39

Slide 39 text

͜Ε͔ΒΞοϓσʔτͰ ۤ͠Ή͜ͱ͸ݮΔ (͸ͣ)

Slide 40

Slide 40 text

ͱ͸͍͑ɺ དྷिͷAppleΠϕϯτ͸ظ଴൒෼ෆ҆൒෼Ͱ͢

Slide 41

Slide 41 text

&OKPZCVJMEFSTDPO 5IBOLT w NVUBZVUBSP!HNBJMDPN w IUUQTUXJUUFSDPNZVUBJMBOH w IUUQTHJUIVCDPNZVUBJMBOH