Explain the gems


I’m getting confused about all the gems surrounding hotwire. Can someone explain the differences?

  • hotwire-rails
  • turbo-rails
  • stimulus-rails
  • strada-rails

I’m assuming that hotwire-rails is basically a shortcut for adding all the 3 other gems? Is that right?

As far as I understand hotwire-rails is deprecated and shouldn’t be used going forward. And yes it was a “meta” gem that just had dependencies to turbo-rails & stimulus-rails. Use those gems directly going forward.

turbo-rails for sped up page loads, streams, stream-actions

stimulus-rails for view controllers, basically what would replace all your previous jQuery event handlers/interactions/etc using MutationObserver browser APIs (abstracted away for you)

strada-rails for making your web views into a iOS “native” (really more hybrid) mobile app that could go into the app store

1 Like