Everyone has JavaScript, right?

I found this infographic that sums up years of experience using several javascript frameworks and dealing with “bugs” from users with browser not loading javascript.

For us, the hotwire stack and basecamp/hey approach feels better.

We use server-side ERB views, and then we sprinkle some JavaScript upon them using Stimulus and Turbolinks. -dhh

We now follow the same approach of building our web applications. We make them function with html/css and backend code. Then enhance the user experience with javascript. If the users browser does not load javascript, the application still works. For example, a non-js user clicks through a multi-page form wizard on separate pages where a js user experience the multi-page form wizard on a single page (loaded using turbo-frames and turbo-streams). Javascript users receive a better experience then the non-js users, but the non-js users still receive a beneficial experience.

As a side-benefit, js users experience a faster UI.

Other developers might not appreciate this approach, but we enjoy it.

Sending thanks to @dhh and team.