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:

  1. Cordova
  2. PhoneGap
  3. Ionic
  4. Native Script
  5. React Native
  6. Flutter
  7. Xamarin

(Note: This is not a complete list, there are lot more options.  To keep this blog short, I’ve decided to focus on the ones I feel are the most popular, at this time.)

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.  In this blog, I will cover some of the key categories I use. For each category, I 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 I had a crystal ball, I’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.”

Share this: