Stimulusと現行の主流なJavaScriptフレームワークとの違い

logo.jpg

Stimulusは、このように何らかのHTML要素を操作するために作られたフレームワークです。

現在主流のフレームワークの多くは、JSONをテンプレートエンジンを経由してDOM要素に変えていきます。フレームワークで空のページを生成し、そこにレンダリングして要素を表示するやり方を取っています。一方、Stimulusは*「すでにそこにあるオブジェクト」に対して動作を与えていきます*。

また、多くのフレームワークJavaScriptに書かれたオブジェクトの「state」(状態)を管理して、stateに基づいてHTMLをレンダリングします。一方、Stimulusでは、stateはHTMLの中にあるので、controllerはページ遷移の間に破棄することができますが、キャッシュされたHTMLが表示されればcontrollerは再起動されます。

少し難しい話が続きましたが、要するにStimulusは現在人気でよく使われているフレームワークが持っている複雑な手続きを、よりシンプルな形にしているということです。敷居が下がって誰でも操作しやすい反面、少し物足りないと感じる人がいるかもしれませんが、そのような方は別のフレームワークと組み合わせて使ってみるといいでしょう。

まとめ:他フレームワークと組み合わせて使ってみよう

Stimulusは用途が限定されている分、初心者・中級者でもカジュアルに使うことができますが、他のフレームワークと組み合わせて使って応用的に使う方法もあります。

最近のモダンなフレームワークとしてReactとReduxをセットにすることが多いですが、Stimulusの場合はTurbolinksと呼ばれる、Ruby利用者の間で人気のフレームワークと抱き合わせで使うことも多いようです。

使い方次第で、色々な応用例に利用できそうです。ぜひ、自分なりの使い方を見つけてみましょう。