guys, Since last few week, I am figuring out which...
# kotlin-native
b
guys, Since last few week, I am figuring out which the best cross-platform app development tool among Flutter and Kotlin/Native?
a
Depends on what you want to do. Here's my personal take: https://medium.com/@anaredmond/cross-platform-game-1-of-afbb8b16c3f7
👍 1
s
Kotlin/Native allows you to share code between platforms. The sharing is limited to non-platform specific use cases such as business logic. Multi-platform projects help extend that out some but you need to write platform implementations for classes that use platform specific APIs. Flutter on the other hand is a completely self contained environment. It is neither native to android nor ios. It is its own thing and will never feel totally at home on either platform but may be close enough depending on requirements.
💯 1
b
yup @Sam, my main concern is that, with Kotlin/Native we need to build things for both. So, It almost around double work except business logic.
r
Depending on your goal, that may be a good thing. Kotlin is all about leveraging the existing platform ecosystem, so you can share the things it makes sense to share (eg business logic, architecture) without sacrificing the ability to build a familiar native UI using all the existing platform tools.
👍 5
b
yeah, right.
t
@bipin platform support (ios+js+android) is slowly evolving, but UI (and actually much more) work is still required for multiplatform
b
yeah @thevery, Actually I am just developing video merger prototype app. Where i need to develop video picker in both Android/iOS and also find out video merge lib for each platform separately. So, that thing needs same effort as like develop native app. Also sometime I stuck in some weird errors. So need to check each time after adding new lib in common. Though, I think its in early stage.
g
If you write such type of app (that works with video), you have all the problems with any crossplatform framework, because encoding is platform specific thing and the only way to make it relatively platform independent it is to use something like ffmpeg
👍 1
Flutter or react native make sense if you want to share a lot of UI, but cannot magically solve problem of platform dependant APIs
👍 2
s
Flutter is far less mature than react-native. Both can have performance problems, especially Flutter. The Dart ecosystem is also very immature. It turns out very few people use Dart outside of Google, and it's number of actively maintained OSS libraries are very few. When you use Dart, it becomes pretty clear why adoption has been scarce. async / await really shine in the language, but there are a lot of things you'd expect to be there, that just aren't. I'd stay away from Flutter if I was you. If you need cross platform now, I'd look into react-native if your UI's are simple. In the future I'd keep up with Kotlin/native as it has the potential for a relatively low down-side cross-platform approach.
👍 2