This article was based off an interview with Jonathan Clark, expert in IoT, one of the inventors of the PDF and CTO of ADK Group
If you're looking to run your app on both Android and iOS, modernize an old app, or build an entirely new app it's likely you should be looking for an experienced React Native team.
For years, ADK Group has been building mobile applications for organizations like Massachusetts General Hospital, Firefly Health, ALKU, Brigham and Women's Health, OnTrac, and more. Our partners and their customers rely on these apps to make life easier, business more efficient, and people healthier and happier - often at massive scale.
Something all of these applications have in common is invisible to most people - the codebase. Every one of these apps is built using React Native.
We're a React Native app development company because it’s a standard that saves our customers time and money. But not at the expense of performance. It lets us deliver fast, engaging, and delightful experiences to our partners' users no matter what platform they're using.
This article will answer the following as it applies to mobile app development:
But if you want the quick and dirty summary: The language used to build your mobile application has profound implications for how expensive and difficult it is to build and maintain. Based on decades of experience, we've found that React Native is the best option for our partners who want extensibility, performance, and affordability.
Like any product, the process you use to build it defines many of its characteristics.
The code your app is built on should be considered an existential question to your company. Code choice ultimately impacts how much it costs to build your application, how your app can be used, and how much it costs to maintain, debug, and update your app.
It also affects who can use your app: if you’re building in Swift only then you’re excluding Android apps (unless you duplicate the work in an Android framework, of course).
Because of that the ideal characteristics a programming platform should have are:
Your development platform of choice should have broad endorsement. It should be widely used by developers, so that you have flexibility for finding a great development team (nudge, nudge).
When looking for a development team, you'll likely run into agencies specializing in a specific codebase. They may be attractive at the time, but consider the risks of building your product on a codebase with limited adoption. You may end up locked into a relationship because of a priority language or struggle to find a replacement for your partner should you outgrow them.
Imagine you’ve jumpstarted your custom app with an agency picked for its low prices. But it works on a bleeding edge code platform, like Go. It holds lots of promise - and we’re certainly not enemies of innovation - but it is more risky.
You may outgrow the initial agency and need to hire a bigger one or build your own team - so you need to find experts in a relatively niche or nascent market. That means higher prices and an even longer time spent finding and vetting possible developers.
There’s less community support for technology on the bleeding edge. Major bugs haven’t been discovered yet (maybe you’ll find the first!) and when they are, it takes longer for the community to solve them.
In industries like ecommerce and mhealth, you may be handling sensitive information. Can you afford to build an app built on a codebase that is essentially a bleeding edge science experiment?
Which brings us to our next point.
When codebases mature and become more widely adopted they develop a natural groundswell of 3rd-party support. This community creates libraries that you can use to supercharge your next project, which makes it more attractive to future community members. This virtuous cycle is a network effect - the more developers using a codebase, the better it gets for everyone.
You want your mobile app to be built with a codebase that enjoys the network effect of a strong community. With it, you’ll never have to reinvent the wheel for standard features.
One of the things that makes Java such a powerful platform is its community.
There are billions of lines of 3rd party code. And all are actively supported.
To deliver great products:
Your app needs to be performant and bug-free. You want your app to be written in a language that allows other developers to onboard and start building, updating, maintaining, etc. as quickly as possible. You also want an app that is supported by the platforms your customer is using. If you're building a mobile app, your language should be usable by both Android and Apple users, which brings us to our next characteristic.
At a reasonable cost:
Let me start here with a quick story:
However, it only works on iOS.
Meaning if you wanted to reach the ~40% of US mobile phone owners using Android you'd need to rebuild your entire application using different code.
Better, then, to find a programming framework that is cross platform, so it works for as many of the top platforms as possible. React Native is an example of a framework like that.
That's part of what makes it extremely efficient: you can write once for multiple platforms and only have to manage one codebase.
For you, this means having one codebase also reduces your cost of ownership.
Your developers will have a single area to manage bug fixes, upgrades, and new builds. Less of your development resources will go towards repetitive tasks and more can be used on higher ROI opportunities.
The math here is simple.
Your ideal programming language should strike a balance between widespread adoption, recent advancements, and implicit endorsement from trusted sources.
If you’re looking for a heuristic it could be, "if it's good enough for MGH, SalesForce, or Tesla it's good enough for my company."
In other words, you want your app to be built on code that is leading edge, rather than bleeding edge.
We only use React Native when it's right for the goals of our partners. But because React Native effectively meets the above criteria, that's true for 99% of their projects.
React Native provides our partners with the highest ROI on their investment in ADK’s developers, technical leaders, and processes. It allows our React Native developers to write once for iOS, Android, and the web, fix bugs efficiently, and create code that lends itself exceptionally well to being handed off to internal teams if those resources become available.
It allows our experienced app developers to build apps like Firefly Health, Form Health, TradeHounds, and more that perform at scale, delight users, and withstand massive usage - all at an affordable and competitive cost for mobile development.
And it’s powerful enough to support the COVID-19 testing application, co-created with Massachusetts General Hospital.
Ultimately, building our software development team around React Native was a calculated bet - that paid off for us.
More importantly, when we combine our development process with the benefits of React Native, it pays off for our partners who need high-performing, engaging, and scalable cross-platform apps.
If your team is ready to build a custom application, whether it's multi platform or a mobile app, we urge you to consider experts in React Native development.