Remix.run Logo
rvz 7 hours ago

So you want to review and maintain code in 3 separate languages?

Sounds like a complete waste of tokens with the worst case of just quickly building more technical debt, three times.

massel 7 hours ago | parent [-]

It's a lot nicer than having the same logic in 2 languages and trying to keep them in sync – whether doing it by hand or with an LLM.

One of the big rules is don't repeat yourself – much of the logic only needs to be written once (except UI)

mike_hearn 6 hours ago | parent | next [-]

Rust is uncompetitive for the use case of sharing logic between mobile apps. Kotlin has Swift interop and KMP is a mature tech by this point.

mwcampbell an hour ago | parent [-]

This is probably biased by the specific multi-platform apps I've worked on, but my default assumption is that sooner or later, any non-trivial multi-platform app will need to reach for something that doesn't already have a KMP library and that, on Android, might require compiling native code via the NDK. Rust has a way bigger library ecosystem than KMP. So I figure one might as well do the cross-platform core in Rust and add that FFI boundary early, but managed by something like uniffi-rs. And, I've seen it work in a few real projects now, with just a little build system friction up front. So in what sense is Rust uncompetitive for this use case?

doc_ick 6 hours ago | parent | prev | next [-]

Well you don’t repeat yourself if the llm repeats it for you at the cost of millions of tokens.

rvz 6 hours ago | parent | prev [-]

In that case, Kotlin makes even more sense especially with Kotlin Native, and Rust is unnecessary.

Kotlin is already multi-platform and can be re-used as the business logic in iOS apps with Swift as the UI and the Android app with a Kotlin UI (Jetpack Compose) or both iOS and Android apps can be written entirely in Kotlin.

That vastly reduces the maintenance and Kotlin is reused across all apps and keeps it at 2 languages at most.

No need to introduce Rust to achieve the same goal.