How to Choose A Cross-Platform Mobile Development Tool
Today when you develop a mobile application, more than likely, you need to develop for at least two platforms (IOS and Android). Some companies have the luxury of having the development resources that can develop for both platforms using the native tools (i.e.: Objective-C/Swift and Java/Kotlin). For the ones that don’t, there are many cross-platform development tools out there. Here are just a few of the most popular ones:
(Note: This is not a complete list, there are a lot more options.)
The question now is, how do you choose the right one?
There are several categories you can look at that may help in your decision. We'll cover some of the key categories we use. For each category, we provide a ranking of high, medium and low. High means it exceeds in that particular category. Low means you need to determine how important that category is to the success to your development project.
Let’s take a look.
Who is using it?
As new tools come onto the market, the concern is how viable they are and are companies developing solutions with it. The more companies using the development platform, the better the chance that the tool will be around for a while.
High:
- React Native
Medium:
- Flutter
- Ionic
- Cordova
- PhoneGap
- Xamarin
Low:
- Native Script
Does it support the native features you need?
How many native features do you need to use in your application? Are the native features critical to the success of your application? Some applications just need to display data and give users simple entry forms. Others need to expose access to native features on the device, such as, GPS, Camera, AR, Storage, etc.
High:
- Xamarin
- Native Script
Medium:
- Flutter
- React Native
Low:
- Ionic
- Cordova
- PhoneGap
How well does it perform?
This is a tricky category because it depends on which features you are using and how you develop with the tool. The key is to learn the strengths and limitations of the tool. Not every tool is perfect for every job, so the more you know about it the better your decision will be.
High:
- Flutter
- Native Script
- React Native
- Xamarin.IOS/Android
Medium:
- Xamarin Forms
Low:
- Ionic
- Cordova
- PhoneGap
How are the platforms’ ecosystems?
A platform may not expose all the features you need out of the box, but the development community may be providing add-ons. The larger the ecosystem, the greater the chance the missing features can easily be found, and you would not have to develop it yourself.
High:
- Ionic
- Cordova
- PhoneGap
Medium:
- Flutter
- React Native
Low:
- Native Script
- Xamarin
Price?
Most of the solutions I’ve covered so far are open source. But some have a community edition with a paid edition. Others provide some helpful services that can cut down on your development time. (In this category, high means it’s free.)
High:
- React Native
- Flutter
- Cordova
- Native Script
Medium:
- Ionic
- PhoneGap
Low:
- Xamarin
Who’s backing the development?
Who is developing the product? The bigger the company the more likely it will be around for a while. In this category, high means (Google, Facebook, Microsoft).
High:
- Xamarin
- Flutter
- React Native
Medium:
- PhoneGap
- Native Script
- Cordova
Low:
- Ionic
If we had a crystal ball, we’d be able to tell you how these products and categories would hold up for the next five years. But the technology in the mobile market is changing so rapidly that it’s sometimes hard to determine who the key players will be in the future. One tool to keep an eye on is Flutter from Google. It has a lot of buzz even as version 1 is not officially released yet.
The key to any successful decision is researching and prototyping. As the saying goes, “try before you buy.”