Clojure на Android

Можно ли запрограммировать приложения для Android в Clojure? Может ли кто-нибудь предложить хороший учебник или книгу, если это возможно?

Ответ 1

Да, вот главный проект, о котором я знаю: https://github.com/remvee/clojurehelloandroid

И вот небольшой учебник http://riddell.us/ClojureAndAndroidWithEmacsOnUbuntu.html, хотя я не удивлюсь, если этот урок устарел, поскольку прошло более года назад когда я играл с кодом, приведенным в этом уроке, и с тех пор обновлялся код.

EDIT: см. обновление здесь от Stuart Sierra и группы Clojure/core: http://groups.google.com/group/clojure/browse_thread/thread/876c90d3ae353c61

"Clojure 1.2.0 работает" из коробки "на Android, но время запуска по-прежнему проблема. Некоторые члены Clojure/ядро ​​экспериментировали с способы сделать это лучше, главным образом выборочно удалять вещи, которые не необходимо во время выполнения.

Следуйте http://dev.clojure.org/display/design/Android+Supportдля новостей. Последнее обновление было опубликовано Aaron Бедра, член Clojure/core, в Декабрь 2010 года. Я бы не сказал, что это прямо сейчас, но ни люди потеряли интерес.

Я лично не рекомендовал бы написав приложение для Android в Clojure, если вы намерены выпустить его сразу. Но если вам интересно экспериментировать с помощью Clojure на Android и сделать это лучше, затем пойдите для этого. "

Ответ 2

Clojure значительно выигрывает от компилятора JIT android 2.2 JIT, который значительно улучшает время загрузки классов. Clojure создает множество небольших классов, которые "навсегда" загружали предыдущие версии Android.

ознакомьтесь с этим в процессе работы над swank plugin для androiding с помощью clojure

Ответ 3

Новая опция для Clojure для Android - ClojureScript.

ClojureScript компилирует Clojure в JavaScript, который вы можете затем обернуть приложение. Это полностью исключает Dalvik-VM и позволяет избежать проблем времени загрузки, если ваше приложение подходит для javascript. многие приложения ищут более жесткие интеграция с платформой не может использовать этот подход. Если ваше приложение может жить с жесткой интеграцией платформы, это может сэкономить вам много время.

Ответ 4

Я знаю, что это немного устарело, но на всякий случай кто-то наткнулся на это, clojure на Android прошел долгий путь с ответов выше. Проекты lein-droid и Neko делают намного проще писать полные программы для Android, используя clojure от начала до конца.

Ответ 5

Ответа на этот вопрос был . Да, это возможно с несколькими незначительными хаками. Однако в прошлый раз, когда я пробовал, он был очень медленным и очень голодным. Это было с Clojure 1.1 и Android 2.1. С тех пор ситуация может быть улучшена.

Ответ 6

Найдите "Clojure REPL", "Clojure" или "Sattvik Software" в Android Market, и вы найдете отличный REPL. Я использовал его в своем планшете XOOM 1, сначала с Android 3 и теперь с Android 4.0 без проблем.

Если вы достаточно усердствуете, вы найдете программы для Java (Java IDE), Ruby (Ruboto IRB), Python, Lua, Perl, Javascript (SL4J для последних четырех, также SigmaScript для Lua), ISLisp (крошечный ISLispdroid), OCaml (OCaml Toplevel), Scheme, C, С++, С#, Pascal, Basic и даже Forth!

Я сожалею, что у них все еще нет одного для Scala!