Why I'm Learning Ruby on Rails in 2023

Mobile application development is a broad field. It has many frameworks, each rameworks have deep and broad technologies to explore as master. So, why learning Ruby on Rails in 2023?

There are actually two reasons why I'm learning Ruby on Rails in 2023. The first reason is to learn backend web development properly and the second one is the Turbo Native.

Learning Web Development

Learning some web development can never go wrong. Mobile might rule the world but the web will be there forever. You can build almost anything with the web, to reach everyone. Hey, the mobile user also use their browser.

I've always wanted to learn web development properly, to build products, to build SaaS, to become an indie hacker, becoming rich, you know like the mighty levelsio on Twitter. Yes, but actually, buildling a mobile app without any kind of website is difficult.

In the end, a mobile app will need a backend to help their operations. We need to build a landing page, an admin dashboard, collect user data (I mean related to the business not their personal private data of course), and connect them using some kind of API be it a REST or GraphQL, or anything.

You see, being able to build a website or a web api will benefit me as a mobile developer. I could just build the backend by my self for app without relying on our backend developer. Be a fullstack dev guys.

Turbo Native

If I want to just learn web development for building dashboard or API for my mobile app, I could just learn any other frameworks. There are Node.js with Express or PHP with Laravel, the most popular framework here in Indonesia. But I choose Rails, why? Because Turbo Native. I already know some Laravel btw, but just some basic knowledge.

Turbo Native is an extension of Hotwire (HTML Over the Wire). It's the next big thing for Rails. Hotwire is Rails solution to build dynamic apps without writing much JavaScript by sending out HTML files instead of JSON data. Turbo Native is a wrapper the Turbo web app (which is what behind Hotwire) inside a native shell. Well, it's WebView obviously, but why using WebView in 2023? We have React Native and Flutter now, why WebView.

Building a WebView app is not that interesting. It only shows a webpage inside an installed app on your phone. If we want to use a native feature, we have to build them and connect them using the WebView interface. Well, it's a pain. It's easy and fast to make the WebView works, but building the glue between the web and the native app would make me choose to build the full native app my self.

But Turbo Native is kind of different. It's using WebView, we controlled the page from Rails app (still need to prepare the native shell by hand), but the access to native feature could be done using Turbo Native, we don't have to wrote them manually. It's kind of similar to Ionic where we actually build using HTML & CSS, but have access to native feature via Capacitor without connecting the native with the JS code by ourselves. It's very promising, I mean look at the production app using Turbo Native at AppStore.

Context Travel
Basecamp
BeerMenus

Conclusion

By learning Ruby on Rails, I will not only learn backend development. I will not only learn how to build admin dashboard and API's, but I will also able to master a viable alternative for mobile apps in the future.

To be honest, I'm not familiar with Turbo Native yet at the moment, just hearing from the evangelist and other devs. But i'm sold to it. Being able to get new skill while staying true to my identity, a mobile app developer, yes Rails is the answer.

I'll get in touch with you later, when I'm finished my first Rails app.