How to Convert a Ruby on Rails Web App to Mobile Apps with MobiLoud
Let's look at the process to turn your Rails app into iOS and Android apps with MobiLoud.
- First, book a free consultation to discuss your project, your needs, and learn more about the process.
- Sign up for a MobiLoud plan. Plans require no long-term commitments, come with a 60 day money-back guarantee, and start from just a few hundred per month.
- After discussing what you want from your app, our team will do all the heavy lifting to bring your Rails app to life as mobile apps, including all coding, tweaking your UI for the apps and testing to ensure the apps are fast and bug-free.
- We ship the final build, we submit your app to the Apple and Google Play app stores, taking care of 100% of the submission process (which is notoriously complicated for first-time app publishers).
- Once your app is live and in the app stores, we'll handle all updates, tweaks, bugfixes and maintenance for your mobile apps as long as your MobiLoud subscription is active, helping you keep delivering a modern and professional UX to your users.
That’s how simple it is to convert a Ruby on Rails web app to mobile apps with MobiLoud.
Converting a Ruby on Rails App to Mobile Apps
Ruby on Rails is a wonderful programming language. Beloved by start-ups the world over, Rails simplifies and streamlines repetitive tasks to make website and app development far more efficient.
That said, Ruby on Rails is a server-side language. It has little in common with the technologies and operating systems that power iOS and Android mobile devices. There is no way to directly translate what you have built with Rails on the web, into native mobile apps.
Don’t despair though – there are great solutions. All come with their own trade-offs though, and it’s up to you to decide which fits your business.
We’re going to be making the case that our platform MobiLoud is the best way to convert a Rails app to mobile apps.
With MobiLoud, you will actually convert your Ruby on Rails app into mobile apps.
Many other solutions you'll see for building mobile apps with Ruby on Rails involve rebuilding it (or at least partially rebuilding) with a new language or framework.
MobiLoud lets you keep all your existing features, your existing code, and launch your app as mobile apps in just a few weeks.
You’ll have integrated all the features and functionality of your existing platform, and applied it through a new channel.
Other Approaches to Rails Mobile App Development
To go from a Ruby on Rails web app to a mobile app, you can also rebuild the web application’s front end from scratch as native mobile applications.
This is the way most people will tell you to convert your Rails app into mobile apps.
You'd either utilize native mobile languages (like Swift and Kotlin) or a cross-platform framework (like React Native) to build your mobile apps, and integrate the backend with your Rails code.
We don't advise you to go this way, as it brings a ton of cost and complexity, for minimal gains.
But so you understand what it takes, here's a closer look at how to rebuild your Rails app as native mobile apps.
Rebuilding Natively
To rebuild your Rails web app natively you’d turn your Rails web app into an API, then rebuild the front-end of the apps from scratch to recreate the features and functionality of your web platform. You’d probably need at least two developers on this.
There are two main routes.
Native, native
The first is the traditional way with separate teams working on building the iOS and Android apps, using the languages native to the platforms – Swift and Objective-C for iOS, Java and Kotlin for Android. This is the most labor intensive and challenging route, but can give you the most control over the final result.
Depending on the complexity of your web app – they’ll likely be working on the project for months. The project could easily run up a tab of $50,000+ to get first versions ready for both platforms.
Cross-platform native
The work can be simplified by using a cross-platform framework like React Native, Flutter or Xamarin. The advantages of this route are that you only need to build once for both platforms, it cuts down on developer labor and allows you to move faster in general.
This is the route that Airbnb took. Airbnb use Ruby on Rails as a significant part of their stack, and chose React native to build iOS and Android apps.
While Airbnb have since moved away from React Native, this was the original route they took to convert their Rails app to mobile apps. This simplified the work substantially compared to pure native development, but it was not without significant challenges.
Writing in Software Engineering Daily, Adam Conrad makes the point that even though React Native is more efficient than pure native development:
“It is not trivial to get up and running, particularly if you have an existing codebase. Expect to invest a substantial amount of time and energy to integrating React Native into your existing mobile codebase”
Airbnb are a huge company, and had dozens of highly-skilled mobile engineers dedicated to the apps. They still ran into roadblocks and bugs that were difficult to fix. Conrad highlights the fact that it’s never ending work, and it takes significant effort and continuous investment to stay on top of things:
If Airbnb can run into landmines that turn seemingly simple tasks into weeks-long bug hunts, expect you will, too…… like all open source software, the platform is ever-changing with new bugs and issues discovered daily. Expect to make continuous investments to support the volatile landscape of the React Native ecosystem.
Of course, Airbnb deal with a scale and complexity that you (probably) do not. But they also are a massive company with resources and technical talent on another scale to the average medium sized business or start-up – so it balances out.
The bottom line is that cross-platform frameworks can certainly streamline things, but are not a panacea. You’re still rebuilding, still maintaining – and still investing in a demanding project.
Native Ruby on Rails Apps: In Summary
The advantages of the native route are:
- Better performance (in theory)
- The possibility of native-only features that go beyond your rails web app like using the accelerometer and facial recognition
Native development is often the best choice for start-ups that are well funded/technically skilled, and want to be “app-first” with native apps as their primary codebase and a relatively small web presence. It also could be best for businesses that can easily afford to throw six-figures plus at the project and have the resources to maintain separate platforms for the web, iOS and Android.
The downsides of native development – it’s technically challenging, time-consuming, and will require a lot of financial investment and project management bandwidth.
There is the possibility of simplifying things by using React Native and other efficient frameworks to build the apps. That will not change the fundamental downsides though: expense, time, and if you already have a web app – duplication of effort.
Native = Rebuilding
In the case of converting a Ruby on Rails app to mobile apps, the most annoying thing about the native route is the waste. All the work you have already done on the code side is unusable, so everything needs to be built again.
As we’ll see shortly though, Airbnb didn’t take the only option available. Many other well-known tech companies took the more efficient route and built Hybrid mobile apps instead.
Native Rails Apps vs Hybrid Apps
MobiLoud's approach is to turn your Rails app into hybrid mobile apps.
Hybrid mobile applications combine native and web elements to build mobile apps. From the user's point of view, it's no different from a native mobile app. But the difference is that most of the functionality comes from the same code as your website.
With hybrid apps, there’s no “rebuilding” as such, because the mobile apps are your web app. If you are happy with mobile apps that have essentially the same features and functionality as your site – then hybrid is undoubtedly the way to go.
The only reason you would not go with a hybrid app is if you want features that go above and beyond your web app and can only be achieved through the native APIs.
How Basecamp Found the Hybrid “sweet spot” for their Ruby on Rails App
David Heinemeier Hansson (DHH) is the creator of Ruby on Rails and also CTO at Basecamp, a popular project management and communication tool built with Ruby on Rails. In fact, Ruby on Rails was extracted from DHH’s work on Basecamp.
In 2012 DHH and the Basecamp team started work on building mobile apps. If anyone would know how to convert a Ruby on Rails web app to mobile apps it would be them, right?
In 2014 DHH published a piece about the decisions they made titled Hybrid sweet spot: Native navigation, web content. In the article he explains that the initial idea was to go “native everything” because of outdated ideas about hybrid speed and performance at the time.
“The decision was likely driven by what the state of the art in HTML and on mobile looked like circa 2010-2011. In early 2010, people were rocking either the iPhone 3GS or 3G. By modern 2014 standards, these phones are desperately slow. Hence, any architectural decisions based in the speed of those phones are horribly outdated”
If this idea of hybrid “slowness” was outdated by 2014 – think of how outdated it is now with the progress that has been made in mobile web technology in the intervening years. The Basecamp team went on to implement both native and hybrid versions of the apps and compared the two.
The Basecamp team soon realized that there was no “discernible difference” between the two – except for the fact that the hybrid version was developed much faster.
Although Basecamp have changed their mobile app architecture in new versions since (it’s still hybrid), the original first generation was:
“A thin wrapper of native navigation around essentially a webview core. This webview is powered by the regular Basecamp Rails application, with only a few stylistic differences from our normal mobile web view”
Sounds just like a website in a box right? A well-made hybrid app is more than that – and provided all the key benefits of native mobile apps for Basecamp. As DHH put it:
“The difference is still profound. Having a native shell makes the feel of the mobile web site very different indeed. It let’s people find the app via the App Store, and their login persists forever (rather than the frequent cookie losses you seem to get on mobile Safari). Users have loved it. The app has a 4/5-star rating”
The key advantage of hybrid app development that he outlines in the article is the same one that we have been pushing so far – ease and convenience. The difference in efficiency is just huge.
“Since we already had a wonderful mobile web site that could be repurposed, the effort was easily manageable. Something that could not have been said if we were trying to build all of the Basecamp functionality natively, from scratch. A team of 10 probably wouldn’t have been enough, even if they had worked for 18 months. We were simply orders of magnitude more productive by using the web and HTML as our main runtime for the native app”
This is what the first generation of Rails mobile apps that Basecamp built looked like.
The Basecamp apps went through several iterations since, but stayed true to the hybrid model while improving the UX with more native elements.
Another key advantage of hybrid apps comes after the initial development and launch – they are much easier to maintain and update compared to native apps. DHH also notes in the piece that the hybrid approach makes both the rollout of new features and fixes far easier, and manageable for a small team.
As the apps will update automatically with any changes you make to your site – it allows you to do a lot more with your team’s existing Ruby on Rails web skills. Maintaining the apps becomes similar to the maintenance work you already do for the web.
Any Rails app can take the same path and be used as the basis for excellent hybrid apps. It worked for Basecamp – as well as Quora, Amazon, LinkedIn and countless others. It’ll work well for you too – with a little help.
Why You Should Convert Your Ruby on Rails App to Mobile Apps with MobiLoud
MobiLoud is our platform for converting any website or web app into hybrid iOS and Android apps. It’s not just a platform or tool, MobiLoud is a service. We build, test, submit and publish the apps for you – then handle all ongoing updates and maintenance. It works great for building Rails mobile apps too.
Converting your Ruby on Rails app to mobile apps with MobiLoud is for you if:
- You want to build Ruby on Rails mobile apps the hybrid way
- You want a proven platform that guarantees a solid result
- You want to minimize effort and have all the work done for you
- You want to move fast and go live in a few weeks
- You want to take the least risky route to the App Stores
Easy and Cost-Effective Management
The biggest issue we see with rebuilding your app natively is that you have two codebases to manage.
That means twice the work whenever you want to make a change or ship a new feature. Twice the development team. Twice the time, twice the cost.
(Make that three if you want to have native iOS and Android apps)
With MobiLoud, it's so much easier.
Your apps update automatically with changes or new features that you build into your Rails web app, so you can keep managing everything through one codebase and don’t need to add to your team’s workflow.
For app-specific maintenance, our team handles it as part of our license. This typically costs businesses with native apps five-figures annually, but you won’t have to worry about it at all.
If you want to change the configuration, send push notifications, or style elements of the app with custom CSS – you’ll just use our simple dashboard.
There couldn’t be an easier way to manage mobile apps!
Simple Process for High-Quality Apps
As we saw earlier, hybrid apps need to be built well to succeed. Although they are far easier to develop than native apps – there’s still work and risk involved. It would take time, skill and money to strike the right balance if you tried to build the native components yourself and configure everything to run optimally for a great user experience.
MobiLoud eliminates both the work, and the risk – while guaranteeing a great result.
When you sign up, you’ll have a meeting with one of our team to go over your ideas and requirements for the Rails mobile apps. From there onwards all you really need to do is some simple configurations – our team and platform handle the rest until the apps are ready to publish. You can launch in a few weeks, and you’ll have been free to focus on your core business throughout that time.
MobiLoud also eliminates the risk that you’ll invest time and money into a project that drags on and isn’t worth it. Over 2000 successful apps have been built on our platform (see some examples here), so you know what you’re getting. We also don’t do long-term contracts, and will refund you 100% within 60-days if you aren’t happy for whatever reason.
What Will Your MobiLoud App Be Like?
Your MobiLoud apps will have all the features and functionality of your Ruby on Rails web app. You won’t have to sacrifice anything that you currently love about your web platform. Just like Basecamp did – you’ll recreate your Rails app as mobile apps with all the necessary native bits added.
MobiLoud adds a native tab bar, menus, and navigation to your app – crucial for a great UX.
As you can see from the image above – MobiLoud creates the “native navigation, web content” effect that David Heinemeier Hansson found was the best way to convert a Ruby on Rails app to mobile apps. It is your Rails app – within a native app – but from your users perspective its a functional and modern app on their iOS or Android device.
MobiLoud also adds all the other features you need to succeed with your Rails mobile apps, for example:
- Unlimited push notifications on iOS and Android, through our integration with OneSignal
- Push preferences, so your users can choose which notifications they want to receive
- App analytics, through GA or Firebase to help understand your users
- Custom splash screens and loading indicators for a native look and feel
- Automatic ratings prompts to help with App Store Optimization
Book a free consultation for a full run-down of MobiLoud features and to learn exactly how you can launch your own Ruby on Rails mobile app.
Start Building Rails Mobile Apps today!
We’ve covered a lot of ground in this article. We’ve looked at why converting a Ruby on Rails app to mobile apps was traditionally difficult, and why hybrid development beats native in this context.
We went on to show you how you can build Rails mobile apps with MobiLoud – saving months of work and tens of thousands of dollars in the process while guaranteeing a good result.
Hopefully, you’re ready to get started and launch on the App Store and Google Play. If you think MobiLoud is right for you – all you need to do is give us a call and find out.
We’ll go over the whole process, and you’ll come away knowing for sure whether MobiLoud is the solution for your business.
Let’s get started – book a free demo today!