Java和Clojure之间的互操作性以及GUI的创建

时间:2010-11-12 00:23:55

标签: java user-interface clojure

我已经和Clojure一起玩了一段时间了,我只是喜欢LISP语法,它非常漂亮,富有表现力,简单但非常有效。我也一直在玩C#几个月,发现它的语法真的很冗长而且非常丑陋,但它对我有用,但我更喜欢LISP语法。

然而;缺乏专门针对Clojure的GUI库/设计师已经让我感到紧张。在C#中使用WPF快速制作测试应用程序非常简单易行,但我不能对Clojure说同样的话。

无论如何,我对它进行了一些思考,但却找不到合适的资源。例如,使用C#和F#,您可以在F#中编写应用程序的逻辑,然后使用C#创建GUI。有没有什么方法可以使用Java和Clojure?你在Clojure中创建应用程序的逻辑,然后用Java编写/设计GUI?

2 个答案:

答案 0 :(得分:6)

您可以直接从Clojure中使用Swing - 因此可以非常快速地获得各种Java Swing库和工具的好处。这是一篇很好的博客文章,内容如下:

http://stuartsierra.com/2010/01/03/doto-swing-with-clojure

我认为没有任何理由不能对任何其他Java GUI库/ GUI构建器执行相同的操作。

如果您对3D或可视化更感兴趣,那么值得一看penumbra。我自己并没有太多使用它,但它似乎是一种非常好的LISP风格的OpenGL编程方法。

答案 1 :(得分:1)

如果你想手工绘制UI,那么@ mikera的指针都是有意义的。不过,我认为这听起来不是你的问题。

鉴于Clojure卓越的Java互操作性,我想说你没有理由不能使用Matisse在视觉上绘制你的UI,这是我听到有人在这几天谈论Java桌面应用程序的唯一事情。 Tor Norbye Java Posse特别高度赞扬它,过去几年他的整个工作一直在开发具有相当复杂的GUI的NetBeans,尽管没有太多的各种各样的影响。

在Matisse中绘制和生成UI之后,让绑定调用您实现业务逻辑的Clojure代码。