Ruby On Rails Mobile Applications
Native Mobile Applications with Ruby on Rails
The Technology Stack
Traditionally Native Mobile Applications (that is the apps that launch on your mobile phone) have been built using the native programming languages of the proprietors - that means different programming languages for Apple and Android devices. Of course this means writing your application twice. twice the big fixing, twice the development cost, and twice the overhead.
Recently front end frameworks have been developed that be compiled into the required format for each platform, meaning that you can write you code once, compile it to the versions needed, and then deploy to each platform. A better solution. The drawback here has been not all features being covered - each platform has a bunch of cool things you can do due to the built-in hardware of the phone. This is a past problem though, with most now covered (depending on what tool set you use).
The last piece of ‘double work’ that has infuriated developers and owners has been that if you also wanted to deploy a web based version for people on a desktop (or on their phone using a browser) this meant writing the application a third time. No one wants to do that!
The solution is to write a backend in a common back end language (like Ruby on Rails) that can also render the UI for browsers. You then us thar backend and database to connect to your native mobile front end (such as React Native) which renders the mobile app view and takes care of the cool phone features. Essentially one app to take care of three platforms.
The Benefits
The great thing about this is you want to adjust an algorithm - just do it once in the Rails app and it is available to all platforms at the same time. Want to connect a new API service? Connect it to the Rails application and it is now available globally.
Developers love working in Rails because it simplifies a lot of work for them - that means faster development time for you as a product owner, and more certainty on the quality control as well.
If you can push as much of the work to the areas that the developers prefer you will inevitably end up with something that you users will appreciate more.
Centralise your development process, and make deployments as basic as you can (which also means that roll-backs are are also simple). And be responsive to your users requests. Traditional mobile app deployments (especially for one of the platforms) is an involved process that can leave your users with a known bug until their is external approval and deployment.
This process would not have been possible a few years back (at least not in a smooth way that took advantage of the features available) and would have been a compromise. That is no longer the case, and, in fact, is probably the preferred method now.
reinteractive Management of this Pipeline
The process we take at reinteractive is this:
- thoroughly workshop the full mobile and desktop UX in an in depth process over weeks of work
- understand the third party connections and how they will be used
- fully scope the MVP
- in tandem, develop the UI, Rails and React Native code.
- beta test the MVP version with key stake holders using test apps
- Deploy the MVP to the full user group
Following a successful launch you can then start to survey and understand what the next iterations should look like. Continue to handle any bugs that have come up with fast deployment cycles while scoping the next phase of work.
This is extremely successful as a process. As a note, for the MVP it can also be suggested that the Native Mobile app version (and therefore the entire React native development line) be left to a later iteration of work. Develop and test solely for browsers first, see what the users like and dislike before developing you native app. This ultimately saves time and money if it is an option for your business model.
Ruby on Rails Mobile Applications
User Check-in and tracking:
- Protecting the Community: Covid Comply an industry leader for contact tracing apps, COVID Comply helps companies maintain COVID-19 compliance when reopening by managing contact tracing for customers and staff.
Ecommerce:
- Automotive Part Sales: Sterling Parts came to reinteractive to modernise their online presence and develop a custom eCommerce app for the automotive parts space.
Not for Profit:
- Pet Adoption: reinteractive improved system speed and reliability with a full migration to our 24/7 OpsCare® and CodeCare® hosting and maintenance services, achieving PetRescue’s target of regular 100% uptime of their site
Event Management:
- Multi-Venue Events Scheduling: reinteractive created a bespoke Artist & Venue Registration system for the Adelaide Fringe Festival, the largest open access arts festival in the Southern Hemisphere.