Talk

Hotwire光の道とStimulus

私はここ数年、Hotwireを使ってRailsアプリケーションを開発しています。Hotwireはとても強力な技術ですが、いろいろなことができるからこそ、かえって本質がクリアになっていないという思いを抱き、効果的な設計原則の言語化に努めてきました。Hotwireを使った開発を続ける中で、私の理想とする設計原則「Hotwire光の道」について、さらに言語化が進んできたので、それをご紹介したいと思います。

「Hotwire光の道」の核心は、サーバサイドですべてをコントロールできるようにすることです。今回は、Stimulusの使いこなしを題材に、この設計原則について話していきたいと思います。

Stimulusを用いると、クライアント側で動くJavaScriptを、手軽に、ある程度管理しやすい形で書くことができます。しかし、だからこそ、クライアント側にいろいろな処理を書いてしまいがちです。私自身も、開発のなかでうっかり「光の道」から外れて、クライアント側での実装をしてしまっていたことが何回もあります。そういう場合は、後になって道から外れていたことに気づき、リファクタリングをしています。今回のトークでは、そういった具体例を出しながら、Stimulusをどう使うと(または、どう使わないと)Hotwireの良さを活かしたアプリケーションを作れるのかについて、私の考えをご紹介したいと思います。

Speaker

Yasuko Ohba (nay3) nay のGithubページ

株式会社万葉 代表取締役 & Railsエンジニア。"構造厨" を標榜する、設計・実装大好き人間です。「現場Rails」本の著者の一人です。Kaigi on Rails 2023では、主に Turbo Frames を題材に、Hotwireらしい設計原則についてお話しました(『Hotwire的な設計を追求して「Web紙芝居」に行き着いた話』)。

Yasuko Ohba (nay3)のアバター画像