📝
Hotwireってなんなん。
Hotwireとの出会い
2025年、初春のある日。
QiitaでJunichi Ito (伊藤淳一)さんのこんな記事をみつけた。
Hotwireってなんか聞いたことがある気がする。けどなんなのかわからない。
ということで、調べてまとめてみることにした。
Hotwireとは
とりあえずQiitaの記事通り以下を読んでみる
Hotwireは、以下の3つで構成されている。
- Turbo
- Stimulus
- Strada
🐱 Hotwireを使うと、フォーム・リンクからのリクエストは全てFetch APIを利用した非同期リクエストになる。このfetchに対して、サーバーはHTMLをレスポンスするんだ。
VueやReactの場合、Fetch APIへのリクエストはJSONでレスポンスされるけど、Hotwireの場合はHTMLがレスポンスされるのがミソっぽい。
バックエンドでレンダリングするので、モデル、バリデーションもサーバーサイド側で用意すればいいんだって。
※前者の場合はフロント側でDOMを構築するので、フロント/バックエンド共に↑を用意する必要がある。
ちなみにRails7系以降は標準で入っている。
以下のgemは必要だけど、その他は特に意識せずこの機能を享受することができるみたい。
何が嬉しい?
これまで同様にRailsを書きながら、より簡単に「SPI風」のアプリを構築することができる。
所感
ちょっとだけ賢くなった。
次はHotwireを実際にアプリで体感してみたい。
参考記事
Discussion