Slide 1

Slide 1 text

3೥ؒ࡞Γଓ͚͖ͯͨ ΞϓϦΛSwiftԽͨ͠࿩

Slide 2

Slide 2 text

ࣗݾ঺հ ւ઒ ࿨໻ 28ࡀ (ג)ϚονϯάΤʔδΣϯτ iOSྺ 5೥ ޷͖: ͳΊ͜ ࠷ۙͷϚΠϒʔϜɿFGOɺFE ώʔϩʔζ

Slide 3

Slide 3 text

ฐࣾΞϓϦ঺հ

Slide 4

Slide 4 text

λοϓϧ஀ੜ ϚονϯάαʔϏε 2013೥12݄͔Β։ൃɻ ཌ5݄ɺϦϦʔε 2017೥ݱࡏɺDAU11ສ (͏ͪiOS6ສ)

Slide 5

Slide 5 text

λοϓϧ஀ੜ iOS൛ SwiftԽϓϩδΣΫτ

Slide 6

Slide 6 text

໨࣍ ίʔυͷ಺༁ Obj-C → Swift 2.3 Swift 2.3 → Swift 3.0

Slide 7

Slide 7 text

ίʔυͷ಺༁

Slide 8

Slide 8 text

ίʔυͷ಺༁ SwiftԽ͢Δલ Objective-C 99.5% ݱࡏ Objective-C 81.2% Swift 18.6%

Slide 9

Slide 9 text

ίʔυͷྔ Swift͢Δલ .m, .hϑΝΠϧ߹Θͤͯ600ϑΝΠϧఔ౓ ܭ60,000ߦ

Slide 10

Slide 10 text

Objective-C → Swift 2.3

Slide 11

Slide 11 text

͖͔͚ͬ ௕͍ϓϩδΣΫτͳͷͰɺٕज़తෛ࠴͕ଟ͍ ࢪࡦʹ௥ΘΕ͍ͯΔঢ়گ Ұճ͔ͬ͠Γͱվળ͚ͩΛ͍ͨ͠ 2016೥11݄ɺվળͷͨΊɺ։ൃ߹॓Λ͢Δ͜ͱʹ ͳͬͨ

Slide 12

Slide 12 text

։ൃ߹॓ͷৄ͍͠࿩͸ͪ͜Β https://developers.cyberagent.co.jp/blog/ archives/2055/

Slide 13

Slide 13 text

SwiftԽϩʔυϚοϓ 1ധ2೔ͷ։ൃ߹॓ͰҰؾʹ΍Γ͖Δ ໨ඪ͸SwiftԽ100%! iOSΤϯδχΞ͸2ਓɺ࡞ۀ࣌ؒ͸16࣌ؒ΄Ͳɻܭ32 ࣌ؒ ίϯόʔλʔΛ࢖ͬͯҰؾʹม׵ ͱΓ͋͑ͣಈ͘Α͏ʹͯ͠ɺޙͰϦϑΝΫλϦϯά

Slide 14

Slide 14 text

ίϯόʔλͷछྨ Swiftify iSwift objc2swift

Slide 15

Slide 15 text

Swiftify ֹ݄14.99$ ແྉͩͱ10KB·ͰͷίʔυΛม׵Ͱ͖Δ ༗ྉͳΒϑΝΠϧ͝ͱɺϓϩδΣΫτ͝ͱม׵Մೳ Swift2.2, 3.0 ʹม׵Մೳ

Slide 16

Slide 16 text

iSwift ༗ྉ(14.99$) ΢Σϒ্Ͱม׵Մೳ MacΞϓϦ͕͋Γɺ1೔͚ͩແྉମݧͰ͖Δ Swift2.2, 3.0ʹม׵Մೳ

Slide 17

Slide 17 text

objc2swift ແྉ ίϚϯυϥΠϯ͔Βม׵Ͱ͖Δ hϑΝΠϧɺmϑΝΠϧΛҰॹʹม׵͢Δ Swift2.xʹม׵Ͱ͖Δ Yahooͷਓ͕࡞ͬͨ

Slide 18

Slide 18 text

બ͹Εͨͷ͸…

Slide 19

Slide 19 text

objc2swiftΛ࠾༻ ແྉʂ ίϚϯυϥΠϯ͍͍ͬͯ yahoo࡞੒ͱ͍͏৴པײ http://qiita.com/shu223/items/ 7a20d97d93e056a4e0ac

Slide 20

Slide 20 text

Start!

Slide 21

Slide 21 text

ૣ଎น͕…

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

* ※౰࣌ͷ΋ͷͰ͸ͳ͘ɺswift3ରԠޙʹ΍ͬͨ΋ͷͳͷͰɺ AnyHashableͱ͔࢖ͬͯ·͢

Slide 24

Slide 24 text

☠ܯࠂࡇΓ☠ ม׵͚ͩͰऴΘΔ͜ͱ͸100%ͳ͍ XcodeͷαδΣετ͕ग़Δܯࠂ͕൒෼͘Β͍ ࢒Γ൒෼͸ࣗྗͰͲ͏ʹ͔͢Δ͔͠ͳ͍ ͍͍ͩͨ100ߦ͘Β͍Ͱ40ݸ΄Ͳܯࠂ͕ग़Δ

Slide 25

Slide 25 text

* ※౰࣌ͷ΋ͷͰ͸ͳ͘ɺswift3ରԠޙʹ΍ͬͨ΋ͷ ͜ΕΛ

Slide 26

Slide 26 text

͜ͷঢ়ଶ·Ͱ15෼ ~ 30෼͘Β͍͔͔Δ !ͱ͔࢖ͬͯΔͷͰ·ͩमਖ਼͕ඞཁͩ͠ɺϩδοΫ͕ਖ਼͍͠ ͔ݕূ͕ඞཁ * ※౰࣌ͷ΋ͷͰ͸ͳ͘ɺswift3ରԠޙʹ΍ͬͨ΋ͷ

Slide 27

Slide 27 text

։ൃ߹॓ͷ੒Ռ .m : 317ϑΝΠϧ 50381ߦ → 269ϑΝΠϧ 44688ߦ .h : 324ϑΝΠϧ 10124ߦ → 262ϑΝΠϧ 7818ߦ swift : 3ϑΝΠϧ 199ߦ → 63ϑΝΠϧ 4297ߦ 7999ߦ࡟আɺ4098ߦ௥Ճ

Slide 28

Slide 28 text

શମͷ…

Slide 29

Slide 29 text

શମͷ…8%!

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

൓ল ؆୯ʹ͍͔ͳ͍ͷ͸Θ͔͚ͬͯͨͲɺ͔ͳΓ೉୊ͩ ͱΘ͔ͬͨ ໨ඪ͸ͪΌΜͱཱͯΑ͏

Slide 32

Slide 32 text

߹॓ͷΑ͔ͬͨϙΠϯτ SwiftԽͷ͖͔͚ͬʹͳͬͨ શମΛίϯόʔτ͢Δͷʹ͔͔Δ͕࣌ؒͬ͘͟Γ༧ ଌͰ͖ΔΑ͏ʹͳͬͨ جຊσʔλΛѻ͏ΫϥεΛશ෦ม׵Ͱ͖ͨ

Slide 33

Slide 33 text

Objective-CͷΫϥεΛ Swift͔ΒݺͿͱ !ࡇΓͰ΍͹͍ * ※౰࣌ͷ΋ͷͰ͸ͳ͘ɺswift3ରԠޙʹ΍ͬͨ΋ͷ

Slide 34

Slide 34 text

࣮ߦ࣌ΤϥʔͷԹচͱͳΓ͔Ͷͳ͍ ݺͼग़͢ଆͰ͸ͳ͘ɺݺͼग़͞ΕΔଆ͔ΒSwiftԽ͠ ·͠ΐ͏ ΋͘͠͸Objective-Cଆʹɺnullable, nonnullΛ͚ͭΔ

Slide 35

Slide 35 text

Swift 2.3 → Swift 3.0

Slide 36

Slide 36 text

͖͔͚ͬ Xcode 8.3 ͔Β Swift 2.3 ͸ରԠ͠ͳ͍ ! ΍͹͍!!

Slide 37

Slide 37 text

ͦ΋ͦ΋ͳͥ2.3ͩͬͨͷ? ࢖ͬͨίϯόʔλ͕ Swift2.3͔͠ରԠͯ͠ͳ͔ͬͨ ແྉͱ͍͏᠘ʹҾ͔͔ͬͬͨ

Slide 38

Slide 38 text

࢖͏ίϯόʔλʔ͸ͪ͜Β

Slide 39

Slide 39 text

΋͏ม׵͸͜Γ͝Γ͓ͩ…>< ·ͨਏ͍࡞ۀ͕࢝·Δ…

Slide 40

Slide 40 text

͓΍…Swiftͷ༷ࢠ͕…

Slide 41

Slide 41 text

ҙ֎ͱ͏·͍ͬͨ͘Swift3Խ Appleఏڙίϯόʔλʔ͸Ͱ͖Δ͜ ͍͍ͩͨͷΤϥʔ͕ΫϦοΫͰ࣏Δ΍ͭ 10࣌ؒఔ౓Ͱ׬੒ ͨ·ʹҾֻ͚ͬ͋Δ͔Β஫ҙ

Slide 42

Slide 42 text

Ҿֻ͚ͬϙΠϯτ উखʹ!΍?͕ͭ͘ͷͰ஫ҙ

Slide 43

Slide 43 text

ࠓޙͷϩʔυϚοϓ ݱࡏ Swift 20% དྷظͰ80%Λ໨ࢦ͢ ຖ݄ͷϚΠϧετʔϯΛઃఆ

Slide 44

Slide 44 text

͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

Slide 45

Slide 45 text

SwiftԽ͢Δཧ༝

Slide 46

Slide 46 text

͑ʁ౰ͨΓલͩΑͶ…? Swift͸ࠓ࠷΋࿩୊ͳݴޠɻObjective-C͸ݹ͍ Ϟμϯͳॻ͖ํ͕Ͱ͖Δɻܕਪ࿦ɺstructɺ OptionalValueͳͲͳͲศརͳػೳ͕ଟ͍ ΤϯδχΞͱͯ͠ͷ੒௕Λߟ͑ΔͱɺSwiftΛ΍ͬͨ ํ͕໌Β͔ʹ͍͍

Slide 47

Slide 47 text

ձࣾ͸ೲಘͯ͘͠Εͳ͍ SwiftԽʹԿϲ݄͔͔Δͷʁ ࠓͷίʔυͰԿ͔໰୊͕͋Δͷ͔ʁ SwiftԽͰ՝ۚ཰͸্͕Δͷ͔ʁ Objective-Cͷํ͕ॻ͖׳ΕͯΔͰ͠ΐʁ

Slide 48

Slide 48 text

ࣄҊ: ࠾༻ࣦഊ ͍͍ײ͡ͷͰ͖ΔΤϯδχΞM܅͕དྷࣾ ͏ͪͷίʔυͷ಺༁Λઆ໌(swift20%) ʮObj-C͸ॻ͖ͨ͘ͳ͍ΜͰ͢ΑͶʯ ࠾༻Ͱ͖ͣ