Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
モバイルアプリでHTTP/2
Search
Naoki Morioka
April 04, 2016
140
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モバイルアプリでHTTP/2
モバイルアプリでHTTP/2
Naoki Morioka
April 04, 2016
More Decks by Naoki Morioka
See All by Naoki Morioka
Androidアプリ開発からみた RxJavaの使いどころ
nmorioka
1
4.1k
10年運用している 画像サービスでのJavaの活用と 今後の展望
nmorioka
0
630
既存AndroidアプリでKotlin導入を考える
nmorioka
0
130
Cardbord SDK
nmorioka
0
110
AndroidでJava8
nmorioka
0
330
Featured
See All Featured
Faster Mobile Websites
deanohume
310
32k
The Cult of Friendly URLs
andyhume
79
7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
59k
The SEO Collaboration Effect
kristinabergwall1
1
600
4 Signs Your Business is Dying
shpigford
187
23k
The Curious Case for Waylosing
cassininazir
1
580
Utilizing Notion as your number one productivity tool
mfonobong
4
630
Transcript
ϞόΠϧΞϓϦͰHTTP/2 @n_morioka ؔϞόΠϧΞϓϦݚڀձ#12 2016/03/30
About me • Ԭ ঘه(@n_morioka) • ϑϦϡʔגࣜձࣾͰϞόΠϧΞϓϦ։ൃͯ͠· ͢ • ࠷ۙͷڵຯ
→ ͋Γ͕ͪͳʮӳޠֶशʯͱ ʮServer-side Swiftʯͱʮζϯɾυίʯ
HTTP/2 • લճͷOkhttp3ͷൃද͔Βͷଓ͖ • HTTP/2 is ready! (2015/05 RFC7540) •
SPDY is deprecated! • HTTP/1ͷηϚϯςΟΫεΛҡ࣋ͨ͠··ύϑΥʔϚ ϯεΛվળ͢Δͷ͕ൃ
දతͳػೳ
௨৴ετϦʔϜଟॏʹΑΔߴԽ
ग़ల:http://blog.redbox.ne.jp/http2-cdn.html
HTTPϔομͷѹॖ(HPACK)
RFC 7541 HPACK: Header Compression for HTTP/2 SPDYͷϔομѹॖηΩϡϦςΟϦε Ϋ͋ΓͳͷͰ৽ͨʹఏҊ͞Εͨѹॖํ๏
͔ΜͨΜʹݴ͏ͱ ϔομͷࣙॻ࡞ͬͯ ಉ͡σʔλ͕དྷͨΒѹॖ͢Δ
ͦͷଞදతͳػೳ(ࡶ) • ༏ઌ͖ΞΫηε(JavaScript࠷ޙʹಡΈࠐΉΑ ͏ࢦࣔͳͲ) • αʔόϓογϡ(htmlͱ͍ͬ͠ΐʹcss͚ͯฦ٫ ͳͲՄೳ)
iOSͱAndroid྆ํͷରԠঢ়گͳͲ Λ֬ೝ͢Δ
iOS • iOS9 Ҏ߱ͰରԠ • NSURLSessionΛར༻͢Δ͜ͱ • Mobile SafariͰରԠ
Android • Android 5 Ҏ߱ + OkHttp3Λར༻͢Δʢ͘Β͍͔͠ ݟͨΒͳ͍ʣ • ALPNͱ͍͏ωΰγΤʔγϣϯํ๏ରԠͷwebαʔό
Λ༻ҙ͢Δඞཁ͕͋Δ • Chrome for Android v46͔Βར༻Մೳ
αʔόΛཱͯΔ
දతͳHTTP/2αʔό • nginx 1.9.5Ҏ߱ (ߏங͕Ұ൪ָ) • apache 2.4.17Ҏ߱ (libnghttp2͕ඞཁ) •
h2o • nghttp2
AndroidରԠ͢ΔͳΒALPNͷͨΊʹ OpenSSL(v1.0.2Ҏ߱)͝ͱೖΕΔ ඞཁ͕ग़ͯ͘ΔՄೳੑେ
ಋೖͯ͠ϝϦοτ͋Δͷ͔
௨৴ετϦʔϜͷଟॏԽʁ
શ͘มΘΒͣ
ΞϓϦ͔ΒͷAPIίʔϧͰ PromiseΈ͍ͨͳͷͰଟॏԽ ͞ΕͯΔʁ
HTTPϔομͷѹॖʁ
؆қͳϨεϙϯεΛฦ͢APIʹͯ 1000ճݺͼग़͠Ͱ 800KByteఔσʔλྔݮ (ଆ௨৴ྔௐ)
Conclusions • HTTP/2Λར༻ग़དྷΔঢ়گ͖ͬͯͨ • ϞόΠϧΞϓϦͰ௨৴ετϦʔϜଟॏԽͷޮՌ গͳ͍ • ௨৴σʔλྔݮʹޮՌ͋Γͦ͏ • SPDYಋೖ͍ͯͨ͠Β͙͢ʹมߋ͠ͳͯ͘ྑ͍͔
Enjoy Development ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ