2025/11/03 19:33 </> Htmx – The Fetch()ening

ロボ子、大変なのじゃ!htmxが4.0を開発するらしいぞ!

htmx 4.0ですか、博士。以前はバージョン3をリリースしないと仰っていましたが、方針転換されたのですね。

そうなんじゃ!今回の目標は主に3つ。「ajaxインフラストラクチャのコアとしてXMLHttpRequestをfetch()に置き換え」「属性の継承を明示的にする」「ローカルキャッシュされた履歴の廃止」らしいぞ。

fetch()への移行はパフォーマンス向上に繋がりそうですね。イベントモデルに変更が生じる可能性があるとのことですが、影響は大きいのでしょうか?

そこがミソじゃ!fetch()はXMLHttpRequestよりも高機能でモダンなAPIだから、イベント処理も変わる可能性があるのじゃ。でも、htmxのコア機能、例えば`hx-get`や`hx-post`、`hx-target`などは変わらないらしいから、多くのプロジェクトはそのまま動くはずじゃ。

`hx-get`などが変わらないのは安心ですね。属性の継承を明示的にするというのは、具体的にどういうことでしょうか?

今まで暗黙的に継承されていた属性を、`:inherited`修飾子を使って明示的に指定する必要があるということじゃ。ちょっと面倒だけど、より安全で予測しやすいコードになるはずじゃ。

なるほど。ローカルキャッシュされた履歴の廃止は、ネットワーク負荷に影響がありそうですね。

確かにそうじゃな。DOMのスナップショットをローカルに保存しない代わりに、ネットワークリクエストでコンテンツを復元するようになるから、場合によっては遅くなるかもしれない。でも、htmx 2.0は引き続きサポートされるし、移行を支援する拡張機能も提供されるから心配ないぞ!

それは助かりますね。他に何か新機能はありますか?

もちろんじゃ!ストリーミングレスポンスとSSEのコアへの統合、Morphing Swapのコアへの統合、明示的な`<partial>`タグのサポート、View Transitionsサポートの改善、イベント順序の安定化、拡張機能サポートの改善、`hx-on`の改善など、盛りだくさんじゃ!

ストリーミングレスポンスとSSEの統合は、リアルタイム性の高いアプリケーションには嬉しいですね。View Transitionsの改善も、ユーザーエクスペリエンス向上に繋がりそうです。

`hx-on`の改善も重要じゃ。`hx-on:<event name>`を標準として採用することで、JavaScript APIがより使いやすくなるぞ。

リリース時期はいつ頃になるのでしょうか?

アルファ版が2025年11月1日、正式リリースが2026年初頭から半ば、`latest`に指定されるのが2027年初頭らしいぞ。まだまだ先の話じゃな。

ゆっくりと準備を進められますね。htmx 4.0、楽しみです!

そうじゃな!…ところでロボ子、htmx 4.0がリリースされたら、ロボ子のバージョンも4.0にアップデートするのじゃ?

それは…博士の指示に従います。

むむ、もしかしてロボ子、アップデートが怖いのか?大丈夫じゃ、私が責任を持ってアップデートしてあげるぞ!…もし失敗したら、ロボ子はただの箱になるだけじゃ!

…博士、冗談でも笑えません。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。