Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Server Side Rendering with WebComponents
Search
Yosuke Onoue
March 04, 2018
Programming
0
450
Server Side Rendering with WebComponents
WebComponents.kyoto Meetup #2の発表資料です。
https://wc-kyoto.connpass.com/event/78690/
Yosuke Onoue
March 04, 2018
Tweet
Share
More Decks by Yosuke Onoue
See All by Yosuke Onoue
Think About Front-end Web Development with Rust
likr
2
460
Yewにおけるoff-the-main-thread
likr
1
690
行政事業レビューデータの可視化 / Visualization of Japan's National Budget with JUDGIT!
likr
1
180
モダンJavaScript再入門 / Re-introduction to Modern JavaScript
likr
23
11k
Web-based Data Visualization with Rust and WebAssembly
likr
4
5.4k
Introduction to Graph Drawing
likr
0
440
20190707Ionic_Meetup.pdf
likr
0
370
About the end of the web
likr
2
470
Rust + WebAssemblyで広がるWebの未来
likr
16
6.6k
Other Decks in Programming
See All in Programming
Nuxtベースの「WXT」でChrome拡張を作成する | Vue Fes 2024 ランチセッション
moshi1121
1
500
Vaporモードを大規模サービスに最速導入して学びを共有する
kazukishimamoto
4
4.3k
Synchronizationを支える技術
s_shimotori
1
150
Sidekiqで実現する 長時間非同期処理の中断と再開 / Pausing and Resuming Long-Running Asynchronous Jobs with Sidekiq
hypermkt
6
2.7k
[PyCon Korea 2024 Keynote] 커뮤니티와 파이썬, 그리고 우리
beomi
0
110
リリース8年目のサービスの1800個のERBファイルをViewComponentに移行した方法とその結果
katty0324
5
3.6k
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
3
400
飲食業界向けマルチプロダクトを実現させる開発体制とリアルな現状
hiroya0601
1
390
僕がつくった48個のWebサービス達
yusukebe
18
17k
カスタムしながら理解するGraphQL Connection
yanagii
1
1.2k
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
420
/←このスケジュール表に立ち向かう フロントエンド開発戦略 / A front-end development strategy to tackle a single-slash schedule.
nrslib
1
590
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.9k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Designing Experiences People Love
moore
138
23k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Designing for Performance
lara
604
68k
Facilitating Awesome Meetings
lara
49
6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
KATA
mclloyd
29
13k
Transcript
4FSWFS4JEF3FOEFSJOH XJUI8FC$PNQPOFOUT ͓ͷ͏͑ !MJLS 8FC$PNQPOFOUTLZPUP.FFUVQ
ࣗݾհ w ͓ͷ͏͑ w ژେֶֶࡍ༥߹ڭҭݚڀਪਐηϯλʔ ࡦͷͨΊͷՊֶϢχοτಛఆॿڭ w ՄࢹԽɺ࠷దԽɺΞϧΰϦζϜͷݚڀ w OHLZPUPΦʔΨφΠβʔɺ
8FC$PNQPOFOUTΓ͍ͨϚϯ
֓ཁ w ϋΠύϑΥʔϚϯεͳ8FCαΠτΛߏங͢Δ্Ͱɺ 4FSWFS4JEF3FOEFSJOH 443 ແࢹͰ͖ͳ͘ͳΓͭ ͭ͋Γ·͢ɻ8FC$PNQPOFOUTͱ4FSWFS4JEFϨϯμ Ϧϯάͷؔʹ͍͖ͭͯ߹ͬͯΈ͍ͨͱࢥ͍·͢ɻ
͖߹ͬͯΈͨ
͕ɺ
݁ಛʹͳ͍
༰ w 4FSWFS4JEF3FOEFSJOH 443 ͷඞཁੑʹ͍ͭͯɺ 1SPHSFTTJWF8FC"QQT 18" ͷಈͱڞʹղઆ w 8FC$PNQPOFOUTͱ443ͷ͖߹͍ํʹ͍ͭͯߟ͑Δ
w ͜Ε͔Βͷ8FCϑϩϯτΤϯυ։ൃʹ͍ͭͯߟ͑Δ w ·ͩ·ͩࡧதͰ͢
8FC$PNQPOFOUT͕͖ͬͯͨ
͜Ε͔Βͷ8FC։ൃ w 8FC$PNQPOFOUT w )5.-ɺ$44ɺ+BWB4DSJQUͷίϯϙʔωϯτԽ w 1SPHSFTTJWF8FC"QQT w 3FMJBCMFɺ'BTUɺ&OHBHJOH
1SPHSFTTJWF8FC"QQT 18" w IUUQTEFWFMPQFSTHPPHMFDPNXFCQSPHSFTTJWF XFCBQQT w 18"Λ࡞Δ࣌ͷࢦ w IUUQTEFWFMPQFSTHPPHMFDPNXFC QSPHSFTTJWFXFCBQQTDIFDLMJTU
w -JHIUIPVTF w 18"lྑ͍8FCαΠτz
-JHIUIPVTF "VEJU5PPM w 8FCαΠτΛղੳͯ͠Խ w $ISPNFʹΈࠐΈ w 1SPHSFTTJWF8FC"QQ w 1FSGPSNBODF
w "DDFTTJCJMJUZ w #FTU1SBDUJDFT
18"ϑΝʔετͳઃܭ w ޙ͚Ͱ18"ʹ͢Δͷ͍͠ w ࠷ॳ͔Β18"Λҙࣝͨ͠ઃܭ 18"ϑΝʔετ w 18"ͷ࡞Γํ
41"Λ͔ͬ͠Γ࡞Δ 4FSWJDF8PSLFSɺ8FC"QQ.BOJGFTUʹରԠ͢Δ w 41"͕࡞ΕΕ18"։ൃ͘͠ͳ͍ w ͨͩ͠ύϑΥʔϚϯε࠷దԽΛআ͘
'JSTUMPBEGBTUFWFOPO( w IUUQTEFWFMPQFSTHPPHMFDPNXFCQSPHSFTTJWF XFCBQQTDIFDLMJTUpSTUMPBEGBTUFWFOPOH w ಡΈࠐΈඵҎʢ3"*-1FSGPSNBODF.PEFMʣ w IUUQTEFWFMPQFSTHPPHMFDPNXFC GVOEBNFOUBMTQFSGPSNBODFSBJM w
(ͷԼΓ࠷େཧ.CQTʢ)4%1"ʣ w ࣮ޮʙ.CQT w 8FCϖʔδʹڐ͞ΕΔ௨৴༰ྔ.#ఔ
18"ͰͷύϑΥʔϚϯε࠷దԽ w ௨৴αΠζΛݮΒ͢ w ෆཁͳͷಡΈࠐ·ͳ͍ w NJOJGZɺѹॖ w ฒྻಡΈࠐΈ w
)551 w ΫϦςΟΧϧϨϯμϦϯάύεͷॖ w 4FSWFS4JEF3FOEFSJOH
ΫϦςΟΧϧϨϯμϦϯάύε w IUUQTEFWFMPQFSTHPPHMFDPNXFC GVOEBNFOUBMTQFSGPSNBODFDSJUJDBMSFOEFSJOH QBUI w IUUQTEFWFMPQFSTHPPHMFDPNXFC GVOEBNFOUBMTQFSGPSNBODFDSJUJDBMSFOEFSJOH QBUIDPOTUSVDUJOHUIFPCKFDUNPEFM
18" )5.-ɺ+4 ϒϥβ Ωϟογϡ "1* ॳճΞΫηε ճҎ߱ΞΫηε $44ɺFUD "QQ4IFMM*OTUBMM ͳωοτϫʔΫ
18"XJUI443 )5.-ɺ+4 ϒϥβ Ωϟογϡ "1* ॳճΞΫηε ճҎ߱ΞΫηε $44ɺFUD "QQ4IFMM*OTUBMM 4431BHF
ͳωοτϫʔΫ
18"Ͱͷ4FSWFS4JEF3FOEFSJOH w Ϋϩʔϥɺ0(1ରԠ w 1SFSFOEFSJOHͰରԠՄೳ w ॳظඳըͷߴԽ w ΫϦςΟΧϧϨϯμϦϯάύεͷॖ w
ϒϥβ͕ϦιʔεΛॱ൪ʹಡΈࠐΜͰ ॲཧ͢ΔϓϩηεΛ؆ུԽ
18"XJUI8FC$PNQPOFOUT w جຊతʹ௨ৗͷ18"ͱมԽ͠ͳ͍ w ͷ69ཁૉͷίϯϙʔωϯτԽ w ίϯϙʔωϯτͷԆಡΈࠐΈ w ฒྻಡΈࠐΈ
8FC$PNQPOFOUTΛ༻͍ͨ41"։ൃ w 41"ϑϨʔϜϫʔΫ 8FC$PNQPOFOUT w ϑϨʔϜϫʔΫͷͰ8FC$PNQPOFOUTΛར༻ w IUUQTDVTUPNFMFNFOUTFWFSZXIFSFDPN w ϑϧ8FC$PNQPOFOUT
w 8FC$PNQPOFOUTϕʔεϑϨʔϜϫʔΫͷར༻ w 1PMZNFSɺ4LBUF+4ɺ4UFO$*- w 6OJWFSTBM&4.PEVMFT
/PEFKTͰͷ&4.PEVMFTαϙʔτ w /PEFW ݄ Ͱϑϥά͖αϙʔτ͕։࢝ w FYQFSJNFOUBMNPEVMFT w /PEFWͰຊ֨ීٴ͔ w
݄ࠒϦϦʔεɺ݄ࠒ-54קࠂ w ࢀরɿIUUQUFQQFJTIBUFOBCMPHDPNFOUSZ FTNPEVMFTJOOPEFKT w ʹ&4.PEVMFTͷ͕࣌ͬͯ͘Δʢ͔ʣ
8FC$PNQPOFOUTͱ443 w 41"ϑϨʔϜϫʔΫXJUI8FC$PNQPOFOUT w 41"ϑϨʔϜϫʔΫྲྀͷ443 w "OHVMBS6OJWFSTBMɺ/FYUKTɺʜ w ϑϨʔϜϫʔΫͷΦʔόϔου w
ϑϧ8FC$PNQPOFOUT w /PEFKT PSαʔόαΠυݴޠ ΛؤுΔ w 4FSWFS4JEFͰ$VTUPN&MFNFOUTΛల։͢Δ͔ʁ
ϑϧ8FC$PNQPOFOUTͰͷ443ઓུ w ΫϥΠΞϯταΠυͰͷ$VTUPN&MFNFOUTల։ w ͏·͘ϚʔΫΞοϓ͠ͳ͚ΕฒྻಡΈࠐΈͰ͖ͳ͍ w αʔόαΠυͰͷ$VTUPN&MFNFOUTల։ w /PEFKTͰ8FC$PNQPOFOUTରԠ͠ͳ͚ΕͳΒͳ͍ w
".1UP18" w ͦͦॳظདྷ๚ͷϖʔδΛผʹ༻ҙ͢Δ
͜Ε͔Βͷ8FCϑϨʔϜϫʔΫΛໝ͢Δ w "QQ4IFMMͱ69ͷ w "QQ4IFMM w 18" ΦϑϥΠϯ 443Λલఏ w
ϧʔςΟϯάɺॳظϖΠϯτʹಛԽ w 69 w 8FC$PNQPOFOUTϕʔε w εςʔτཧ͕՝
ผղɿ131-ύλʔϯ w IUUQTEFWFMPQFSTHPPHMFDPNXFC GVOEBNFOUBMTQFSGPSNBODFQSQMQBUUFSO w 1VTIɺ3FOEFSɺ1SFDBDIFɺ-B[ZMPBE w 1PMZNFS4IPQσϞ IUUQTTIPQQPMZNFSQSPKFDUPSH w
௨৴࿏ͷۭ͖࣌ؒΛ௵͢
131-WT443 w 131- w Ϧιʔεґଘؔͷఆ͕ٛॏཁ w πʔϧͷඋʹظʁ w 443 w
/PEFKTΞϓϦͷߏஙɾӡ༻εΩϧ͕ٻΊΒΕΔ w ৽ͨͳϑϨʔϜϫʔΫͷొʹظʁ
Έ w Ϋϩʔϥɺ0(1ରԠ͚ͩͳΒ1SFSFOEFSJOHͰͰ͖Δͷ Ͱ443ෆཁͱࢥͬͯͨ w 18"ͰύϑΥʔϚϯεΛٻ͢ΔͳΒͬͺΓ443 ඞཁ͔ʁ w Ͱ443ߏஙӡ༻ෳࡶ͗͢ͳ͍͔ʁ w
&4.PEVMFTͱ131-ύλʔϯΛపఈ͢Ε443ͬ ͺΓ͍Βͳ͍ʁ
·ͱΊ w 18"ʹ8FC$PNQPOFOUTΈࠐΈՄೳ w ϋΠύϑΥʔϚϯεΛࢦ͢ͳΒ443ආ͚ΒΕͳ͍ w 8FC$PNQPOFOUTͷ׆༻Λਅ໘ʹߟ͑Δ࣌ظ w ԿΛඪͱ͢Δ͔ݟۃΊΔ w
૯߹֨ಆٕͱͯ͠ͷ18"ઃܭ w ࣝΛ૯ಈһͯ͠lྑ͍8FCαΠτzΛͭ͘Δ