Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WebRTC入門者LT会 #2 「Skyway + iOS + MVVMで通話アプリ開発」

WebRTC入門者LT会 #2 「Skyway + iOS + MVVMで通話アプリ開発」

Skyway + iOS + MVVMで通話アプリ開発

B4e8461292c2cccef061741f8ba1ac3f?s=128

Ken Jumbo Haneda

August 07, 2017
Tweet

Transcript

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

  2. ࣗݾ঺հ ▸ Mobile Developer@RareJob
 
 
 ▸ Lead Developer@Landskip Kentaro

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

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

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

    SkywaySDK࢖ͬͯݟͯͷײ૝
  6. SKYWAY SDKΛ࢖ͬͨMVVM+RXͳ࣮૷ SKYWAYSDKͱIOS ▸ WebRTCͰͷ࣮૷࣌ͷ೰ΈͲ͜Ζ ▸ Πϕϯτ؅ཧ͕ෳࡶʹͳΔʢঢ়ଶ͕ଟ͍ʣ ▸ 1ը໘಺ͰUIͷมߋ͕සൟʹى͖Δ ▸

    ݖݶͷऔಘ΋࣮૷͍ΔΑͶ…
  7. 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͔Βड͚औΕΔ ΠϕϯτΛ੔ཧ͢Δ
  8. SKYWAY SDKΛ࢖ͬͨMVVM+RXͳ࣮૷ Skywayؔ࿈ͷ஋ΛҰ෦Rx ԽɺStreamΛ؅ཧ͠΍͘͢ ͢Δ ΫϥΠΞϯτଆͷϚΠΫͷ on/off΍ϏσΦͷon/off΋UI ͱඥͮ͘ͷͰRxԽ ೝূ৘ใ΋Ϣʔβʔͷઃఆͷ มߋʹґଘ͢ΔͷͰRxԽ

    ߨࢣͷೖୀࣨ΍௨৴ͷঢ়ଶ ΛStatusͱͯ࣋ͭ͜͠ͱͰม ߋຖͷUIมߋΛϋϯυϦϯά
  9. SKYWAY SDKΛ࢖ͬͨMVVM+RXͳ࣮૷ ංେԽ͕ͪ͠ͳө૾෦෼΋ContainerͰ෼཭
 ɾө૾Λ؅ཧ͢Δ෦෼ͱϨοεϯΛ؅ཧ͢ΔϩδοΫ͸෼཭ ͢Δ

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

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

  12. + ʹ εοΩϦ

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

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

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