The Standard

特定のフレームワークにロックインされない。どこでも動くコンポーネント。

Custom Elements
独自のHTMLタグ(<my-button>など)を定義するAPI。
Shadow DOM
コンポーネントの内部構造(HTML/CSS)を外部から隠蔽(カプセル化)する仕組み。外のCSSの影響を受けない。

True Encapsulation

graph TD
    Document[Document (Light DOM)] --> Host[<my-element> (Shadow Host)]
    Host --> ShadowRoot[#shadow-root]
    ShadowRoot --> Elements[Internal HTML/CSS (Shadow DOM)]
    style[External CSS] -.-x Elements
Use Cases:
  • Design Systems: 会社全体のデザインシステムをWeb Componentsで作れば、全プロダクト(React, Vue, Rails)で同じボタンが使える。
  • Micro-Frontends: 異なる技術スタックのチームが作ったUIを統合するのに最適。