技術選定
Hotwireの技術的な特徴を紹介します。
Hotwireは非同期通信等を活用した優れたUI/UXが作れます。以下の有名ウェブサイトはHotwireもしくはHotwireと近縁の技術を使い、優れたユーザ体験を実現しています
HotwireとNext.jsで同じUIを作ると、しばしばHotwireの方が良いUI/UXになります。
HotwireはSPAですので、以下の特徴があります。
HotwireはSPAです。ReactやNext.jsと同じです。基盤技術が同じですので、Hotwireを使えばReactやNext.jsと同じことができます。
HotwireではJSON APIを挟んでサーバとブラウザ間でデータでやり取りする必要がありません。その効果は絶大です。
HotwireはサーバでHTMLをレンダリングしてブラウザに送信するSSR(Server-side Rendering)です(2ページ目からSPA)。Next.jsなどと同じですし、話題のReact Server Components (RSC)と類似した技術です
頻繁に入れ替わり、破壊的変更も多いReact/Vue/Next.js/Nuxt.jsと比較して、Hotwireは安定した基盤に基づいています。数年後にバージョンアップデートに苦しむことはありません
jQueryとHTMLテンプレートで書かれたウェブサービスをReact等でリプレイスするのは多変なプロジェクトです。特にビジネスとして成功し、数百ページから構成されたサイトをすべてReactにするのは至難の業で、多くの場合はReact + jQueryのハイブリッドとして残っています。
HotwireはjQueryと親和性が高いので、jQueryのサイトをモダンにして、メンテナンス性を向上するのに適しています。
ReactやVueと異なり、Hotwireは伝統的なウェブ技術をベースにしています。新しいコンセプトを学ばなくても容易に習得できます。Wordpress等でサイトを作っていた人ならすぐに理解できます。Async/awaitなどのPromiseやステート管理、高階関数などの複雑な話は出てきません。
HTML/CSS/JavaScriptの基礎を理解し、JavaScriptのイベント処理等を理解していれば、Hotwireは十分に書けます。
Hotwireはネイティブアプリの作成にも使用できます。