Slide 1

Slide 1 text

iOSΞϓϦͷٕज़తෛ࠴Λ Ͳ͏ฦࡁ͔ͨ͠ Keisuke Kobayashi ʲώΧˑϥϘʳʲKyashɺCoineyɺPAYʳ৽͍͠ࢧ෷͍ͷܗΛ࡞ΔɺϞόΠϧܾ ࡁαʔϏεͷ։ൃͷཪଆͱ͸

Slide 2

Slide 2 text

ࣗݾ঺հ • Keisuke Kobayashi • Twitter: kobakei122 • GitHub: kobakei • Kyash, Inc • Android / iOS / Engineering Manager

Slide 3

Slide 3 text

ٕज़తෛ࠴ͷ࿩Λ͠·͢

Slide 4

Slide 4 text

͔ͭͯͷKyash iOS൛ • ͳ͔ͥ1ਓͰ࡞ͬͯΔAndroid൛ΑΓɺ
 3ਓͰ࡞ͬͯΔiOS൛ͷํ͕։ൃ͕஗͍ • ͔͠΋όά͕ଟ͍ • ͦͯ͠3ਓͷ͏ͪ2ਓ͕ࣙΊͨ

Slide 5

Slide 5 text

͜Ε͸ϠόΠ

Slide 6

Slide 6 text

ମ੍มߋ • @konifar ͕ೖࣾ͠AndroidνʔϜ΁ • @kobakei122 ͕AndroidνʔϜ͔Β
 iOSνʔϜ΁ • ·ͣணखͨ͠ͷ͕ٕज़తෛ࠴ͷฦࡁ

Slide 7

Slide 7 text

ٕज़తෛ࠴Λฦࡁ͍ͯ͘͠ • ιʔείʔυͷ඼࣭վળ • ϦιʔεपΓͷվળ • Ϗϧυߴ଎Խ

Slide 8

Slide 8 text

ιʔείʔυͷ඼࣭վળ

Slide 9

Slide 9 text

ະ࢖༻ίʔυͷ࡟আ • ͱʹ͔͘ফ͢ • Find Selected Symbol in Workspace • Androidͷ࣮૷Λݟͭͭɺ͢Ͱʹଘࡏ͠ͳ͍ ػೳ΍ը໘Λফ͍ͯ͘͠

Slide 10

Slide 10 text

ΞʔΩςΫνϟݟ௚͠ • MVVM + ϨΠϠʔυΞʔΩςΫνϟͷ࠾༻

Slide 11

Slide 11 text

MVVM • UI͸ςετ͠ʹ͍͘ • UIͷϩδοΫΛViewController͔Βണ͕͢͜ ͱͰɺςετΛॻ͖΍͘͢͢Δ 7JFX 6*7JFX$POUSPMMFS 7JFX.PEFM .PEFM

Slide 12

Slide 12 text

ϨΠϠʔυΞʔΩςΫνϟ • ؔ਺ݺͼग़͠Λ1ํ޲ʹ౷Ұ͢Δ • ಉ͡֊૚ͷݺͼग़͠΋ېࢭ$ • Ϋϥεؒͷґଘؔ܎Λγϯϓϧʹอͭ • ֤ϨΠϠʔͷ੹຿Λ໌֬ʹ͢Δ • ΫϥεංେԽͷ๷ࢭ

Slide 13

Slide 13 text

·ͱΊΔͱ͜Μͳઃܭ 7JFX 7JFX.PEFM 3FQPTJUPSZ "1*$MJFOU ,FZDIBJO

Slide 14

Slide 14 text

·ͱΊΔͱ͜Μͳઃܭ 7JFX 7JFX.PEFM 3FQPTJUPSZ "1*$MJFOU ,FZDIBJO 6*7JFX$POUSPMMFS 5BCMF7JFX$FMMͳͲ

Slide 15

Slide 15 text

·ͱΊΔͱ͜Μͳઃܭ 7JFX 7JFX.PEFM 3FQPTJUPSZ "1*$MJFOU ,FZDIBJO 6*ʹؔ͢ΔϩδοΫ

Slide 16

Slide 16 text

·ͱΊΔͱ͜Μͳઃܭ 7JFX 7JFX.PEFM 3FQPTJUPSZ "1*$MJFOU ,FZDIBJO ֤&OUJUZͷ$36%

Slide 17

Slide 17 text

·ͱΊΔͱ͜Μͳઃܭ 7JFX 7JFX.PEFM 3FQPTJUPSZ "1*$MJFOU ,FZDIBJO ֤छ σʔλιʔεͷ
 ஋ΛಡΈॻ͖

Slide 18

Slide 18 text

RxSwiftͷಋೖ • DispatchQueueͰඇಉظॲཧ͸ਏ͍ • ͲΜͲΜਂ͘ͳΔωετ • leave࿙ΕʹΑΔόά • RxSwiftͳΒඇಉظॲཧͷ௚ྻɾฒྻ࣮ߦ͕؆୯ • ྫ: APIΛ2ͭݺͼग़ͯ͠ɺ݁Ռ͕ἧ͔ͬͯΒ
 ը໘ߋ৽

Slide 19

Slide 19 text

ϦιʔεपΓͷվળ

Slide 20

Slide 20 text

Storyboardͷ෼ׂ • ෳ਺ը໘Λ࣋ͭStoryboardΛಉ࣌ʹฤूͯ͠ ίϯϑϦΫτ͢Δࣄނ͕ଟൃ • 1ը໘1StoryboardʹͳΔ·Ͱ෼ׂ • ͦΕͰ΋ͨ·ʹࣄނΔͷͰνʔϜͰͷ੠ֻ͚ େࣄ

Slide 21

Slide 21 text

Segueېࢭ • Storyboard෼ׂͷ͍ͭͰʹېࢭ • ը໘ભҠͰ஋Λ౉͢ͱ͖ʹɺભҠϩδοΫ͕ Storyboardͱίʔυʹ෼ࢄͯ͠͠·͏ • ୅ΘΓʹίʔυʹू໿͢Δ • ը໘ભҠ༻ͷstaticؔ਺Λ༻ҙͯ͠ɺ஋ͷܕ΋ݻఆ ͢Δ

Slide 22

Slide 22 text

SwiftGen • ֤छϦιʔεͷఆ਺Λࣗಈੜ੒͢ΔϥΠϒϥϦ • จࣈྻ • ը૾ • ৭ • Storyboard • ଘࡏ͠ͳ͍จࣈྻ΍ը૾Λ࢖ͬͨΒϏϧυ࣌ʹΤϥʔʹͳΔ

Slide 23

Slide 23 text

ΧϥʔύϨοτ • όʔδϣϯ؅ཧ͢ΔΑ͏ʹ • ~/Library/Colors/ʹίϐʔ͢Δ͜ͱͰɺνʔϜ ͷશһ͕ಉ͡ύϨοτΛ࢖༻Ͱ͖Δ • SwiftGenͱͷ૬ੑ΋

Slide 24

Slide 24 text

Ϗϧυߴ଎Խ

Slide 25

Slide 25 text

Embedded Framework • UI૚ͷमਖ਼͕΄ͱΜͲͳͷͰɺModel૚͸Ͱ͖Δ͚ͩϏϧυͨ͠ ͘ͳ͍ • Model૚ΛϨΠϠʔ͝ͱʹϑϨʔϜϫʔΫԽ • Repository • Infrastructure • Entity • Utility

Slide 26

Slide 26 text

CocoaPods -> CarthageҠߦ • ϥΠϒϥϦͷϏϧυ͕஗͍ • Carthage/Build/ҎԼ΋gitʹίϛοτ • ͱ͸ݴ͑શͯͷϥΠϒϥϦΛҠߦͰ͖ΔΘ͚ Ͱ͸ͳ͍ • ྫ: Firebase

Slide 27

Slide 27 text

MBPങ͍ସ͑ • ΋͏ҰਓͷiOSΤϯδχΞ͕MBP 13ΠϯνΛ࢖͍ͬͯ ͨ • MBP 15ΠϯνΛࢧڅ • ΫΞουίΞCPU͸iOSΤϯδχΞͷ
 جຊతਓݖ • iMac Proཉ͍͠

Slide 28

Slide 28 text

3͔݄ޙ…

Slide 29

Slide 29 text

ͦ͜ʹ͸ݩؾʹ૸ΓճΔ
 iOSνʔϜͷ͕࢟ʂ • ։ൃ଎౓ͷ޲্ • Androidʹ௥͍͍ͭͨʂ • ඼࣭ͷ޲্ • Crash Free Rate

Slide 30

Slide 30 text

ࠓޙͷ༧ఆ • ςετΛ͝Γ͝Γॻ͍͍ͯ͘ • ·ͩςετΛॻ͚Δঢ়ଶʹͳ͚ͬͨͩ • ViewModelத৺ʹॻ͘ํ਑ • UI૚Λࡉ͔͘ϑϨʔϜϫʔΫԽ • ·ͣ͸ڞ௨Ͱ࢖͏ΧελϜϏϡʔͳͲ • υϝΠϯ૚͋ͬͨ΄͏͕͍͍͔΋

Slide 31

Slide 31 text

Thanks!!!