Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
オンライン英会話アプリとSkyWay
Search
taminif
January 15, 2018
Programming
0
450
オンライン英会話アプリとSkyWay
SkyWay UG Kansai #1
https://skyway.connpass.com/event/74875/
taminif
January 15, 2018
Tweet
Share
More Decks by taminif
See All by taminif
PuppeteerとPlaywrightの15日間の演劇 / relation of Puppeteer and Playwright
taminif
3
2.2k
Redashの開発はじめました / How to get started Redash development
taminif
0
760
私の生活を変えたHeadless Chrome / Headless Chrome who changed my life
taminif
3
480
WebSocketをiOSに持ち込んで辛い思いをした経験がありますか!? / have you painful experience in web socket?
taminif
3
5.7k
LINEで馬券を購入する / Purchase a betting ticket at LINE
taminif
1
1.6k
SkyWayで一年間運用してきたけどWebRTCってつらいんじゃないの
taminif
2
990
オンライン英会話とSkyWay
taminif
0
510
Mac1台でアプリを作る時代再び
taminif
0
420
iOS11は本当にWebRTCに対応したのか
taminif
1
1.4k
Other Decks in Programming
See All in Programming
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
700
エラーって何種類あるの?
kajitack
5
150
Effect の双対、Coeffect
yukikurage
5
1.4k
GraphRAGの仕組みまるわかり
tosuri13
7
400
WindowInsetsだってテストしたい
ryunen344
1
180
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
260
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
770
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
36
23k
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
760
FormFlow - Build Stunning Multistep Forms
yceruto
1
180
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
22
6.1k
KotlinConf 2025 現地参加の土産話
n_takehata
0
100
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Thoughts on Productivity
jonyablonski
69
4.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Gamification - CAS2011
davidbonilla
81
5.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Bash Introduction
62gerente
614
210k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Transcript
ΦϯϥΠϯӳձΞϓϦͱ SkyWay SkyWay UG Kansai #1 2018/01/12 େౡ ޫو@sbntaminif
ɿ͜ͷLT iOSDCηογϣϯ͔Β SkyWayʹݶఆͯ͠ যΛͯͨͷͰ͢
ࣗݾհ • ΣϒϦΦגࣜձࣾWEBΤϯδχΞ + ϓϩμΫτ Ϛωʔδϟʔ • ΞϓϦΤϯδχΞ ʢࣗশʣ •
ϞνϕʔγϣϯΛ্͛ΔԿ͔Λཉͯ͠·͢
ΞϓϦΛ࡞ΔܦҢ
iOSͷSafari WebRTCʹରԠ͍ͯ͠·ͤΜ Ͱͨ͠ ʢ20173݄࣌ʣ
iPhoneiPadͰ Weblioӳձ͕͑ͳ͍
มΘͬͯɺ Weblioӳձֶߍ اۀʹఏڙ͍ͯ͠·͢
·ͨɺֶߍͷதʹ iPadΛतۀʹ༻͢Δॴ ૿͖͑ͯ·ͨ͠
ʮWeblioӳձΛiPadͰ ༻Ͱ͖ͳ͍ʁʯ
iOS SafariͰແཧ͚ͩͲ ΞϓϦͰ࣮͢ΕͰ͖Δ
https://itunes.apple.com/jp/app/weblio๏ਓӳձ/id1215209006?mt=8
ΞϓϦͷհΛ͠·͢ʂ
ͱͯγϯϓϧͳΞϓϦ ᶃϩάΠϯ
ͱͯγϯϓϧͳΞϓϦ ᶄ࣍ճͷϏσΦϨοεϯ࣌֬ೝ
ͱͯγϯϓϧͳΞϓϦ ᶅϨοεϯ
Ϩοεϯͷػೳ͜ͷࡾͭ ϏσΦ෦ ڭࡐ෦ νϟοτ෦
SkyWay෦ ᶃͷϏσΦ෦Ͱ͢
ΞϓϦͷ࣮
ͪΖΜɺΞϓϦʹ WebRTCͰ࣮͢Δඞཁ͕ ͋Γ·͢
SkyWay: WebRTCΛ؆୯ʹ ࣮ݱ͢ΔαʔϏε https://webrtc.ecl.ntt.com
let options:SKWPeerOption = SKWPeerOption.init() options.key = `APIΩʔ` options.domain = `υϝΠϯ`
peer = SKWPeer.init(options: options) peer?.on(SKWPeerEventEnum.PEER_EVENT_OPEN, callback: {(obj) -> Void in // my peer ID if let ownId = obj as? String { self.videoLessonRtdb.writeSkyWayId(id: ownId) } }) peer?.on(SKWPeerEventEnum.PEER_EVENT_CALL, callback: {(obj) -> Void in let mediaConnection:SKWMediaConnection = obj as! SKWMediaConnection self.videoConnection = mediaConnection mediaConnection.answer(self.localMediaStream) }) αϯϓϧίʔυ #import <SkyWay/SKWPeer.h> $PDPB1PETͰΠϯετʔϧ ͨ͠ϥΠϒϥϦΛΠϯϙʔτ 1FFSΦϒδΣΫτΛੜ ʢγάφϦϯάαʔόʔʹ ใॻ͖ࠐΈʣ ௨৴։࢝ ͜͜Ͱө૾ͱԻΛૹ৴ ใΛॻ͖ࠐΜͩΒɺ 1FFS*%͕ൃߦ͞Ε·͢
ɿ͜ͷΞϓϦ چSkyWayͰಈ͍͍ͯ·͢
·ͱΊ ΞϓϦͷݟ
·ͱΊ • ϥΠϒϥϦΛೖΕΔ͜ͱͰɺJSͱมΘΒͳ͍Ϩϕ ϧͰ࣮͕Մೳ • PC <=> ΞϓϦͷ௨ͳ͠ • SafariͰಈ͘Α͏ʹͳ͕ͬͨɺࠓ࣌ͰΞ
ϓϦͷํ͕҆ఆͯ͠ಈ࡞͢ΔͷͰ·ͩ·ͩधཁ ͋Δͱࢥ͍·͢ʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠