Slide 1

Slide 1 text

!UFNPLJ 4XJGU1BDLBHF.BOBHFSʹΑΔ ϚϧνϞδϡʔϧߏ੒ Έ͔ͦͭϞόΠϧ

Slide 2

Slide 2 text

5PNPLJ,PCBZBTIJ !UFNPLJ w גࣜձࣾελϝϯʢ໊ݹ԰ʣ w ΤϯδχΞϦϯάɾϚωʔδϟʔ w J1IPOF(೔ຊ্཮ͱಉ࣌ʹ 
 J1IPOFΞϓϦ։ൃΛ࢝ΊΔ w "OESPJE 'MVUUFSʹ΋खΛग़͢

Slide 3

Slide 3 text

📖΃ΒΓදࢴͰݟ͚ͭΔֆຊ԰͞ΜΞϓϦ 'MVUUFSͰJ04"OESPJE8FCΞϓϦΛϦϦʔεʂ https://perali.hiraku.space/about

Slide 4

Slide 4 text

9DPEFͷϞδϡʔϧ

Slide 5

Slide 5 text

import UIKit import SwiftUI 👈ίϨ

Slide 6

Slide 6 text

ϞδϡʔϧΛ෼͚ΔϝϦοτɾσϝϦοτ w ✅ଞͷϞδϡʔϧ΁ͷެ։ൣғΛίϯτϩʔϧͰ͖Δ w ✅Ϟδϡʔϧ୯ҐͰͷϏϧυʹΑΓϏϧυ͕࣌ؒ୹ॖ͞ΕΔ w ❌ద੾ʹϞδϡʔϧΛ෼ׂ͢Δ೉қ౓͕ߴ͍ w ❌ϞδϡʔϧؒΛૄ݁߹ʹ͢ΔͨΊͷந৅ԽʹΑΓෳࡶ্͕͕͞Δ

Slide 7

Slide 7 text

ྫ ;PPϞδϡʔϧΛఆٛ

Slide 8

Slide 8 text

ྫ ;PPϞδϡʔϧΛ࢖͏

Slide 9

Slide 9 text

9DPEFͷϚϧνϞδϡʔϧߏ੒

Slide 10

Slide 10 text

.VMUJ5BSHFUT 9DPEFϓϩδΣΫτͷதʹෳ਺ͷλʔήοτ

Slide 11

Slide 11 text

.VMUJ1SPKFDUT 9DPEFϫʔΫεϖʔεͷதʹෳ਺ͷ9DPEFϓϩδΣΫτ

Slide 12

Slide 12 text

9DPEF1SPKFDUϑΝΠϧͱͷ ಆ͍͕େมͳ͜ͱʹʜ

Slide 13

Slide 13 text

9DPEF1SPKFDUϑΝΠϧͱͷ ಆ͍͕େมͳ͜ͱʹʜ

Slide 14

Slide 14 text

🆕.VMUJ-PDBM4XJGU1BDLBHFT

Slide 15

Slide 15 text

🆕.VMUJ-PDBM4XJGU1BDLBHFT 9DPEFϓϩδΣΫτͷதʹϩʔΧϧ؅ཧͷ4XJGUύοέʔδΛෳ਺഑ஔ

Slide 16

Slide 16 text

.VMUJ-PDBM4XJGU1BDLBHFTߏ੒ͷ࡞Γํ ᶃΞϓϦ༻ͷ9DPEFϓϩδΣΫτΛ༻ҙ MyApp MyApp.xcodeproj MyApp 􀆈 􀆊

Slide 17

Slide 17 text

.VMUJ-PDBM4XJGU1BDLBHFTߏ੒ͷ࡞Γํ ᶄMJCSBSZλΠϓͷ4XJGUύοέʔδΛ࡞Δ MyApp MyApp.xcodeproj MyApp 􀆈 􀆊 ModuleA 􀆊 mkdir ModuleA cd $_ swift package init

Slide 18

Slide 18 text

.VMUJ-PDBM4XJGU1BDLBHFTߏ੒ͷ࡞Γํ ᶅύοέʔδͷσΟϨΫτϦΛ9DPEFͷ1SPKFDU/BWJHBUPS΁υϩοϓ MyApp MyApp.xcodeproj MyApp 􀆈 ModuleA ModuleA 􀅼

Slide 19

Slide 19 text

.VMUJ-PDBM4XJGU1BDLBHFTߏ੒ͷ࡞Γํ ᶆ௥Ճͨ͠ύοέʔδΛΞϓϦͷϦϯΫର৅ʹઃఆ͢Δ MyApp MyApp.xcodeproj MyApp 􀆈 ModuleA

Slide 20

Slide 20 text

.VMUJ-PDBM4XJGU1BDLBHFTߏ੒ͷ࡞Γํ ᶇύοέʔδؒͷґଘؔ܎͸1BDLBHFTXJGUʹఆٛ MyApp MyApp.xcodeproj MyApp 􀆈 ModuleA ModuleB ґଘ

Slide 21

Slide 21 text

✅Ϟδϡʔϧͷઃఆ͸1BDLBHFTXJGU΁ 9DPEFϓϩδΣΫτϑΝΠϧʹൺ΂ͯѹ౗తʹ؆ܿʹʂ ෳ਺ਓ։ൃͰͷίϯϑϦΫτͷۤ௧΋αϤ΢φϥ👋

Slide 22

Slide 22 text

✅Ϟδϡʔϧ୯ҐͰͷܰྔͳ։ൃ 4XJGUύοέʔδͷΈ9DPEFͰ։͍ͯ։ൃ͢Ε͹Ϗϧυ΋αΫαΫಈ͘ʂ

Slide 23

Slide 23 text

'"2ʢࢲ͕ࠔͬͯௐ΂ͨ͜ͱʣ

Slide 24

Slide 24 text

4XJGU6*ͷϓϨϏϡʔදࣔ͸Ͱ͖·͔͢ʁ ✅Ͱ͖·͢ʂͨͩ͠4XJGU6*͕ར༻Ͱ͖Δ1MBUGPSNͷࢦఆ͕ඞਢɻ ·ͨɺϓϨϏϡʔ༻ʹ࢖͏1SFWJFX$POUFOUʹ૬౰͢Δػೳ͕ͳͦ͞͏ɻ 9DPEF1SFWJFXΛ࢖༻͢Δ৔߹͸ 4XJGU6*͕ར༻Ͱ͖Δ1MBUGPSN͕ඞਢ

Slide 25

Slide 25 text

ύοέʔδʹϦιʔε΋ؚΊΒΕ·͔͢ʁ ✅Ͱ͖·͢ʂYDBTTFUT TUPSZCPBSE TUSJOHTͱ͍ͬͨҰൠతͳ ϦιʔεϑΝΠϧ͸ࣗಈతʹύοέʔδͷ#VOEMFʹಉࠝ͞Ε·͢ɻ ϩʔΧϥΠζɾϦιʔεΛؚΉ৔߹͸ EFGBVMU-PDBMJ[BUJPOͷઃఆΛʂ ͦͷଞͷϦιʔεϑΝΠϧ͸ 5BSHFUʹ໌͍ࣔͯͩ͘͠͞

Slide 26

Slide 26 text

JG%(Ͱσόοά࣌ͷίʔυΛॻ͚·͔͢ʁ ✅ॻ͚·͢ʂಠࣗͷίϯύΠϧ࣌ϑϥά΋1BDLBHFTXJGUʹఆٛͰ͖·͢ɻ

Slide 27

Slide 27 text

ύοέʔδϏϧυ࣌ʹ4XJGU-JOUΛ࣮ߦ͍ͨ͠ʂ ❌Ͱ͖·ͤΜʂ w 9DPEFϓϩδΣΫτͷ#VJME1IBTF4DSJQU૬౰ͷ࢓૊Έ͕͋Γ·ͤΜ w 4DIFNFͷ#VJME1SF"DUJPOͰ͸9DPEFͰ-JOU݁ՌΛͰදࣔͰ͖·ͤΜ 
 TXJGUMJOUŠ fi YͷΈͳΒ0,ʣ w ΞϓϦຊମϓϩδΣΫτͷϏϧυ࣌ʹҰׅνΣοΫ͢Δ͔͠ͳ͍ͷ͔ʁ

Slide 28

Slide 28 text

·ͱΊ

Slide 29

Slide 29 text

·ͱΊ w ΞϓϦ։ൃʹ͓͍ͯϩʔΧϧ؅ཧͷ4XJGUύοέʔδͰ 
 ϚϧνϞδϡʔϧߏ੒Λ࣮ݱͰ͖Δ w 9DPEFϓϩδΣΫτʹΑΔϚϧνϞδϡʔϧߏ੒ΑΓ΋ɺ 1BDLBHFTXJGUʹΑΓγϯϓϧʹ؅ཧͰ͖Δ w 9DPEFϓϩδΣΫτͱͷҧ͍Λ೺Ѳ͓ͯ͘͠ඞཁ͕͋Δ