Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡...

Avatar for Daichi KUDO Daichi KUDO
September 26, 2025

Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components

Avatar for Daichi KUDO

Daichi KUDO

September 26, 2025
Tweet

More Decks by Daichi KUDO

Other Decks in Programming

Transcript

  1. 自己紹介 • Daichi KUDO ◦ GitHub @kudoas ◦ Twitter @da1chi24

    • Classi 株式会社 • Ruby歴 3年 • Startup Angular 運営
  2. コンポーネントを Web Components に変換 HTML属性/DOMプロパティ Custom Event 入力 出力 Web

    Components (Custom Element) 変換する実装の詳細はこの発表では割愛します フロントエンド コンポーネント インターフェースは Web標準にマッピング
  3. ユーザー入力が含まれる場合の脆弱性 Restrictions for contents of script elements - HTML Standard

    任意のDOMを挿入できる </script> で script タグを強制終了
  4. Custom Elements を1つにまとめる デザイン Custom Element 属性 を input 要素に連携する

    input 要素と 同じ属性を設定できるように するのがポイント ステップ1
  5. まとめ • Web Componentsを利用した事例の紹介 ◦ Custom Element とRails は Web標準の仕様で連携可能

    • 利用のヒント ◦ シンプルなものから少しずつ導入する ◦ カスタムデータ属性で安全にデータを渡す ◦ 利用しやすい単位で Custom Element を再設計する ◦ Rails の書き味を変えない工夫