Cross-platform apps promise to deliver both Android and iOS native apps from one codebase, a two-for-one deal. If that sounds too good to be true, it’s because usually it is.
For a long time, cross-platform mobile development frameworks were pretty much a mirage. There were a lot of multi-platform mobile development contenders, but nothing that held up past the surface. We believe in constantly testing to find the best mobile tools for our clients. But after only a little bit of comparison testing, we could see all the so-called “best mobile app development platforms” didn’t have enough strengths to make up for their flaws.
Haven’t decided whether you need a native app yet? Check out our article on whether to build a mobile app vs. responsive design
Does cross-platform development really offer you two applications for the price of one? No. There are always going to be tweaks to make Android work like Android and iOS work like iOS. But after using React Native for more than a year, we’re confident that for certain cross-platform applications, it can save substantial time and money. Here are a few questions to decide whether cross-platform app development is right for you:
Do I need cross-platform apps?
Note that we’re not asking whether you need both an Android or iOS app. At this point, the available features are so close to equal that choosing a platform is no longer a technical question. Today, deciding between mobile development platforms is strictly a matter of whether you expect to have more users on iPhone or Android devices.
For any company that hopes to reach a range of consumers, the answer will almost always be that you need both Android and iOS apps. And that leaves you with two options: Build each app separately, using Java for Android and Swift for iOS, or build one cross-platform mobile solution.
If you’re not planning a mobile cross-platform strategy, we don’t recommend using cross-platform technology. Building an iPhone app in React Native with no plans for an Android app is only introducing potential points of failure, because there's an extra layer between the developer and the iOS platform. If you have decided you need to deploy your app to both platforms, here are three questions to determine whether cross-platform makes sense:
How can building cross-platform mobile apps support the rest of my digital strategy?
On the flip side, if you don’t have a responsive site or don’t have a site at all, React Native can create some very interesting multi-platform development opportunities. We’ve been exploring whether it’s possible to power a responsive site and Android and iOS apps with one React codebase. React web and React Native run on the same logic, so you could, theoretically at least, build a React base and tweak it for each platform. If it proves to be a workable solution, it means multi-platform development could deliver even more savings for companies starting from scratch.
What’s my timeline?
It’s rare for a company to launch both iOS and Android versions of a new app at the same time, so figure out how quickly you need the first and how much time will pass before you need the second. When we worked with Dickson, for example, they already had an iOS app, but knew it would need to be overhauled in the next year or so. That gave us an opportunity to use React Native for the Android app. We knew we could build, troubleshoot, perfect and launch in the Android framework before needing to develop an iOS version.
Conversely, if we had a client that needed an iOS app on a tight deadline, then an Android version sometime in the distant future, we might recommend building native. Swift, Apple’s native programming language, is one of the newest development languages. It's designed around proven patterns for turning ideas into simple, easy-to-read code, and so it’s very fast to develop in. If it was the other way around, and a client needed Android first and quickly, we might still consider React Native, because Java, Google’s native language, is older and presents its own challenges.
Altogether, a cross-platform solution will likely save you time versus building two native apps. Cross-platform solutions are still relatively new though. While we like React Native, there’s no guarantee it will reduce the total app-development time in every circumstance.
What’s my budget?
It’s an obvious question. In fact, it’s most clients’ first question when they’re putting together a mobile app strategy. But it’s not so straightforward. When you’re choosing a platform to build on, you don’t just need to take into account the cost of the project at hand. You also have to consider the total cost of ownership over time.
For example, it may cost less money in the short-term to build a cross-platform mobile app instead of two native apps — although again, whether or not this is true will depend on the specifics of your app. Over time though, Swift and Java developers are relatively easy to hire, and therefore slightly cheaper. Meanwhile, cross-platform mobile development, including React Native, is newer, so there are fewer skilled developers. It might take longer to hire, and it might be more expensive to pay the right person when you find them.
By the same token, keeping up one codebase can be easier. If you plan to make frequent changes to your app, mobile cross-platform development may save you in the long run, because you only need to update one set of code to see changes in both places.
So should I build a cross-platform mobile app?
As long as you can honestly answer the above questions without getting sold on the siren song of a deal, cross-platform mobile app development can be a great tool for any business looking to reach users on both iOS and Android. We’ve written about the risks of using a new tool like React Native before, but there’s also an opportunity to be ahead of the curve. At this point, much of the riskiness of React Native is wearing off as it continues to stick around and grow.
In the right circumstances, a cross-platform mobile framework can save a business time and money, both in the short term and the long term. If you want to know whether it makes sense for your needs, contact us.