Slide 1

Slide 1 text

SKYWAY + IOS + MVVMͰ௨࿩ ΞϓϦ։ൃ Kentaro Haneda (@jumboOrNot)

Slide 2

Slide 2 text

ࣗݾ঺հ ▸ Mobile Developer@RareJob
 
 
 ▸ Lead Developer@Landskip Kentaro Haneda (@jumboOrNot) ˎδϟϯϘͱݺΜͰ͍ͩ͘͞

Slide 3

Slide 3 text

ɾडߨऀ਺50ສਓͷΦϯϥΠϯӳձ࿩αʔϏε
 ɾ࠾༻཰1%ͷ༏উͳߨࢣͱ25෼187ԁͰ࿩ͤ·͢
 ɾ6࣌ ~ 25࣌·Ͱຖ೔։ߨ
 ɾ59%ͷਓ͕ॳ৺ऀ
 ɾແྉମݧ࣮ࢪதʂʂ Ϩοεϯ͸SkypeͰఏڙ͍ͯ͠·͢ʂ

Slide 4

Slide 4 text

ࠓि͋ͨΓʹϦϦʔε༧ఆͷ৽ػೳ
 ʮεϚϗͰϨοεϯβʯ SkywayΛ࢖ͬͨWebRTCͰͷϨοεϯఏڙΛ
 Ұ෦։์͠·͢ 
 ʢiOSܦ༝ͷແྉମݧϨοεϯͷҰ෦ߨࢣͷΈʣ

Slide 5

Slide 5 text

ςΩετ ࠓ೔ͷ͓࿩ ▸ εϚϗͰϨοεϯβΛ࡞Δʹ͋ͨͬͯͷ ▸ SkyWay SDKΛ࢖ͬͨMVVM+Rxͳ࣮૷ ▸ ௨࿩ΞϓϦʹ͓͚ΔTips ▸ SkywaySDK࢖ͬͯݟͯͷײ૝

Slide 6

Slide 6 text

SKYWAY SDKΛ࢖ͬͨMVVM+RXͳ࣮૷ SKYWAYSDKͱIOS ▸ WebRTCͰͷ࣮૷࣌ͷ೰ΈͲ͜Ζ ▸ Πϕϯτ؅ཧ͕ෳࡶʹͳΔʢঢ়ଶ͕ଟ͍ʣ ▸ 1ը໘಺ͰUIͷมߋ͕සൟʹى͖Δ ▸ ݖݶͷऔಘ΋࣮૷͍ΔΑͶ…

Slide 7

Slide 7 text

SKYWAY SDKΛ࢖ͬͨMVVM+RXͳ࣮૷ iOS Architecture Patterns
 https://techblog.badoo.com/blog/2016/03/21/ios-architecture-patterns/ ͜Μͳ࣌ʹ͍͍ͷ͕MVVM+RxSwift
 ɾঢ়ଶͱUIΛߏ੒͢Δσʔλ͸શͯViewModel΁ɺ͜ΕΛ RxSwiftͰBinding
 ɾFat ViewControllerΛආ͚ͯɺSkywaySDK͔Βड͚औΕΔ ΠϕϯτΛ੔ཧ͢Δ

Slide 8

Slide 8 text

SKYWAY SDKΛ࢖ͬͨMVVM+RXͳ࣮૷ Skywayؔ࿈ͷ஋ΛҰ෦Rx ԽɺStreamΛ؅ཧ͠΍͘͢ ͢Δ ΫϥΠΞϯτଆͷϚΠΫͷ on/off΍ϏσΦͷon/off΋UI ͱඥͮ͘ͷͰRxԽ ೝূ৘ใ΋Ϣʔβʔͷઃఆͷ มߋʹґଘ͢ΔͷͰRxԽ ߨࢣͷೖୀࣨ΍௨৴ͷঢ়ଶ ΛStatusͱͯ࣋ͭ͜͠ͱͰม ߋຖͷUIมߋΛϋϯυϦϯά

Slide 9

Slide 9 text

SKYWAY SDKΛ࢖ͬͨMVVM+RXͳ࣮૷ ංେԽ͕ͪ͠ͳө૾෦෼΋ContainerͰ෼཭
 ɾө૾Λ؅ཧ͢Δ෦෼ͱϨοεϯΛ؅ཧ͢ΔϩδοΫ͸෼཭ ͢Δ

Slide 10

Slide 10 text

SKYWAY SDKΛ࢖ͬͨMVVM+RXͳ࣮૷ https://gist.github.com/jumbo-in-Jap/72e6338c16d7e1fc63d83b40b7bce399 ΋ͬͱRXͷԸܙΛड͚Α͏ Ex. ྫ͑͹30ඵ͝ͱʹ࠶઀ଓॲཧΛߦ͍͍ͨ

Slide 11

Slide 11 text

SKYWAY SDKΛ࢖ͬͨMVVM+RXͳ࣮૷ ΋ͬͱRXͷԸܙΛड͚Α͏ Ex. ྫ͑͹ϚΠΫ΋Χϝϥ΋ڐՄ͕औΕͨΒϦΫΤετ͍ͨ͠ https://gist.github.com/jumbo-in-Jap/948754b7a315571bbe0e0ac726117bf7

Slide 12

Slide 12 text

+ ʹ εοΩϦ

Slide 13

Slide 13 text

௨࿩ΞϓϦʹ͓͚ΔTIPS εϐʔΧʔ໰୊ iPhoneͷεϐʔΧʔͷҐஔ͸͜͜2ͭɻ
 SkywayͰσϑΥϧτͰԻ͕ग़Δͷ͸
 ←ͬͪ͜Ͱ͋Δɻ
 
 ͬͪ͜͸ͱͯ΋Ի͕খ͍͞ɾɾɾ

Slide 14

Slide 14 text

εϐʔΧʔ໰୊ͷղܾࡦ ௨࿩ΞϓϦʹ͓͚ΔTIPS https://gist.github.com/jumbo-in-Jap/7b4ee398c489c0072cf756720881dad5 Ի੠ͷग़ྗઌΛมߋ͢Δɺͨͩมߋ͢Δ͚ͩ͡Όͳ͘ΠϠϗϯΛ͞͠ ͍ͯΔͱ͖͸มߋͤͣɺΠϠϗϯ͕ൈ͔ΕͨΒมߋ͢Δɻ

Slide 15

Slide 15 text

SKYWAYSDK࢖ͬͯݟͯͷײ૝ ͱͯ΋ศརͰແྉͰ࢖͑ͯخ͍͠ͷͰ͕͢ɾɾɾ
 
 ɾSDK͕Ϟμϯͳ࣮૷ʹͳͬͯͳ͍ʢMultiPartySDK΋podͷ use_framework!ʹରԠͯ͠ͳ͍ʁʣ
 ɾΧϝϥɾϚΠΫͷݖݶ؅ཧ΋SDKʹೖΕ͍ͨ
 ɾαϯϓϧݟͯͯϦϑΝΫλͨ͘͠ͳͬͨ ײँͷϓϧϦΫૹΓ͍ͨؾ͕࣋ͪժੜ͑·ͨ͠