Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Flutter or React Native or Kotlin Native, Which One?
7 points by _448 14 days ago | hide | past | favorite | 9 comments
Hello Engineers,

What should I use for developing my mobile app, Flutter, React Native or Kotlin Native?

Thank you!




Depends on what you want to do. The biggest advantage with native languages like kotlin or Swift is that you can leverage the platform APIs and implement interesting features.

That being said, recently I used flutter for a small ~5KLOC project and I was impressed. It was the most fun and productive experience I had in years. The tooling is amazing.

If your app isn't really using any platform specific functionality, give it a try.


My answer is to go with native apps.

We run an app analytics business and see that companies betting on cross platform are always struggling and they are one step behind on the native platforms.

Long answer short - go with native. If cost is a concern pick a single platform

In Asia that choice is Android. US or Europe might pick iOS.


I’m betting on Ionic/Capacitor. Using web technologies my development speed is higher than building a native app for a single native platform. Of course the choice heavily depends on your use case. I wouldn’t use Ionic for a 3D animations game.


I always encourage native. I think it basically depends what you need to build, the cross platform toolkits can work well for pushing out a mobile client for an existing service or if you just need a presence in the respective stores. Keep in mind not everything is easier / faster with cross platform, some things can be a lot more painful, especially if you want to take advantage of platform specific features or hardware. Also Kotlin Native / Multiplatform is great, I'm a convert. It's not really comparable to the others however since the focus is on building shared libraries and frameworks, you still need to bring your own UI.

> It's not really comparable to the others however since the focus is on building shared libraries and frameworks, you still need to bring your own UI.

So it will be Kotlin for business logic and Flutter for UI?


> So it will be Kotlin for business logic and Flutter for UI?

It is possible, I've heard of it being done by others but I don't have a huge amount of experience with Flutter and last time I looked interop was a bit tedious in Flutter. I'm also not sure if you would gain all that much from using Kotlin in that case, rather keep everything in Dart / Flutter?

In the case of the last contracting job I did I used native UI frameworks from Android and iOS with a shared Kotlin framework doing business logic.

Depending on your use case and experience (and if you have time for it) I'd encourage building some small tests or proof of concepts in each option and evaluate.


I can only recommend to go with web-technologies. Mobile Browsers like Chrome or Safari are awesomely fast and also low on ressource consumption, compared to e.g. React Native. The advantage with web-technology is that you have also a desktop variant of your app.

UI libraries like Ionic give you many great components out of the box. Ionic is also highly optimized on performance. Just try an Ionic app with an old smartphone to get an idea...

I tried Flutter and the performance and appearance of the UI is awesome but using Dart was not a pleasant experience for me...


A while back I asked a similar question. Basically I said “I need to go with RN or Flutter because I don’t have budget to hire both an iOS and Android engineer”. I was challenged by another HNer asking if I was confident that building apps with cross platform toolkits is actually cheaper.

I’ve been thinking about that a lot and still don’t have any conclusion but I’d love some tales from people that have made the switch from RN/Flutter to native or vice versa.

So I guess my question to you is why are you certain you want one of these technologies instead of building natively for the two platforms?


> building natively for the two platforms?

Because I am solo-dev. Would like to reuse as much of my code as possible on both platforms.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: