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
え、まだWeb Componentsを未来の技術だと思ってるの?
Search
ponday
November 05, 2018
Programming
2
740
え、まだWeb Componentsを未来の技術だと思ってるの?
VEGA Tech Meetup #3 (2018/11/05) 発表資料です。
ponday
November 05, 2018
Tweet
Share
More Decks by ponday
See All by ponday
関数型でGoFのデザインパターンやってみる
honda
1
1.1k
TypeScriptの型表現
honda
10
2.9k
Web Componentsの今
honda
1
380
これまでのReact、これからのReact
honda
0
280
Gatsbyお試し
honda
0
110
styled-components or emotion?
honda
0
630
Web ComponentsとAngular
honda
0
130
Atomic Design周りについての私見
honda
1
620
Web Componentsの動向とPolymer
honda
4
2.4k
Other Decks in Programming
See All in Programming
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
230
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
300
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
230
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.2k
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
250
Jakarta EE meets AI
ivargrimstad
0
600
Jakarta EE meets AI
ivargrimstad
0
130
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Why Our Code Smells
bkeepers
PRO
334
57k
A designer walks into a library…
pauljervisheath
204
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
100
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Statistics for Hackers
jakevdp
796
220k
Transcript
え、まだWeb Componentsを未来の技術だと思ってるの? VEGA Tech Meetup #3 / Nov 5th, 2018
ponday (@ponday_dev)
Profile - ponday (Honda, Yusuke) - 株式会社ベガコーポレーション エンジニア - Like
: TypeScript / Elixir / Python etc… - あいかわらずフロントエンドの人ではない
None
Web標準の技術のみで 再利用可能な部品を作るAPI
使ったことある人 ノ
たぶんほとんど居ないのでは?
Web Componentsを未来の技術と思い込んでいませんか?
よくある意見 - まだブラウザの対応が進んでないでしょ? - まだほとんど使われてないでしょ? - ウチはReact/Angular/Vue.js使ってるから...
よくある意見 - まだブラウザの対応が進んでないでしょ? - まだほとんど使われてないでしょ? - ウチはReact/Angular/Vue.js使ってるから...
ブラウザの対応状況 対応済 未対応
ブラウザの対応状況 対応済 未対応 大半のブラウザが 対応済
ブラウザの対応状況 対応済 未対応 開発ステータスが 「開発中」に
ブラウザの対応状況 - 大半のモダンブラウザが対応済 - Edgeもステータスが「検討中」→「開発中」に - 既に対応ブラウザ次第では十分使えるレベル - Polyfillを使うという手も
よくある意見 - まだブラウザの対応が進んでないでしょ? - まだほとんど使われてないでしょ? - ウチはReact/Angular/Vue.js使ってるから...
Web Componentsの利用例 - 既に採用事例は多数 - GitHub、YouTube、Google Earthなど
Web Componentsの本番利用 - 既存のリソースを捨てる必要はない - 特に追加設定なく利用も可能 - まずは小さく
よくある意見 - まだブラウザの対応が進んでないでしょ? - まだほとんど使われてないでしょ? - ウチはReact/Angular/Vue.js使ってるから...
or
or No !!
with
フレームワークとの連携 - Web ComponentsはあくまでWeb標準の技術 - 特定のフレームワークに依存するものではない - あらゆるフレームワークと連携できる
これまで Component Component Component State Management Routing State Management Routing
State Management Routing DOM API
これまで Component Component Component State Management Routing State Management Routing
State Management Routing DOM API 各FWが コンポーネント機構を提供
これまで Component Component Component State Management Routing State Management Routing
State Management Routing DOM API コンポーネント機構に 各種機能が依存
これまで Component Component Component State Management Routing State Management Routing
State Management Routing DOM API 独自の要素は 他のFWで流用できない
これから DOM API Component Component Component State Management Routing State
Management Routing State Management Routing Web Components
これから DOM API Component Component Component State Management Routing State
Management Routing State Management Routing Web Components Web標準APIによる コンポーネント機構
これから DOM API Component Component Component State Management Routing State
Management Routing State Management Routing Web Components 各FWのコンポーネントから 利用することができる
Web Componentsの役割 - 再利用可能な部品を作るためのAPI - アプリケーション開発のためのAPIではない - あくまでViewの機能を拡充するもの
Web Componentsとフレームワーク Component State Management Routing Component State Management Routing
DOM API
これだけでアプリケーション(SPA)は作れない
Web ComponentsとJSフレームワーク - Web ComponentsはView以外の面倒は見ない - 状態管理 - ルーティング -
etc… - Web Componentsを使わないほうが便利な場面も - JSフレームワークとは適切に役割分担して使う
例えばReact + Web Components React Component Redux (State Management) Web
Components React Router
例えばReact + Web Components React Component Redux (State Management) Web
Components React Router Web Componentsが 面倒をみない機能
例えばReact + Web Components React Component Redux (State Management) Web
Components React Router ReduxやReact Routerは Reactから利用
例えばReact + Web Components React Component Redux (State Management) Web
Components React Router Reactからプロパティを 渡して利用
Vueで利用する場合も構造は同じ Vue Component Vuex (State Management) Web Components Vue Router
課題 - プロパティの受け渡し - Server Side Renderingが難しい - window.customElements.define -
Shadow DOM - SEO
まとめ - Web Componentsはもう未来の技術ではない - 採用実績も増えつつある - JSフレームワークと共存できる - まずは小さく始めてみては?
Thank you !!