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
PWA, SEO, SSR
Search
aggre
November 04, 2017
Technology
1
770
PWA, SEO, SSR
https://polymer-japan.connpass.com/event/69080/
の登壇資料です
aggre
November 04, 2017
Tweet
Share
More Decks by aggre
See All by aggre
The money for the openable and shareable era
aggre
0
430
エンジニアは会社に何を求めるか? / What does engineers wants the company?
aggre
0
110
The importance ofopen assets
aggre
0
52
Fully AMP pros and cons
aggre
0
170
Web Components のリアル/ Realistic Web Components
aggre
12
7.8k
OSS の持続的開発をトークンエコノミーで支援する / Dev Token @OSS Universe
aggre
1
340
OSS の持続的開発をトークンエコノミーで支援する / Dev Token @CryptoBowl
aggre
1
400
Mastering lit-html directive
aggre
0
430
非中央集権ウェブ / Decentralized Web
aggre
3
550
Other Decks in Technology
See All in Technology
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Engineer Career Talk
lycorp_recruit_jp
0
160
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
120
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
Can We Measure Developer Productivity?
ewolff
1
150
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
フルカイテン株式会社 採用資料
fullkaiten
0
40k
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
GitHub's CSS Performance
jonrohan
1030
460k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Faster Mobile Websites
deanohume
305
30k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
KATA
mclloyd
29
14k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Speed Design
sergeychernyshev
25
610
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
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