#iosdc #a
スマートスピーカーが大流行ですが、Swiftで実装できることに気が付いていますか?このトークではスマートスピーカーのアプリケーションを、iOSエンジニアの大好きなSwiftで実装できるように、ライブデモを交えながら解説を行います。
https://fortee.jp/iosdc-japan-2018/proposal/6c2b198f-3337-446d-aa24-9a192fa9d076
OK Google, SwiftͰεϚʔτεϐʔΧʔ࣮Ͱ͖ΔʁiOSDC Japan 2018 / day3 / LT / Track A
View Slide
Alexa, SwiftͰεϚʔτεϐʔΧʔ࣮Ͱ͖ΔʁiOSDC Japan 2018 / day3 / LT / Track A
ࣗݾհ• GitHub/twitter: motokiee• Mercari: iOS ιϑτΣΞΤϯδχΞ• iOSDC Japan 2016 / 2017 / 2018 ίΞελοϑ
WEB+DB PRESS Vol.106ͷAndroid/iOSΞϓϦઃܭಛूΛϝϧΧϦͷΤϯδχΞਞͰࣥච͠·ͨ͠ʢಡΜͰωʣ
AlexaͷΈ
AlexaͰ։ൃՄೳͳεΩϧ● ΧελϜεΩϧ● εϚʔτϗʔϜεΩϧ● ϑϥογϡϒϦʔϑΟϯάεΩϧ● ϏσΦεΩϧ
ΧελϜεΩϧͷߏཁૉ● ݺͼग़໊͠● Πϯςϯτ● αϯϓϧ● εϩοτ● Ξηοτ(Optional)● ը૾● ԻϑΝΠϧ● ಈըϑΝΠϧ● ΠϯςϯτΛॲཧ͢ΔαʔϏεͷ ΤϯυϙΠϯτ
Ϗʔϧത࢜ɺϐϧεφʔʹ͍ͭͯڭ͑ͯݺͼग़໊͠ Slotαϯϓϧൃ: {slot}ʹ͍ͭͯڭ͑ͯΠϯςϯτ: doctorBeer
Voice IntentAlexa ServiceAlexa Device AWS LambdaResponseResponse
AWS Lambdaͷઃఆ: τϦΨʔͷઃఆ
Alexa Developer Consoleͷઃఆ
Έ͕Θ͔ͬͨͱ͜ΖͰ
Α͏͘ຊ
͜Ε(Lambda)ΛSwiftͰॻ͚͍͍!!
Ի IntentAlexa Skills KitAlexa σόΠε AWS Lambda
͔͠͠!!
Q: AWS Lambda ͕αϙʔτ͢ΔݴޠԿͰ͔͢?AWS Lambda ͰɺNode.js (JavaScript)ɺPythonɺJava (Java 8 ޓ)ɺC#(.NET Core)ɺ͓Αͼ Go Ͱهड़͞Εͨίʔυ͕αϙʔτ͞Ε͍ͯ·͢ɻωΠςΟϒϥΠϒϥϦؚΊɺίʔυʹطଘͷϥΠϒϥϦΛؚΊΔ͜ͱ͕Ͱ͖·͢ɻৄ͘͠ɺNode.jsɺPythonɺJavaɺC#ɺ͓Αͼ Go ͷ༻ʹؔ͢ΔυΩϡϝϯτΛ͝ཡ͍ͩ͘͞ɻhttps://aws.amazon.com/jp/lambda/faqs/
Swiftαϙʔτ͞Εͯͳ͍ʙ
ͰͳΜͱ͔͢Δํ๏͋Δʂ
LambdaͰSwiftΛ͏
Node.js͔ΒSwiftΛݺͼग़͢
choefele/swift-lambda-appΛ͏● LambdaͰ࣮ߦՄೳͳϑΝΠϧ(zip)Λੜ● AlexaSkillʹඞཁͳػೳΛ࣮ͨ͠SwiftϥΠϒϥϦ choefele/AlexaSkillsKitΛ࣮ͬͯ● Alexaͷؔͷαϯϓϧ͕ఏڙ͞Ε͍ͯΔ● ੜ͞Εͨ.zipϑΝΠϧΛS3ʹΞοϓϩʔυ͠ɺؔͱඥ͚$ ./run-integration-tests.sh
͋ͱ׳Ε͠ΜͩSwiftͰॻ͚OK
Demo
ੜ͞ΕͨzipΛS3ʹΞοϓϩʔυ͠ɺؔίʔυʹઃఆ
Alexa Developer Console͔ΒγϛϡϨʔλͰςετՄೳ
SwiftͰAlexa Skill࡞Ζ͏ͥ!!
͓ΘΓ
ࢀߟࢿྉ● https://github.com/choefele/swift-lambda-app● https://github.com/choefele/AlexaSkillsKit● https://medium.freecodecamp.org/building-alexa-skills-in-swift-3d596aa0ee95