Kill Pollingした話

Af6c71a5ce07091572fa09c5a4728f85?s=47 sutiwo
July 21, 2017

Kill Pollingした話

Af6c71a5ce07091572fa09c5a4728f85?s=128

sutiwo

July 21, 2017
Tweet

Transcript

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

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

  3. •WebPush • hKps:/ /twiKer.com/FRESH_STAFF/status/887960571487764481 •Service Workerͷಋೖ • hKps:/ /developers.cyberagent.co.jp/blog/archives/6057/ •ΞΫηγϏϦςΟΨΠυϥΠϯʹج͍࣮ͮͨ૷

    • hKps:/ /openfresh.github.io/a11y-guidelines/ ϑϩϯτνʔϜͰ࠷ۙ΍ͬͯΔ͜ͱ
  4. Kill Polling͢Δཧ༝ • ଈ࣌ੑ͕ͳ͍ • ໰͍߹ΘͤܗࣜͳͷͰɺແବͳ௨৴ൃੜ • ͔ͬ͜ѱ͍

  5. • ൪૊εςʔλεͷߋ৽ (։࢝์ૹதऴྃ) • ൪૊εςʔλεͷߋ৽ (ແྉ༗ྉ) • ࢹௌ਺ͷߋ৽ • ίϝϯτ਺ͷߋ৽

    • ։࢝ɾऴྃ࣌ؒͷߋ৽ FRESH!ͰͷϢʔεέʔε
  6. None
  7. None
  8. None
  9. None
  10. None
  11. SSE (Server-Sent Events) • αʔό͔ΒΫϥΠΞϯτ΁ͷ୯Ұํ޲௨৴ • ςΩετͷΈ(όΠφϦ͸base64͢Δ) • IE11͸polyfill hKps:/

    /github.com/Yaffle/EventSource/
  12. Plasma • hKps:/ /github.com/openfresh/plasma • Πϕϯτϓογϡͷϛυϧ΢ΣΞ • Webϒϥ΢βSSE / ωΠςΟϒΞϓϦgRPC

    • SSEʹΑͬͯαʔό͔ΒΠϕϯτΛड͚औΔ͜ͱ͕Ͱ͖Δ • ಙͷߴ͍ঁੑ੠༏޷͖Πϯλʔϯੜ࡞
  13. ྲྀΕ • ॳظϨϯμϦϯά࣌ʹσʔλΛStoreʹอ࣋ • Plasma઀ଓ new EventSource(url, opts);ʹ.addEventListener(); • ߋ৽Λݕ஌ͨ͠ΒStoreͰJSON.parse,

    Object.assign౳Ͱࠩ෼Λ্ॻ͖ • ൪૊ऴྃޙߋ৽ͷඞཁ͕ͳ͘ͳͬͨΒ.removeEventListener();
  14. σόοά • DevToolsͰΈΕ·͢

  15. ݁Ռ

  16. ϙʔϦϯάͷϦΫΤετׂ߹ 0 % 7,5 % 15 % 22,5 % 30

    % ϦϦʔεલ೔ ϦϦʔε౰೔ ϦϦʔεཌ೔ ϦϦʔεཌʑ೔ 0,85 % 1,43 % 21,15 % 27,8 %
  17. ׬