Slide 1

Slide 1 text

Kill Pollingͨ͠࿩ 2017 7.21 Վ෣ب࠲.tech#13 ʮϑϩϯτΤϯυΞʔΩςΫνϟษڧձʯLT @su9wo

Slide 2

Slide 2 text

• su9wo / su9wo_ •CyberAgent, Inc. •ϑϩϯτΤϯδχΞ •FRESH! hKps:/ /freshlive.tv

Slide 3

Slide 3 text

•WebPush • hKps:/ /twiKer.com/FRESH_STAFF/status/887960571487764481 •Service Workerͷಋೖ • hKps:/ /developers.cyberagent.co.jp/blog/archives/6057/ •ΞΫηγϏϦςΟΨΠυϥΠϯʹج͍࣮ͮͨ૷ • hKps:/ /openfresh.github.io/a11y-guidelines/ ϑϩϯτνʔϜͰ࠷ۙ΍ͬͯΔ͜ͱ

Slide 4

Slide 4 text

Kill Polling͢Δཧ༝ • ଈ࣌ੑ͕ͳ͍ • ໰͍߹ΘͤܗࣜͳͷͰɺແବͳ௨৴ൃੜ • ͔ͬ͜ѱ͍

Slide 5

Slide 5 text

• ൪૊εςʔλεͷߋ৽ (։࢝์ૹதऴྃ) • ൪૊εςʔλεͷߋ৽ (ແྉ༗ྉ) • ࢹௌ਺ͷߋ৽ • ίϝϯτ਺ͷߋ৽ • ։࢝ɾऴྃ࣌ؒͷߋ৽ FRESH!ͰͷϢʔεέʔε

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

SSE (Server-Sent Events) • αʔό͔ΒΫϥΠΞϯτ΁ͷ୯Ұํ޲௨৴ • ςΩετͷΈ(όΠφϦ͸base64͢Δ) • IE11͸polyfill hKps:/ /github.com/Yaffle/EventSource/

Slide 12

Slide 12 text

Plasma • hKps:/ /github.com/openfresh/plasma • Πϕϯτϓογϡͷϛυϧ΢ΣΞ • Webϒϥ΢βSSE / ωΠςΟϒΞϓϦgRPC • SSEʹΑͬͯαʔό͔ΒΠϕϯτΛड͚औΔ͜ͱ͕Ͱ͖Δ • ಙͷߴ͍ঁੑ੠༏޷͖Πϯλʔϯੜ࡞

Slide 13

Slide 13 text

ྲྀΕ • ॳظϨϯμϦϯά࣌ʹσʔλΛStoreʹอ࣋ • Plasma઀ଓ new EventSource(url, opts);ʹ.addEventListener(); • ߋ৽Λݕ஌ͨ͠ΒStoreͰJSON.parse, Object.assign౳Ͱࠩ෼Λ্ॻ͖ • ൪૊ऴྃޙߋ৽ͷඞཁ͕ͳ͘ͳͬͨΒ.removeEventListener();

Slide 14

Slide 14 text

σόοά • DevToolsͰΈΕ·͢

Slide 15

Slide 15 text

݁Ռ

Slide 16

Slide 16 text

ϙʔϦϯάͷϦΫΤετׂ߹ 0 % 7,5 % 15 % 22,5 % 30 % ϦϦʔεલ೔ ϦϦʔε౰೔ ϦϦʔεཌ೔ ϦϦʔεཌʑ೔ 0,85 % 1,43 % 21,15 % 27,8 %

Slide 17

Slide 17 text

׬