Comparing Flutter with Kotlin/Java could a little tricky, but we will do an effort for you.
Flutter is still in beta so it’s still very early to compare it with battle-tested Android APIs. The biggest selling point of Flutter is that you develop once and it runs on both Android and iOS.
Remove this and I’ll choose native Android over Flutter any day. Apart from the fact that you can still call Android/iOS APIs, building Flutter UIs is a bit more exhaustive than it is on Android.
Another issue is some features that Android supports seamlessly. For example, the project I am working on needs to integrate with Google Maps API and Webview. In Android both of these features are super easy to integrate and fully supported while on Flutter, the support is so sketchy or just doesn’t exist.
Like I said at the beginning, Flutter is still in beta and with little patches here and there, it’s gonna be better than it already is.
However, if you’re making Android-only apps, I’ll advice you go for native Android.
I think that Flutter as the result of years of lessons that have been learned on mobile app development, state management, app architecture, and so on, which is why it’s so similar to React.js. Doing things the Flutter way just makes sense once you get started.
Flutter is definitely a good option to make apps for Android and
Also published on Medium.