$30 off During Our Annual Pro Sale. View Details »

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

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

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

Ken Jumbo Haneda

August 07, 2017
Tweet

More Decks by Ken Jumbo Haneda

Other Decks in Programming

Transcript

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

    View Slide

  2. ࣗݾ঺հ
    ▸ Mobile
    Developer@RareJob



    ▸ Lead
    Developer@Landskip
    Kentaro Haneda (@jumboOrNot) ˎδϟϯϘͱݺΜͰ͍ͩ͘͞

    View Slide

  3. ɾडߨऀ਺50ສਓͷΦϯϥΠϯӳձ࿩αʔϏε

    ɾ࠾༻཰1%ͷ༏উͳߨࢣͱ25෼187ԁͰ࿩ͤ·͢

    ɾ6࣌ ~ 25࣌·Ͱຖ೔։ߨ

    ɾ59%ͷਓ͕ॳ৺ऀ

    ɾແྉମݧ࣮ࢪதʂʂ
    Ϩοεϯ͸SkypeͰఏڙ͍ͯ͠·͢ʂ

    View Slide

  4. ࠓि͋ͨΓʹϦϦʔε༧ఆͷ৽ػೳ

    ʮεϚϗͰϨοεϯβʯ
    SkywayΛ࢖ͬͨWebRTCͰͷϨοεϯఏڙΛ

    Ұ෦։์͠·͢ 

    ʢiOSܦ༝ͷແྉମݧϨοεϯͷҰ෦ߨࢣͷΈʣ

    View Slide

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

    View Slide

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

    View Slide

  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͔Βड͚औΕΔ
    ΠϕϯτΛ੔ཧ͢Δ

    View Slide

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

    View Slide

  9. SKYWAY SDKΛ࢖ͬͨMVVM+RXͳ࣮૷
    ංେԽ͕ͪ͠ͳө૾෦෼΋ContainerͰ෼཭

    ɾө૾Λ؅ཧ͢Δ෦෼ͱϨοεϯΛ؅ཧ͢ΔϩδοΫ͸෼཭
    ͢Δ

    View Slide

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

    View Slide

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

    View Slide

  12. +
    ʹ
    εοΩϦ

    View Slide

  13. ௨࿩ΞϓϦʹ͓͚ΔTIPS
    εϐʔΧʔ໰୊
    iPhoneͷεϐʔΧʔͷҐஔ͸͜͜2ͭɻ

    SkywayͰσϑΥϧτͰԻ͕ग़Δͷ͸

    ←ͬͪ͜Ͱ͋Δɻ


    ͬͪ͜͸ͱͯ΋Ի͕খ͍͞ɾɾɾ

    View Slide

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

    View Slide

  15. SKYWAYSDK࢖ͬͯݟͯͷײ૝
    ͱͯ΋ศརͰແྉͰ࢖͑ͯخ͍͠ͷͰ͕͢ɾɾɾ


    ɾSDK͕Ϟμϯͳ࣮૷ʹͳͬͯͳ͍ʢMultiPartySDK΋podͷ
    use_framework!ʹରԠͯ͠ͳ͍ʁʣ

    ɾΧϝϥɾϚΠΫͷݖݶ؅ཧ΋SDKʹೖΕ͍ͨ

    ɾαϯϓϧݟͯͯϦϑΝΫλͨ͘͠ͳͬͨ
    ײँͷϓϧϦΫૹΓ͍ͨؾ͕࣋ͪժੜ͑·ͨ͠

    View Slide