Slide 1

Slide 1 text

LoopBackΛ࢖ͬͨ ۃॳาతͳWEB-APIͱ SwiftͰ࡞ΔΦγϟϨΞϓϦʢʣ 2015.4.12 Sun. Isamu Suuki RAKUS Co, Ltd.

Slide 2

Slide 2 text

ླ໦ ༐ • גࣜձࣾϥΫε • ੥ٻॻൃߦαʔϏεΛ։ൃͯ͠·͢ • ࢓ࣄͰ͸JavaʴJavaScriptগ͠ • ϓϥΠϕʔτ͸JavaScriptʹશྗ౤ࢿத

Slide 3

Slide 3 text

౦ژNodeֶԂࡇ2014Ͱ

Slide 4

Slide 4 text

StrongLoopͷ Isaac Rothࢯ͕ LoopBackΛ঺հ

Slide 5

Slide 5 text

ͳΜ͔؆୯ͳ΋ͷ ࡞Ζ͏

Slide 6

Slide 6 text

CandleShare

Slide 7

Slide 7 text

1ຊͷΖ͏ͦ͘Λ ΈΜͳͰ;ʔ;ʔ͢Δ WEBαʔϏε

Slide 8

Slide 8 text

஫ɿΩεإࡱͬͨΓ͠·ͤΜ ஫ɿΩεإࡱͬͨΓ͠·ͤΜ

Slide 9

Slide 9 text

͜Μͳײ͡Ͱ࡞Γ·ͨ͠ αʔόͰϐϯΫϊΠζʢ1/fΏΒ͗ʣΛੜ੒ͯ͠഑৴

Slide 10

Slide 10 text

RemoteMethod͔͠ ࢖ͬͯͳ͍

Slide 11

Slide 11 text

ࢀߟʹͳΓͦ͏ͳͷ͸ Socket.IOͷ ૊ΈࠐΈ͘Β͍ʁ

Slide 12

Slide 12 text

LoopBackͰͷ Socket.IOར༻

Slide 13

Slide 13 text

LoopBackͷσΟϨΫτϦߏ੒ app-root /client ͜͜ʹϑϩϯτΤϯυ༻ͷhtmlͱ͔ஔ͘ /common /models ͜͜ʹmodelఆ͕ٛஔ͔ΕΔ /sever /boot ͜͜ʹஔ͔ΕͨϑΝΠϧ͕ىಈ࣌ʹಡΈࠐ·ΕΔͬΆ͍ͷͰ sio.jsͱ͔ద౰ͳϑΝΠϧΛ࡞Δ ※LoopBackͷGoogleGroupΛࢀߟʹ

Slide 14

Slide 14 text

/server/boot/sio.js module.exports = function(app) { //server.jsͰapp.emit(‘started’)ͯ͠Δ app.on('started', function() { ! //app.server͸app.listen()ͷฦΓ஋ೖΕ͓ͯ͘ app.io = require(‘socket.io').listen(app.server) ! //ద౰ͳσΟϨΫτϦͷindex.jsʹapp,app.ioΛ౉͢ //Α͘ݟͨΒapp͚ͩͰ͍͍Μ͡Ό……orz require('../sio/')(app, app.io); }); }

Slide 15

Slide 15 text

/server/sio/index.js module.exports = function(app, io) { io.on('connection', function(socket) { console.log('connect...'); socket.on('disconnect', function() { console.log('disconnect...'); }); }); ! //100msec.ִؒͰemit()͍ͨ͠ͱ͖͸͜Μͳײ͡ setInterval(function(){ io.emit(‘hogehoge’); }, 100); }

Slide 16

Slide 16 text

͋ͱ͸iOSΞϓϦ͔Β Socket.IOͰΏΒ͗औಘͯ͠ ϚΠΫೖྗ͋ͬͨΒ /blow APIݺͿ

Slide 17

Slide 17 text

͢Δͱ͜Μͳײ͡ʹͳΓ·͢

Slide 18

Slide 18 text

ʢσϞಈըͷ༧ఆʣ

Slide 19

Slide 19 text

࠷ޙʹ એ఻͍ͤͯͩ͘͞͞

Slide 20

Slide 20 text

גࣜձࣾɹɹɹ͸ ΤϯδχΞΛืू͍ͯ͠·͢