¿Hay algún problema de incluir un tarro escrito en clojure como parte de una aplicación para Android?
Estoy desarrollando una aplicación estándar de Android (en java), pero me gustaría implementar algunos de los no-UI "lógica empresarial" en clojure. ¿Hay algún inconveniente en hacer esto, o problemas que debo ser consciente de que haría esto una mala idea?
He hecho una prueba sencilla: llamar a funciones en una biblioteca trivial clojure de una aplicación de Android, y esto parecía funcionar sin problemas obvios.
- ¿Qué idiomas están maduros para desarrollar aplicaciones nativas en Android
- Alternativas a java en android
- Creación de aplicaciones de Android sin Java
- Ejecución de bytecode Java en Android - Sun JVM en la parte superior de DalvikVM
- ¿Cómo crear un proyecto GUI simple (Hello world) para Android en Clojure?
He visto comentarios sobre los problemas con respecto al tiempo para cargar clojure.jar, pero en mi caso clojure no está manejando la interfaz de usuario.
No estoy claro si hay otros problemas de memoria o rendimiento que debería preocuparse.
Actualización 16 de enero de 2017
He encontrado algunos problemas al intentar utilizar algunas bibliotecas de clojure un poco más complejas, específicamente una que depende de core.async.
Con clojure estándar 1.8 como dependencia intenté:
new ClassDefinedInClojure()
Donde ClassDefinedInClojure es la clase Java generada por AOT, pero tengo:
java.lang.VerifyError: Rejecting class clojure.core.memoize.RetryingDelay because it failed compile-time verification
Asumí que esto era el resultado de la misma cuestión identificada aquí:
Http://dev.clojure.org/jira/browse/CLJ-1472
Pero el problema aún existía incluso después de haber reconstruido clojure 1.8 con el parche ( http://dev.clojure.org/jira/secure/attachment/15351/clj-1472-2.patch ) aplicado.
Soy consciente de la estructura específica de Android de clojure https://github.com/clojure-android/clojure , pero para ser honesto no está claro cómo esto difiere de clojure normal y por qué es necesario. Intenté usar esto como una alternativa a la biblioteca clojure estándar, pero tenía el mismo problema.
Con respecto a mi pregunta original, esto era útil – http://blog.ndk.io/state-of-coa.html
- Clojure Android no logra leer el archivo
- Groovy, Scala, Clojure, etc scripts en Android
- Comenzando a programar en lenguajes dinámicos en Android ((J) Ruby, Clojure ...)
- Uso de Sidra en Android
- Android Adverse To Dynamic Languages
- Clojure en Android
- ¿Qué es el error Apache-HttpClient / UNAVAILABLE (Android, Google App Engine)?
- Android sin Java