安卓系统上的 Clojure

有可能在 Clojure 中编写 Android 应用程序吗? 如果可能的话,有人能给我推荐一本好的教程或书吗?

18352 次浏览

这已经被回答 before。是的,有可能只需要一些小的黑客攻击。然而,上次我尝试它是非常缓慢和非常内存饥饿。这是在 Clojure 1.1和 Android 2.1中实现的。从那以后情况可能有所改善。

Clojure 从 android 2.2 JIT 编译器中获益匪浅,它极大地提高了类加载时间。Clojure 创建了许多小类,这些类在以前的 Android 版本上需要“永远”加载。

看看这个“在进行中”的工作在一个 很炫的插件的安卓与 cljure

是的,这是我知道的主要项目: https://github.com/remvee/clojurehelloandroid

And here is a little tutorial http://riddell.us/ClojureAndAndroidWithEmacsOnUbuntu.html though I would not be surprised if this tutorial is outdated, as it was over a year ago when I played with the code following this tutorial, and remvee's code has since been updated.

编辑: 请参阅 Stuart Sierra 和 Clojure/core 组的更新: http://groups.google.com/group/clojure/browse_thread/thread/876c90d3ae353c61

“ Clojure 1.2.0开箱即用” 但是启动时间仍然是 一个问题。一些成员 Clojure/core 已经实验过 改善这种状况的方法,主要是通过 有选择性地移除那些不存在的东西 在运行时需要。

跟我来 http://dev.clojure.org/display/design/Android+Support 最后一次更新是由 Aaron 提供的 贝德拉,Clojure/核心成员,在 2010年12月,我不会说这是一个 high priority right now, but neither 让人们失去兴趣。

I personally would not recommend 在 Clojure 中编写 Android 应用程序 你打算马上释放它。 但如果你有兴趣尝试 在安卓系统上使用 Clojure 更好,那就去争取吧。”

A new option for Clojure on android is ClojureScript.

ClojureScript 将 Clojure 编译成 JavaScript,然后您可以将其包装进去 这完全绕过了 Dalvik-VM,避免了加载时间问题, 如果你的应用程序适合 javascript。许多应用程序寻找更紧密 与平台的整合不能使用这种方法。如果你的应用程序 可以生活在紧密的平台集成,这可以节省你很多 时间。

在 Android Market 中搜索“ Clojure REPL”、“ Clojure”或“ Sattvik Software”,你会发现 an excellent REPL. I've been using it in my XOOM 1 Tablet, first with Android 3 and now with Android 4.0 without any problem.

If you search hard enough you will find programs for Java (Java IDE), Ruby (Ruboto IRB), Python, Lua, Perl, Javascript (SL4J for the last four, also SigmaScript for Lua), ISLisp (tiny-ISLispdroid), OCaml (OCaml Toplevel), Scheme, C, C++, C#, Pascal, Basic and even Forth!

我很遗憾他们还没有为 Scala 准备一个!

我知道这有点老套,但是为了防止有人碰巧发现这个问题,Android 上的 Clojure 已经比上面的答案进步了很多。lein-droid尼科项目使得从头到尾使用 clojure 编写完整的 android 程序变得非常容易。