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
510
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
ネットワーク可視化の世界
likr
8
6.7k
Think About Front-end Web Development with Rust
likr
2
540
Yewにおけるoff-the-main-thread
likr
1
770
行政事業レビューデータの可視化 / Visualization of Japan's National Budget with JUDGIT!
likr
1
230
モダンJavaScript再入門 / Re-introduction to Modern JavaScript
likr
24
11k
Web-based Data Visualization with Rust and WebAssembly
likr
4
5.9k
Introduction to Graph Drawing
likr
0
510
20190707Ionic_Meetup.pdf
likr
0
450
About the end of the web
likr
2
540
Other Decks in Programming
See All in Programming
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.3k
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
340
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
180
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
930
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
2.9k
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.9k
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
370
実践AIチャットボットUI実装入門
syumai
7
2.4k
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
900
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
160
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
2
160
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
170
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Faster Mobile Websites
deanohume
310
31k
A Tale of Four Properties
chriscoyier
160
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
A Modern Web Designer's Workflow
chriscoyier
697
190k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
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Λͭ͘Δ