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
導入事例から学ぶ Polymer開発 / Polymer-Japan-2017-11-04-2
Search
Kenichiro Kishida
November 04, 2017
Technology
570
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
導入事例から学ぶ Polymer開発 / Polymer-Japan-2017-11-04-2
Kenichiro Kishida
November 04, 2017
More Decks by Kenichiro Kishida
See All by Kenichiro Kishida
Compression Streams API によるブラウザネイティブなデータ圧縮/jsfes2025
sizuhiko
0
99
Compression Streams API によるブラウザネイティブなデータ圧縮 /phpstudy-182
sizuhiko
0
99
Code兄弟での CI/CDをいい感じにする方法 / phpstudy-2024-06
sizuhiko
0
240
Webアクセシビリティワークショップを社内でやってみた / phpconfuk-2024
sizuhiko
1
440
デベロッパーよ 健康でいるためには 寝て 旅をして 趣味を持って メンタル大切に / DE-RADIO-2023-06-26
sizuhiko
0
220
ヘビータブユーザーが ワークスペースの利用でどのように変わったか / 2023-05-16 Vivaldi User Meetup TOKYO 2023
sizuhiko
0
400
Node.js v18 ベースイメージを使った AWS Lambda アプリ開発におけつ光と影 / 2023-04-23 JavaScript Fes
sizuhiko
0
270
@swc-node/jest を使って テストを高速化する/jsfes-2022
sizuhiko
0
440
Rails 7の採用提案で注目を集め始めた Import maps の過去、現在、そして未来について/de radio 2
sizuhiko
2
1.5k
Other Decks in Technology
See All in Technology
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
5.9k
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
自主式軟體工廠
philipz
0
260
大型犬好きによるPugの紹介
yamanoku
1
150
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
400
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
230
【Data Engineering Summit2026_登壇資料】医療ビッグデータ×AIエージェントを支えるデータ基盤とハーネスエンジニアリング
jmdc_presentation
0
140
Deep Data Security 機能解説
oracle4engineer
PRO
2
800
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
370
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
890
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.3k
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
0
130
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Building Adaptive Systems
keathley
44
3.2k
Being A Developer After 40
akosma
92
590k
Building AI with AI
inesmontani
PRO
1
1.3k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
810
Between Models and Reality
mayunak
4
490
Chasing Engaging Ingredients in Design
codingconduct
0
360
A Tale of Four Properties
chriscoyier
163
24k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
940
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Mind Mapping
helmedeiros
1
400
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Transcript
ಋೖࣄྫ͔ΒֶͿ 1PMZNFS։ൃ 1PMZNFS+BQBO.FFUVQ ,FOJDIJSP,JTIJEB !TJ[VIJLP
ळ ަ௨͚γεςϜϓϩτλΠϓ࡞Ͱ࠾༻ ϑϩϯτࢲਓ Ն *P5..ల ळ ͷలࣔσϞΞϓϦͰ࠾༻ ϑϩϯτΤϯυࢲ ϑϦʔͷ+4FS ౙ
ʢதখاۀ͚ʣ༻8FCαʔϏε։ൃͰ࠾༻ ϑϩϯτΤϯυࢲ ϑϦʔͷ+4FS ϑϩϯτॳΊͯͷਓ
࣌ʜ w ͱΜ͕ͬͯΔͶʂ w ͍ͬͯΔਓ͡Ίͯݟͨ w ͑Δͷʁ w ੲ
ͬͨ͜ͱ͋Δ w ͭΒ͘ͳ͍ʁ
w W w WW w WW w W w W
w W w W w W w W https://github.com/Polymer/polymer/releases 89 Releases!!
ۤ썮썴썝썢ɺࠔ썺썶쎁 ۤ썮썛쎅쎆썶쎡લ쎁쎪썷써쎀쎁 쎆ւਤ쎅쎁썛ߤ࿏쎩ߦ썦쎪썷쎤ʁ ઓ썰쎢쎅쎙ɺੜ쎖ग़썰쎅쎙ɺۤ썮썛쎟 썾쎙ɺॆ࣮썮썽쎢 ʮ࢛݄܅ͷӕʯΑΓ༗അެਖ਼ͷ໊ݴ
Α͔ͬͨ͜ͱ w )5.-λά࠶ར༻ੑ͕ߴ͍ w ϒϩοΫΛΈཱͯΔΑ͏ͩ w άϩʔόϧԚછͳʹͦΕ w ͡ΊͯͷਓೃછΈ͍͢ w
ʢ׳Εͨਓ͕͍ͨํ͕ྑ͍ʣ
131-ύλʔϯ
https://developers.google.com/web/fundamentals/performance/prpl-pattern/?hl=ja
1PMZNFS$-* 'BLF"1*4FSWFS ੩తίϯςϯπͷऔಘ "1*ίʔϧ
None
/1.4DSJQUT “start”: “polymer serve -H 0.0.0.0 & gulp canned”, “lint”:
“gulp lint”, “lint:ci”: “gulp lint —ci”, “test” : “gulp test”, “test:ci”: “gulp test —ci”, “postinstall”: “bower install”, “deploy:xxx”: “gulp deploy —target=xxx”
5FTUJOH const wct = require('web-component-tester').test; const options = { plugins:
{ local: ['chrome', 'firefox'], } }; wct(options).then(() => { console.log('テスト成功'); }).catch((error) => { console.log(error); });
✅ ✅ ✅ ❌ ❌ ✅ ✅ ✅ ✅ ❌
-JOU gulp.task('lint', () => { return gulp.src(['src/**/*.html', '!src/app.html']) .pipe(polylint({noRecursion: true}))
.pipe(jshint.extract('auto')) .pipe(jshint({expr: true})) .pipe(polylint.combineWithJshintResults()) .pipe(jshint.reporter, 'jshint-stylish') .pipe(jshint.reporter, 'fail'); });
4 $MPVE'SPOU )551
#VJME const htmlminOptions = { collapseWhitespace: true, minifyCSS: true, minifyJS:
true, removeComments: true }; gulp.task('deploy.minify', () => { return gulp.src(dist('/src/**/*.html')) .pipe(htmlmin(htmlminOptions)) .pipe(gulp.dest(dist('/src'))); });
(FOFSBUF4FSWJDF8PSLFS const PolymerProject = require('polymer-build').PolymerProject; const addServiceWorker = require('polymer-build').addServiceWorker; const
mergeStream = require('merge-stream'); const swPrecacheConfig = require(path.join(__dirname, '..', '..', 'sw-precache-config.js')); const project = new PolymerProject(require(path.join(__dirname, '..', '..', 'polymer.json'))); gulp.task('deploy.addServiceWorker', ['deploy.stream'], () => { return addServiceWorker({ buildRoot: dist(), project: project, swPrecacheConfig: swPrecacheConfig, }); }); gulp.task('deploy.stream', () => { return mergeStream(project.sources(), project.dependencies()); });
%FQMPZ const awspublish = require('gulp-awspublish'); const parallelize = require("concurrent-transform"); const
cloudfront = require('gulp-cloudfront-invalidate-aws-publish'); gulp.task('deploy.invalidate', () => { const publisher = createPublisher(); return gulp.src(dist('**/*')) .pipe(parallelize(publisher.publish(headers), 10)) .pipe(publisher.sync()) .pipe(cloudfront(cfSettings)) .pipe(publisher.cache()) .pipe(awspublish.reporter()); });
·ͱΊ