I started my professional career with Java (Spring Boot) and Angular. I will never forget the first story I had to implement: the creation of a poker room, an HTML form with a title and name. What I didn’t know was that I was not just submitting this form to the Spring Boot backend. Instead, the creation was done with the help of NgRx. So first, I had to learn about the Redux pattern to then fire an action, which triggered an effect that then made the request. In a short amount of time, I learned all this stuff and really started to like Angular — especially working with streams (RxJS). During my career, I worked with all major frontend frameworks, and I actually enjoy working with them.
During my master’s thesis on Cloud-Native Development, the realization grew inside me that we are actually building apps the wrong way. Adhering to the 12- or even 15-Factor App principles meant so much complexity — and for what? To work with a team of 20 people on a distributed system, aka microservices?
That was also the time when I started looking into Ruby on Rails and Laravel, and I was amazed at how fast I could actually build and ship a majestic monolith, especially with technologies like Inertia, which allowed me to build a classical monolith while still using React or Vue on the frontend.
My only problem was PHP. I know it has gotten much better, and I’m not here to mock PHP — but I personally really dislike all the line noise and quirks with $ signs and -> for method invocation.
So I looked into Rails and read a lot of what DHH has posted over the years — and it really resonated with me. Ruby and Ruby on Rails code read like a haiku. I wanted to do more of that.
I read the Pickaxe Book and also Object-Oriented Ruby, which is a great book btw, even for non-Rubyists and started coding more side projects in Rails.
At first, I tried Hotwire, but I really think a view written with Vue or Svelte just feels much better than one written with an ERB template. And Inertia exists as well, so where’s the problem?
Well, for some reason, it’s not gaining traction in that community. All of it is based on the vite_ruby gem, which is developed by a single person and doesn’t really seem popular (~1.5k stars) in that ecosystem. Together with the push to no build and hotwire it really feels like using the wrong tool. Compare that to the first-class support for Vite and Inertia in the Laravel community.
Even though I really enjoy writing Ruby code, this stops me from going that route for serious, money-making projects and I use Laravel instead, because the first-class support for Inertia and JS frameworks there is just unparalleled.