Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第38章 Hotwire の未来

この章のねらい

本書の最後に、Hotwire の現在地と、これからの方向を見ます。技術は動き続けるので、ここでは確実なことを中心に、本書で学んだことがどこへつながるかを整理します。

なお、この章には将来の見通しが含まれます。本書の方針(確認日とバージョンを明記する)にならえば、これは 2026 年 6 月時点の見立てです。確実な事実と、筆者の予測は書き分けますが、最新の状況は一次情報で確かめてください。

38.1 Turbo 8 と morphing の意味

Turbo 8 で入った morphing(第9章)は、Hotwire の表現力を一段広げました。

それまで、部分更新は「差し替え」が基本でした。morphing は、新旧の DOM を比べて、変わった部分だけを当てます。これにより、入力中のフォーカスやスクロール位置を保ったまま、画面を最新にできます。「ページ全体を最新に揃えたいが、ユーザーの操作は邪魔したくない」という要求に、素直に応えられるようになりました。

morphing は、後述の broadcast refresh と組み合わさることで、リアルタイム更新の作り方を、より簡単な方向へ動かしました。

38.2 refresh broadcast の可能性

第15章・第18章で見た broadcast refresh は、リアルタイム更新の考え方を変えます。

これまでは、変化のたびに「この要素をこう変えろ」という細かい命令を、一つひとつ配信していました。broadcast refresh では、「ページを最新に更新して」と伝えるだけで済みます。受け取った各クライアントが、morphing で自分の画面を最新に揃えます。

細かい stream を設計する代わりに、「最新に揃える」という大きな単位で考えられます。これは、リアルタイム機能の実装を、シンプルにする方向です。今後、この作り方が標準的になっていくと考えられます。

38.3 Hotwire Native の成熟

第9部で見た Hotwire Native は、Turbo Native から名前と中身を整え、iOS と Android を一貫した考え方で扱えるようになりました。

Web の資産をそのままモバイルへ広げる、という発想は、Web-first のチームにとって現実的な選択肢です。Path Configuration や Bridge Components の整備が進むほど、「Web で作り、必要なところだけネイティブ」という形が、取りやすくなっていきます。

38.4 Rails 標準としての Hotwire

Hotwire は、Rails の既定です(第6章)。rails new すれば、最初から入っています。

これは、ただの「同梱」以上の意味を持ちます。Rails が「サーバーで HTML を返す」という基本に立ち、その上での画面更新の標準を Hotwire に置いた、ということです。本書で見てきた「HTML over the wire」は、Rails の思想と地続きです。Rails を使う限り、Hotwire は最初の選択肢であり続けます。

38.5 SPA との境界はどう変わるか

第37章で見たとおり、Hotwire と SPA の境界は、もともとはっきり分かれていませんでした。そして、その境界は今も動いています。

morphing のような技術で、Hotwire はサーバー中心のまま、より滑らかな更新を実現できるようになりました。一方、SPA 側もサーバー描画を取り込んでいます。両者は、互いの良いところを取り入れながら近づいています。

大切なのは、どちらが勝つかではなく、「自分のアプリに、どちらの考え方が合うか」を選べることです。本書は、その選択肢の一つとして、Hotwire を深く理解することを目指しました。

38.6 本書の後に学ぶこと

本書を終えたら、次の方向へ進めます。

  • 公式ドキュメントを読む。本書の各章で挙げた一次情報(Turbo / Stimulus / Hotwire Native の公式)を、改めて通して読むと、理解が深まります。歩き方は付録Aにまとめます。
  • 自分のアプリで使う。Relay で学んだパターンを、実際のアプリに当てはめます。うまくいかないときは、第8部のデバッグと、第10部の判断軸(戻す勇気)を思い出してください。
  • 変化を追う。Hotwire は動き続けます。確認日とバージョンを意識し(本書の方針でもあります)、新しい機能は一次情報で確かめます。

本書で繰り返してきたのは、「HTML over the wire」という一つの考え方でした。サーバーが HTML を返し、ブラウザがそれを賢く反映する。Turbo Drive・Frames・Streams・Stimulus・Native は、すべてこの考え方の現れです。この軸さえ持っていれば、Hotwire のこれからの変化も、迷わず読み解けるはずです。

これで本編は終わりです。Relay という一つのアプリを育てながら、Hotwire を一通り学びました。付録では、公式ドキュメントの歩き方、各種リファレンス、よくあるエラー、そして Hotwire Native の実機ビルド手順を扱います。

参考資料