Kyoto.js #10 https://kyotojs.doorkeeper.jp/events/42568
JavaScript over HTTP/22016.05.08 Kyoto.js #10
View Slide
@hoto17296
2016 . 04 . 26
Node.js v6.0.0 Released ! • ES2015 Support: 58% → 96% !!!IUUQOPEFHSFFO
Babel ࣺͯͨ͘ͳ͍Ͱ͔͢• ॏ͍• Ϗϧυڥ࡞Δͷμϧ͍
ͦΖͦΖ"Ϗϧυ" ͱ͔͍͏֓೦ࣺ͍ͯͨ
ࢀߟɿ Α͋͘ΔϏϧυͷਤKTYKTKTDTTTDTTTUZMCVOEMFKTJNBHF5SBOTQJMFCVOEMF PQUJNJ[F
ͳͥϏϧυ͕ඞཁ͔• ϒϥβͷ• ES2015 / AltJS ಈ͔ͳ͍• ґଘؔΛղܾͰ͖ͳ͍• ύϑΥʔϚϯεͷ• ϑΝΠϧଟ͍ͱΦʔόʔϔουͰ͔͍• ࠷దԽ / ѹॖ ͢Δͱޮ͕ྑ͍
ͳͥϏϧυ͕ඞཁ͔• Assets ͷϏϧυόουϊϋͷू߹ମ• Ϗϧυ͠ͳͯ͘ͳ͘ಈ͘ͷͳΒ ͦΕ͕Ұ൪ྑ͍ʹܾ·ͬͯΔ
ͳͥϏϧυ͕ඞཁ͔• ϒϥβͷ• ES2015 / AltJS ಈ͔ͳ͍• ґଘؔΛղܾͰ͖ͳ͍• ύϑΥʔϚϯεͷ• ϑΝΠϧଟ͍ͱΦʔόʔϔουͰ͔͍• ࠷దԽ / ѹॖ ͢Δͱޮ͕ྑ͍ͦͷ͏ͪͳΜͱ͔ͳΔŋ@ŋAͲ͏ʹͰͳΔ)551
HTTP/2
HTTP ͷྺ࢙• 1991 HTTP/0.9• 1996 HTTP/1.0• 1999 HTTP/1.1:• 2009 SPDY/1• 2013 SPDY/3.1• 2015 HTTP/2.08FC͕Ί·͙Δ͘͠ มԽ͢Δதɺ)551ఀ(PPHMF͕41%:Λఏএ41%:)551ʹٵऩ
HTTP/2 ͷಛ• HTTP 1.1 ͷηϚϯςΟΫεΛҡ࣋ͨ͠·· ύϑΥʔϚϯεΛվળ• ΑΓෳࡶʹ• όΠφϦϓϩτίϧ• ଟॏԽ• ༏ઌ੍ޚ• αʔόϓογϡ
ৄ͘͠HTTP/2 ࣌ͷ Web http://www.slideshare.net/Jxck/http2-web-web-over-http2-51943080
HTTP/1.1• TCP ίωΫγϣϯΛ ϦΫΤετຖʹషΓ͠• ࠷େ̒ίωΫγϣϯͰฒྻ$MJFOU 4FSWFS(&5(&5TUZMFDTT(&5CVOEMFKT3FTQPOTF3FTQPOTFTUZMFDTT3FTQPOTFCVOEMFKT
HTTP/2• 1ຊͷ TCP ίωΫγϣϯΛ ࠷େݶ׆༻• ̍ίωΫγϣϯʹ ετϦʔϜΛଟॏԽ• όΠφϦϑϨʔϜ + ѹॖ• ඞཁͳ Assets Λ༧Ί Push (Server Push)$MJFOU 4FSWFS(&5164)TUZMFDTT164)CVOEMFKT3FTQPOTF
DEMOhttps://github.com/hoto17296/http2-example
JSer ͔ΒΈͨ HTTP/2• HTTP/1.1 ͷ߹• ϦΫΤετগͳ͍΄͏͕͍͍• webpack or Browserify େਖ਼ٛ• HTTP/2 ͷ߹• ଟॏԽ͍ͯ͠ΔͷͰϑΝΠϧଟͯ͘ฏؾ• Ή͠ΖݻΊͳ͍΄͏͕͍͍ʁ
Web ੜҎདྷͷৗ͕ࣝେ͖͘෴Δ
HTTP/2 Λ͑JavaScript ͬͱָʹͳΔ
େੲͷඇޮͳϓϩτίϧͷͨΊʹߴͳٕज़Λۦͯ͠ർฐ͢ΔͷͦΖͦΖΊΑ͏
HTTP/2 ͰϫΫϫΫΤϯδχΞϦϯά͠Α͏₍₍⁽⁽(!( ŋ◡ŋ )ʃ)₎₎⁾⁾