this post was submitted on 14 May 2024
64 points (91.0% liked)
Rust
5974 readers
98 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
You mean apart from the 5x performance hit?
I'm unaware of anything the Android SDK supports that the NDK doesn't, and the
ndk-rs
crate provides bindings for it. I agree that Rust on Android is not where we'd like it to be yet, especially with regard to familiar interfaces like winit, but transpiling Rust to JVM bytecode is not the solution. Come to that, it's not the solution to any problem that currently does or (with any luck) will ever exist. Best case scenario, you shift the problem from creating bindings to the NDK to creating much uglier bindings to random Java classes through something JNI-like.Speaking of the JNI, actually, writing Rust native code that can both be called from and call into to Java/Kotlin/other JVM code via the JNI is actually fairly straightforward.
Transpiling Rust to Java bytecode is a remarkably silly idea and I cannot fathom why anyone would ever do it, except maybe if they really cared about portability.
Yeah, OK. You've already made up your mind on the issue. There's no need to continue the discussion.
Anti Commercial-AI license
No, I'm serious. Why would you ever do that? What features are available to the Java version of the Android API that aren't available via the NDK? And if those features exist, why is writing the portions of your app that depend on those features in Kotlin and the rest in Rust infeasible?