web-dev-qa-db-fra.com

Clojure sur Android

Est-il possible de programmer des applications Android dans Clojure? Quelqu'un peut-il suggérer un bon tutoriel ou un bon livre, si c'est possible?

76
JaneNY

Oui, voici le projet principal dont je suis au courant: https://github.com/remvee/clojurehelloandroid

Et voici un petit tutoriel http://riddell.us/ClojureAndAndroidWithEmacsOnUbuntu.html bien que je ne serais pas surpris si ce tutoriel est obsolète, comme il y a plus d'un an lorsque j'ai joué avec le code suivant ce didacticiel et le code de remvee ont depuis été mis à jour.

EDIT: voir la mise à jour ici de Stuart Sierra et du groupe Clojure/core: http://groups.google.com/group/clojure/browse_thread/thread/876c90d3ae353c61

"Clojure 1.2.0 fonctionne" prêt à l'emploi "sur Android, mais le temps de démarrage est toujours un problème. Certains membres de Clojure/core ont expérimenté des moyens d'améliorer cela, principalement en supprimant sélectivement les éléments qui ne sont pas nécessaires au moment de l'exécution. .

Suivez http://dev.clojure.org/display/design/Android+Support pour les nouvelles. La dernière mise à jour a été réalisée par Aaron Bedra, un membre de Clojure/core, en décembre 2010. Je ne dirais pas que c'est une priorité élevée en ce moment, mais les gens ne se sont pas non plus désintéressés.

Personnellement, je ne recommanderais pas d'écrire une application Android dans Clojure si vous avez l'intention de la publier immédiatement. Mais si vous êtes intéressé à expérimenter Clojure sur Android et faire mieux, alors allez-y. "

27
rplevy

Clojure profite grandement du Android 2.2 compilateur JIT qui améliore considérablement les temps de chargement des classes. Clojure crée beaucoup de petites classes qui prenaient "pour toujours" à charger sur les Android Android précédents) = versions.

découvrez ce travail en cours sur un plugin Swank pour Android avec clojure

17
Arthur Ulfeldt

Une nouvelle option pour Clojure sur Android est ClojureScript .

ClojureScript compile Clojure en JavaScript que vous pouvez ensuite envelopper dans une application. Cela contourne entièrement la Dalvik-VM et évite les problèmes de temps de chargement, si votre application est adaptée au javascript. de nombreuses applications à la recherche d'une intégration plus étroite avec la plate-forme ne peuvent pas utiliser cette approche. Si votre application peut vivre sans intégration étroite de la plate-forme, cela pourrait vous faire gagner beaucoup de temps.

14
Arthur Ulfeldt

Je sais que c'est un peu vieux, mais juste au cas où quelqu'un trébucherait dessus, clore le Android a parcouru un long chemin depuis les réponses ci-dessus. Le lein-droid et les projets Neko facilitent l'écriture complète de programmes Android utilisant clojure du début à la fin).

8
roland

Cela a été répondu avant . Oui, c'est possible avec quelques hacks mineurs. Cependant, la dernière fois que j'ai essayé, c'était extrêmement lent et très gourmand en mémoire. C'était avec Clojure 1.1 et Android 2.1. Les choses auraient pu être améliorées depuis.

6
Maurits Rijk

Recherchez "Clojure REPL", "Clojure" ou "Sattvik Software" dans Android Market et vous trouverez un excellent REPL. Je l'ai utilisé dans ma tablette XOOM 1, d'abord avec = Android 3 et maintenant avec Android 4.0 sans aucun problème.

Si vous recherchez suffisamment, vous trouverez des programmes pour Java (Java IDE), Ruby (Ruboto IRB), Python, Lua, Perl, Javascript (SL4J for les quatre derniers, également SigmaScript pour Lua), ISLisp (tiny-ISLispdroid), OCaml (OCaml Toplevel), Scheme, C, C++, C #, Pascal, Basic et même Forth!

Je regrette qu'ils n'en aient toujours pas pour Scala!

1
Bruno Alessi