Slide 1

Slide 1 text

Xamarin'Ͱ Apple%Watch%ΞϓϦΛ࡞Δ

Slide 2

Slide 2 text

ࣗݾ঺հ • Ӊࠤݟ"ެี"(@usamik26) • ϑΣϯϦϧגࣜձࣾ • iOS"ΞϓϦ։ൃ • Swi1"/"Objec7ve9C"(+"Reac7ve"frameworks) • Xamarin"+"MvvmCross

Slide 3

Slide 3 text

WWDC$15 • 6/8%ʢ݄ʣ%ʙ%6/12ʢۚʣ • αϯϑϥϯγεί • OS%X%10.11%/%iOS%9%/%watchOS%2 • Swi4%2

Slide 4

Slide 4 text

Xamarin'WWDC'Party':'6/9ʢՐʣ

Slide 5

Slide 5 text

Agenda • Apple&Watch&ͱ͸ • Apple&Watch&ΞϓϦͷߏ੒ • Xamarin&Ͱͷ։ൃͷ͔ͨ͠ • watchOS&1&͔Β&watchOS&2&΁

Slide 6

Slide 6 text

Apple%Watch%ͱ͸

Slide 7

Slide 7 text

Apple%Watch%ͷछྨ

Slide 8

Slide 8 text

iPhone'&'Apple'Watch • iPhone(ͱϖΞϦϯάඞਢ • Watch(୯ಠͰͰ͖Δ͜ͱ͸গͳ͍ • Watch(Ͱ௨஌Λड͚औΕΔɺ͍͔ͭ͘ ͷϦΞΫγϣϯ͕Ͱ͖Δ • Watch(಺ଂηϯαͰऔಘͨ͠σʔλ͕( iPhone(ʹ஝ੵ͞ΕΔ

Slide 9

Slide 9 text

Apple%Watch%ͷ%UI

Slide 10

Slide 10 text

άϥϯε!/!௨஌

Slide 11

Slide 11 text

Apple%Watch%ΞϓϦͷߏ੒

Slide 12

Slide 12 text

WatchKit • Watch'ͷΞϓϦΛ࡞ΔͨΊͷ'SDK • Watch'ͷΞϓϦ͸ɺ։ൃऀ޲͚υΩϡϝϯτͰ͸ ʮWatchKit'Appʯͱݺ͹Ε͍ͯΔ

Slide 13

Slide 13 text

WatchKit(ͷυΩϡϝϯτ • Apple&Developer • h,ps:/ /developer.apple.com/watchkit/ • Human&Interface&Guidelines&/&Programming&Guide • Xamarin&Developer • h,p:/ /developer.xamarin.com/guides/ios/watch/

Slide 14

Slide 14 text

WatchKit(App(ͷߏ੒ • 3#ͭͷλʔήοτ • iOS#App • WatchKit#Extension • WatchKit#App

Slide 15

Slide 15 text

Extension)ͱ)App • WatchKit)Extension • ࣮ߦίʔυ)/)iOS)୺຤্ʹ഑ஔ • WatchKit)App • UIʢstoryboardʣ)/)Watch)୺຤্ʹ഑ஔ • BLE)௨৴Ͱ࿈ܞ࣮ͯ͠ߦ͞ΕΔ

Slide 16

Slide 16 text

Xamarin'Ͱͷ։ൃͷ͔ͨ͠

Slide 17

Slide 17 text

Demo WatchKit(App(Λ৽ن࡞੒ͯ͠ΈΔ

Slide 18

Slide 18 text

৽ن࡞੒!Demo!·ͱΊ • iOS%App%ͱಉ͡ιϦϡʔγϣϯͰ%WatchKit%App%৽ن࡞੒ • ࢀরઃఆʢࣗಈతʹߦΘΕΔʣ • iOS%App%.>%WatchKit%Extension%.>%WatchKit%App • Bundle%ID%ઃఆʢࣗಈతʹߦΘΕΔʣ • WatchKit%Extension%.>%WatchKit%App%.>%iOS%App • Startup%Project%͸%WatchKit%Extension

Slide 19

Slide 19 text

Interface.storyboard • WatchKit)App)ͷ)UI)Λఆٛ͢Δ) Storyboard • View)͸͢΂ͯ)Storyboard)্Ͱఆٛ ʢίʔυͰ͸ੜ੒ෆՄʣ • ͋Β͔͡Ί༻ҙ͞Ε͍ͯΔ)View)͔͠ ࢖͑ͳ͍ʢΧελϜ)View)ෆՄʣ • WatchKit)App)ͷΤϯτϦϙΠϯτͷ΄ ͔ɺGlance)΍)No;fica;on)ͷΤϯτϦ ϙΠϯτ΋͋Δ

Slide 20

Slide 20 text

Demo WatchKit(Extension(Ͱͷίʔυهड़

Slide 21

Slide 21 text

ίʔυهड़!Demo!·ͱΊ • WKInterfaceController/Ͱίʔυهड़ • iOS/Ͱͷ/UIViewController/ʹ͋ͨΔΫϥε • UI/ͷΞΫγϣϯΛهड़

Slide 22

Slide 22 text

iOS$App$ͱ$WatchKit$App$ͷ࿈ܞ • App$Group$Λ࢖͏ • Bundle$ID$ͱ$Provisioning$Profile$ͷઃఆ • NSUserDefaults$/$ϑΝΠϧ$/$CoreData$Λڞ༗ • ͜ͷ͋ͨΓ$Xamarin$Developer$ͷυΩϡϝϯτΛಡΉͱΑ͍

Slide 23

Slide 23 text

watchOS(1(͔Β(watchOS(2(΁

Slide 24

Slide 24 text

iOS$9$/$watchOS$2 • iOS%9%ͱ%watchOS%2%ͷਖ਼ࣜϦϦʔε͸ळ • ʢྫ೥Ͳ͓ΓͳΒ9݄ʣ • ݱࡏɺiOS%9%ͷύϒϦοΫϕʔλ൛͕഑෍͞Ε͍ͯΔ • ։ൃऀ޲͚ʹ͸ैདྷ௨Γ%iOS%9%ͱ%watchOS%2%ͷϕʔλ൛͕഑ ෍͞Ε͍ͯΔ

Slide 25

Slide 25 text

Xamarin'ͷঢ়گ • iOS%9%ରԠͷ%Preview%൛͕ϦϦʔε͞Ε͍ͯΔ • watchOS%2%ʹ͸ະରԠ

Slide 26

Slide 26 text

watchOS(2

Slide 27

Slide 27 text

Watch&ଆͰͷಈ࡞ • WatchKit)Extension)ͷίʔυ͕)Watch)্Ͱಈ͘Α͏ʹͳΔ • BLE)௨৴Λ͸͞·ͳ͍෼ͷ଎౓޲্͕ݟࠐ·ΕΔ • ैདྷ)framework)͕)Watch)ଆͰಈ࡞͢ΔΑ͏ʹͳΔ • Watch)୯ಠͰͷ)HTTP)௨৴΍Ґஔ৘ใऔಘ

Slide 28

Slide 28 text

Watch&Connec+vity • iOS%App%ͱ%WatchKit%App%ͱͷ࿈ܞͷ৽͍͠खஈ • ૒ํ޲σʔλసૹ • iOS%ଆΛى఺ʹ%Watch%ଆʹԿ͔Λͤ͞Δ͜ͱ͕Մೳ • ʢwatchOS%1%Ͱ͸೉͔ͬͨ͠ʣ

Slide 29

Slide 29 text

View%ͷ௥Ճ • Ξϥʔτ • ΞΫγϣϯγʔτ • ϐοΧʔ • ϚΠΫ࿥Ի • ϝσΟΞ࠶ੜ

Slide 30

Slide 30 text

Watch&಺ଂηϯα΁ͷΞΫηε • Ճ଎౓ηϯα • า਺ܭ • ϚΠΫ • ɾɾɾͳͲ

Slide 31

Slide 31 text

Watch&Complica-on • Watch'Face'ʹಠࣗͷ಺༰ΛೖΕΒΕΔ • ClockKit'ͱ͍͏ઐ༻'API

Slide 32

Slide 32 text

Apple%Watch%ͷՄೳੑ͕޿͕Δ • watchOS)1)ͷ)Apple)Watch)͸ɺपғͷظ଴ͷେ͖͞ͱ࣮ࡍʹͰ ͖Δ͜ͱͷΪϟοϓ͕େ͖͔ͬͨ • ͦΕ͕෼͔͍ͬͯͯ࢖͏Ϣʔβʹ͸ड͚ೖΕΒΕ͍ͯΔ͕ɺ ͦ͏Ͱͳ͍Ϣʔβʹ͸ड͚ೖΕΒΕ͍ͯͳ͍ͷ͕ݱঢ় • Watch)ͷاը)0>)ͦΕαʔυύʔςΟ੡ΞϓϦͰ͸Ͱ͖·ͤ Μɾɾɾ • ͜ΕΒ͕ղফ͞Ε͍ͯ͘͸ͣ

Slide 33

Slide 33 text

Apple%Watch%ΞϓϦ͸ࠓޙʹظ଴͕ ࣋ͯͦ͏