Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
For example, libs like CableReady and Futurism can lazy load partials so unobtrusively that the notion of adhering to the formality of REST, with its attendant new routes, controllers, etc..., would be far too much ceremony for matching use cases.
Enforcing strict RESTful routes and controllers is perhaps the most impactful technique that influenced my usage of Ruby on Rails for the better.
Hotwire, while very cool, introduces new concepts that impose a higher cognitive cost and forces you to rethink how to best structure a Rails app. I view Hotwire as: REST semantics for everything + async server triggered CRUD updates.
One of the original goals of CableReady and StimulusReflex was to work seamlessly with traditional HTTP server rendered Rails apps (pre Hotwire) without requiring significant architectural changes or forcing a proliferation of new routes, controllers, or views/partials etc... We basically wanted a way to gradually introduce robust real-time and reactive behavior into traditional Rails apps with as little friction as possible. The idea being to allow people to leverage the work that had already been done rather than forcing a rethinking of the app. I view CableReady/StimulusReflex as as: REST + RPC sprinkles + async server triggered DOM behavior.
Related posts
- Sort tables (almost) instantly with Ruby on Rails and Turbo Frames
- Server-rendered modal forms on Rails with CableReady, Mrujs, Stimulus, and Tailwind
- Building a Real Time Scoreboard with Ruby on Rails and CableReady
- Am I Principal Skinner? Complexity of front-end is just baffling to me now
- Frontend, backend - let's be friends again