Cross platform app development is the future, but for some apps, it may not be. With the hardware improvement of recent years, cross-platform apps perform almost similar to native. Let’s look at flutter the new and fresh framework from Google which performs 60FPS. Which is a smooth experience for the human eye. You really can’t distinguish cross-platform apps from native apps these days, unless you are really nerdy about this stuff.
Nowadays, Native apps perform similar or slightly better than cross-platform apps in most cases. But that performance gap is very little because of recent hardware improvement. If you have the budget and time then go for native.
Indeed the Cross-platforms app market is growing rapidly. And most of the business doesn’t need native app development. If you have two codebases for mostly similar apps in two app stores then you will be in a bad position, which is expensive for a lot of companies to maintain two separate apps.
Mostly similar apps mean the same UI for both platforms but different codebases different platforms. That will increase both cost-plus headaches for you if you don’t have a team.
Let’s answer the big question! (Take this as a pinch of salt)
When you should go native?
If you are developing an app that heavily relies on native hardware features like AR, Camera or you want to build a keyboard app or a launcher app for android then you should go native, always.
When should you use a cross platform solution?
With some market experience, I have concluded that most of the apps don’t need native features, they either fetch data from the API or uses the camera for just taking a photo(which is too easy with flutter) or Bluetooth or wifi features and some location-specific features.
At the end of the day, like any other thing in our life, it depends on our needs. Don’t go over, don’t go under, stay in balance.
Check out this article if you are thinking about a framework or solution.
Disclaimer: You can consider this as a biased review because I am a flutter developer myself.