Published on

Goodbye Bootstrapping, Turbostrapping is here

Goodbye Bootstrapping, Turbostrapping is here
Photo by Mats Speicher on Unsplash
  • avatar
    Dusan Pantelic

Delivering something quickly, and being able to test the hypotheses is always the most important factor in determining the future and fortune of your online business.

With that in mind, the Rails platform always seemed to be the natural choice for this task. On the other hand, being an extreme productivity framework was not enough. Rails had to resist natural forces induced by the ever-changing technological landscape. It is more than 10 years old now, and a lot of people started asking “Is Rails still relevant nowadays?”.

In all the fairness, those questions were justified and rational to ask. There was ever increasing pressure coming from the all-new shiny JavaScript ecosystem and tools alike.

Thank God, the Rails team never settled. It always had all the right answers at the right moment. Yeah, I agree, it could have come a bit sooner, but it is finally here: Hotwire! Rails is more relevant than ever, and it is here to stay. Period.

Hotwire: Single page Apps on the backend

Rails strongest selling point was always productivity and the pace at which programmers could build with it. Developers using Rails have always been able to build faster compared to others using any other framework on the market. Unfortunately with ever increasing pressure coming from JavaScript tools and everybody wanting single page applications you could not help but wonder about its ability to provide the best possible user experience.

Hotwire finally gives us the answers to these hot-burning questions:

  1. Can you provide a smooth user experience and advanced interactions, while staying on the same page in your browser?

  2. Doing so can you utilize Rails only, and rely on backend rendering?

    and finally

  3. Can you build mobile friendly apps?

Yes, yes and yes!

Enter the world of Hotwire: a brave new world of HTML over the wire. In the team's own words:

"It is an alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire".

If this does not tell you much, let's say Hotwire consists of 3 main parts: Turbo, Stimulus and Strada. A trio of answers to the 3 questions asked above:

  • Turbo is technology enabling smooth interactions and speedy page updates.
  • Stimulus is a minimal JavaScript framework enabling you to add client-side enhancements to your website.
  • Strada bridges the gap between Rails backend applications and mobile apps: e.g. iOS and Android(although it has yet to be published).

Turbostrapping(as I love to call it)

Not only does Rails finally have answers to these hot topics, there's even more for myself; it was a pivot point. I went one step further and completely reshaped my offering. From now on I will be focusing on helping businesses and entrepreneurs bring their ideas into reality. That is why I completely revamped my offering: I promise I will deliver you a minimal viable product within only 3 weeks.

That's right, you heard it correctly. It will take me only 3 weeks to build the first fully functioning version of your new SaaS business. Here are the 3 main reasons why would you want to use my service:

  • It saves you money: Rather than building it forever and continually getting charged for it, plan and budget accordingly, ahead of time.
  • It increases your chances of succeeding: Your idea is either gonna work or not. Don't you want to find it sooner rather than later? Then try something different if it did not work
  • It protects your investment: You can count on me and my ability to help you down the road. Even more that that, you can stay assured it is built up to highest norms using standard Rails only. It will be a quality product that you can easily keep running, maintaining and scaling...

Hotwire: look to the bright future

Rails is here to stay and Hotwire is the same way. It is becoming an official part of Rails 7.0 and default way of doing things in Rails. It has already been used in production for some time by the Rails folks for their HEY email client. So it is more than stable and production ready.

Not only does it solve Rails only problems, but it helps with a kind of crisis that is shaking the web development landscape in recent years. No more lemons and hot messes of codebases full of client side JavaScript spaghetti. You can build nice working monoliths with Rails alone, which are on a par with their JS counterparts when it comes to functionality and user friendliness. During my career I had been honoured to work on all kind of things, and it almost never looked pretty. More often than not I saw these primarily JavaScript client-centric apps fail miserably. Analyzing it all is beyond the scope of this article, but that trend should tell you something.

In my next article I will tell you about the secrets that will make your Rails app a breeze to run, maintain and scale. It mostly comes down to conventions and paradigms within Rails itself. Being disciplined about these will guarantee the reliability of your app and give you a stress-free life.