Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
JavaScript over HTTP2
Yuki Ishikawa
May 08, 2016
Technology
0
20
JavaScript over HTTP2
Kyoto.js #10
https://kyotojs.doorkeeper.jp/events/42568
Yuki Ishikawa
May 08, 2016
Tweet
Share
More Decks by Yuki Ishikawa
See All by Yuki Ishikawa
hoto17296
0
62
hoto17296
0
260
hoto17296
4
1.2k
hoto17296
0
160
hoto17296
0
210
hoto17296
7
2k
hoto17296
2
140
hoto17296
0
41
hoto17296
0
120
Other Decks in Technology
See All in Technology
yukitodate
2
320
shirayanagiryuji
0
2.1k
hamadakoji
0
1.1k
humank
0
220
ocise
0
140
tzkoba
0
390
takuros
2
210
nkjzm
1
840
hololab
0
200
kyonmm
1
2.1k
yuyaabo
0
260
pinboro
1
1.6k
Featured
See All Featured
lauravandoore
437
28k
roundedbygravity
84
7.8k
morganepeng
92
13k
cromwellryan
101
5.9k
smashingmag
283
47k
myddelton
109
11k
orderedlist
PRO
329
35k
jnunemaker
PRO
40
4.5k
garrettdimon
287
110k
jeffersonlam
328
15k
malarkey
119
16k
sstephenson
144
12k
Transcript
JavaScript over HTTP/2 2016.05.08 Kyoto.js #10
@hoto17296
None
None
2016 . 04 . 26
Node.js v6.0.0 Released ! • ES2015 Support: 58% → 96%
!!! IUUQOPEFHSFFO
Babel ࣺͯͨ͘ͳ͍Ͱ͔͢ • ॏ͍ • Ϗϧυڥ࡞Δͷμϧ͍
ͦΖͦΖ "Ϗϧυ" ͱ͔͍͏֓೦ ࣺ͍ͯͨ
ࢀߟɿ Α͋͘ΔϏϧυͷਤ KTY KT KT DTT TDTT TUZM CVOEMFKT JNBHF
5SBOTQJMF CVOEMF 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.0 8FC͕Ί·͙Δ͘͠ มԽ͢Δதɺ)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 (&5CVOEMFKT 3FTQPOTF 3FTQPOTFTUZMFDTT 3FTQPOTFCVOEMFKT
HTTP/2 • 1ຊͷ TCP ίωΫγϣϯΛ ࠷େݶ׆༻ • ̍ίωΫγϣϯʹ ετϦʔϜΛଟॏԽ •
όΠφϦϑϨʔϜ + ѹॖ • ඞཁͳ Assets Λ༧Ί Push (Server Push) $MJFOU 4FSWFS (&5 164)TUZMFDTT 164)CVOEMFKT 3FTQPOTF
DEMO https://github.com/hoto17296/http2-example
JSer ͔ΒΈͨ HTTP/2 • HTTP/1.1 ͷ߹ • ϦΫΤετগͳ͍΄͏͕͍͍ • webpack
or Browserify େਖ਼ٛ • HTTP/2 ͷ߹ • ଟॏԽ͍ͯ͠ΔͷͰϑΝΠϧଟͯ͘ฏؾ • Ή͠ΖݻΊͳ͍΄͏͕͍͍ʁ
Web ੜҎདྷͷ ৗ͕ࣝେ͖͘෴Δ
HTTP/2 Λ͑ JavaScript ͬͱָʹͳΔ
େੲͷඇޮͳϓϩτίϧͷͨΊʹ ߴͳٕज़Λۦͯ͠ർฐ͢Δͷ ͦΖͦΖΊΑ͏
HTTP/2 ͰϫΫϫΫ ΤϯδχΞϦϯά͠Α͏ ₍₍⁽⁽(!( ŋ◡ŋ )ʃ)₎₎⁾⁾