4 ms·
Ask HN: Flutter or React Native or Kotlin Native, Which One?
Hello Engineers,
What should I use for developing my mobile app, Flutter, React Native or Kotlin Native?
Thank you!
- kevsim 6y agoA 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?
- _448 6y ago> 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.
- tarun_anand 6y agoMy 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.
- yagodragon 6y agoDepends 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.
- blumomo 6y agoI’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.
- jamil7 6y agoI 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.
- _448 6y ago> 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?
- jamil7 6y ago> 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.
- la_fayette 6y agoI 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...