使用clojure制作移动应用程序(Android和IOs版本)的首选方法是什么?

时间:2014-01-23 15:53:01

标签: clojure clojurescript

我已经看到有一些工具可以从clojure构建移动应用程序,但我想了解有关库,环境,缺点,分析和实际工作示例的更多细节

由于

3 个答案:

答案 0 :(得分:12)

将ClojureScript与React Native结合使用现在成为这个问题的一个很好的答案:

  • React Native的表现很棒。
  • Om和Reagent等现有的React库与React Native一起使用。
  • 您可以从“一次学习,随处写”知识重用中受益。
  • 您可以使用拥有重要社区的堆栈和语言。

最令人信服的原因是: React Native允许您使用ClojureScript作为函数式语言的优势来编写移动应用程序,从而避免了命令式的样式,变异和状态。

答案 1 :(得分:6)

到目前为止,这是我的调查结果:

要创建原生移动应用,我发现有2个lein插件可用:

  • 原生android:lein-droid。让我们用通常的lein命令编译,部署,安装和实时repl [lein droid doall,lein droid install,lein droid compile]。
  • 原生iOS:lein-fruit。一个Leiningen插件,用于使用RoboVM字节码到本机翻译器在Clojure和Java中构建本机iOS应用程序。

还有另一种有趣的方法来构建iOS应用程序,就像使用clojurescript获取javascript一样。在这种情况下,从clojure到方案到C clojure-scheme

在irc #clojure频道上,David Nolen和其他人提出了以下路径:

[6:27pm] dnolen: tangrammer: w/ iOS you'll have better luck with the JavaScriptCore bridge and ClojureScript  
[6:27pm] dnolen: tangrammer: I've tried it works great and I know other people are experimenting with it as well  
[6:28pm] dnolen: tangrammer: it does limit you to iOS 7, but you could take the Ejecta approach for earlier OSs
[6:38pm] dnolen: tangrammer: core.async on iOS works great
[6:38pm] dnolen: tangrammer: you can also do multithreaded CLJS on iOS

答案 2 :(得分:4)

The Why and How of Clojure on Android是一个很好的起点,比我在这里更好地涵盖了它。从我所看到的lein-droid leiningen插件是最简单的入门方式,虽然这个过程有时并不完全顺利。