個人的な意見に基づく記述です
- HTML、CSS、JavaScriptをコンポーネントという単位に分解して管理する開発が主流
- それを独自のツールやライブラリによって実現している
- かなりコストがかかっているし、解決できない問題も多い
- ツールやライブラリの開発、及びその学習コスト。みんな独自に違うことやってる。それが廃れたときのことも考えないといけない(しかも代謝早い)
- CSSがコンポーネント単位に分離されていようが、あくまでセレクタはグローバル。いくらでも行儀の悪いことができる
- Web Componentsはより強力なコンポーネント設計を実現するためのネイティブの仕様
- ツールやライブラリに依存しなくてもコンポーネント設計を実現しやすくなる
- 独自のツールやライブラリに依存するよりも堅実で寿命が長くなる
- CSSに真のスコープが導入できる
- 追加したスタイルが思わぬところに悪影響を与えてしまう可能性を制御できる
- 最初に書いた
base.css
を二度といじれない問題を避けられる
- Web ComponentsだとViewの更新は生のDOMを書き換えることになるので、複雑なViewだとReactみたいなライブラリは引き続き欲しい(統合はできるようになってる)
- 単にコンポーネントの実装を強化するものなので、結局実装の上流工程での設計が重要なのは変わらない
- 絶賛仕様作成途中。ES Modulesとの統合とかまだ考えられてない
- CSSの継承はWeb Components関係なく、initialでリセットできる。ただしIE11は未対応
- 仕様が固まるのはまだ先だけど、IEのサポートが切れるよりは早いはず。みんなで幸せになるために早くIEを撲滅させよう!