nostr:npub1yaul8k059377u9lsu67de7y637w4jtgeuwcmh5n7788l6xnlnrgs3tvjmf nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft Why React Native over other tools like Kotlin Multiplatform Mobile or Flutter? I’ve heard that some people hate React Native, though I suppose that would be true of any tool.
As a solo Nostr developer, it’s becoming hard for me to justify continuing to develop Comingle using native frameworks. I’m normally a proponent for native frameworks for the look and feel, but that can arguably scale well only with a team of developers, which I don’t have. I shipped the iOS app (backed by Nostr SDK for Apple Platforms) a couple months ago, but it’s very difficult for me to spend time to write a duplicate version in Android and Web, especially with the limited amount of time I have as is. Olas by nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft makes a compelling case for using React Native / NDK Mobile to ship fast — it’s slick and performs reasonably well in the brief time I’ve spent with it. I’m going to play around with NDK Mobile to see how far I can get with it.
Discussion
There’s nothing wrong with Kotlin Multiplatform or Flutter. I’ve used the former a bit, haven’t used the latter. Each have their own tradeoffs. I personally love Kotlin.
One main selling point for React Native is that there’s NDK support, which has arguably the largest developer community supporting and using it on multiple platforms. It’s been battle tested.
There is a Kotlin Nostr library - Quartz by nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z (lives inside the Amethyst repo), though I haven’t used it personally and I’m not sure if it supports Kotlin Multiplatform or not.
Not yet. But I want to restructure it to a KMP lib
nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z that would be really cool; seems like it would encourage more KMP/KMM development.
Ah, yes, good NDK support seems like an excellent reason to choose it over others. I wonder how challenging it might be to take Quartz — maybe in a fork of Amethyst — and wrap it up in a KMP package/framework so it could be used from a KMM app. Not that I really know anything about that — just thinking out loud.