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
PWA, SEO, SSR
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
aggre
November 04, 2017
Technology
800
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PWA, SEO, SSR
https://polymer-japan.connpass.com/event/69080/
の登壇資料です
aggre
November 04, 2017
More Decks by aggre
See All by aggre
The money for the openable and shareable era
aggre
0
550
エンジニアは会社に何を求めるか? / What does engineers wants the company?
aggre
0
190
The importance ofopen assets
aggre
0
130
Fully AMP pros and cons
aggre
0
260
Web Components のリアル/ Realistic Web Components
aggre
12
8.6k
OSS の持続的開発をトークンエコノミーで支援する / Dev Token @OSS Universe
aggre
1
430
OSS の持続的開発をトークンエコノミーで支援する / Dev Token @CryptoBowl
aggre
1
520
Mastering lit-html directive
aggre
0
490
非中央集権ウェブ / Decentralized Web
aggre
3
650
Other Decks in Technology
See All in Technology
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
220
【Oracle AI SPOTLIGHT ウェビナー】事例から見る!なぜOCIが選ばれたのか ― AI時代のクラウド戦略を紐解く ―
oracle4engineer
PRO
1
150
AIコーディングはじめました
miso
0
140
視野はAIに、視座は人に / ai-for-breadth-humans-for-perspective
nkzn
6
2.8k
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
2
1.3k
cdk deployとcdkd deploy、実際にデプロイして5倍速近くの差を実測した
yama3133
1
160
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
390
Flutter Webを「SDK」として配る — 50以上のゲームを支える埋め込みアーキテクチャ
masayukisuda
0
170
SLOを阻む不安
sraku2159
0
210
企画からFlutter実装まで、1つの機能を一貫して開発したプロセスと成果物
khiroyuki1003
0
130
200人の配信コメント、 全部Jevが仕分けます 〜 マサカリガードを作ってみた 〜
katayamatg
1
510
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
220
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
41k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Paper Plane
katiecoart
PRO
5
54k
KATA
mclloyd
PRO
35
16k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
340
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
240
Code Reviewing Like a Champion
maltzj
529
40k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
790
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
PWA, SEO, SSR
PWA
None
Service Worker HTTPS
Service Worker HTTPS
Polymer PWA
polymer init polymer build
ls build/es6-unbundled - service-worker.js - manifest.json
SEO/Bot
<hello-world></hello-world>
<hello-world> #shadow-root <style> h1 { color: blue } </style> <h1>Hello,
world!</h1> </hello-world>
<hello-world></hello-world>
SSR
Node.js
require('@skatejs/ssr/register'); const render = require('@skatejs/ssr’); class Hello extends HTMLElement {
connectedCallback () { const shadowRoot = this.attachShadow({ mode: 'open' }); shadowRoot.innerHTML = '<span>Hello, world!</span>'; } } customElements.define('x-hello', Hello); const hello = new Hello(); render(hello).then(console.log);
None
ShadowDOM?
<hello-world> #shadow-root <style> h1 { color: blue } </style> <h1>Hello,
world!</h1> </hello-world>
https://host/?dom=shady window.ShadyDOM = { force: true };
Rendertron
Prerender.io
Renderly
None