El óxido es probablemente el mejor lenguaje para escribir algo complejo, pero esa no es la única consideración.
Parece que Rust puede llamar a C pero no a C ++:
Interfaz de función externa
- ¿Cuáles son algunas cosas que apestan en Android Lollipop?
- ¿Por qué los proyectos creados en Android Studio 3 no son compatibles con las versiones anteriores de Android Studio?
- ¿Por qué se prefiere una base de datos remota sobre SQLite en el desarrollo de aplicaciones de Android?
- ¿Qué tan bueno es Cocos2d-x para construir juegos 2D para la plataforma Android?
- ¿Cuáles son los sitios que se pueden visitar para obtener una base para el desarrollo de aplicaciones en Java?
Entonces, si planea usar cualquier biblioteca que requiera C ++, deberá usar C ++ para al menos esas llamadas. Y sería más fácil no tener que escribir funciones de enlace y envoltorios, por lo que sería más fácil usar C ++.
Si no confía en ninguna biblioteca de C ++, todavía existe la interfaz JNI, que es más fácil de usar a través de las interfaces de estilo C ++, pero JNI tiene una interfaz C, por lo que no es un showtopper.
Finalmente considere la cadena de herramientas. Parece que Rust se puede usar en Android:
Compilación de óxido a un objetivo de Android
Eso es un comienzo. Sin embargo, también miraría lo fácil que es depurar.
Mi instinto es que sería más difícil que C ++, que ya puede ser difícil en Android, y que el 95% del trabajo se realizaría en las bibliotecas a las que llamaría (OpenGL, ¿otras?). Si está haciendo esto como un proyecto de Android, y gran parte de la interfaz de usuario estará en Java, entonces el dolor de usar un lenguaje que carece de soporte oficial probablemente no valdrá sus ventajas.
Si está escribiendo la plataforma multiplataforma de aplicaciones usando OpenGL y manejando eventos usted mismo, la capa nativa podría ser lo suficientemente compleja como para justificar el uso de Rust.