我应该将Java用于为clojure应用程序设计的自定义Swing组件吗?

nan*_*sen 5 swing clojure seesaw

我想要一个简单的时间轴组件(如视频编辑软件)用于clojure/seesaw应用程序,我想知道它是一个很好的方法直接用clojure和跷跷板实现这个或者我是否应该在java中编写它并使我的clojure包装器周围.

或者更一般地说:是一种最适合编写UI小部件的函数式编程语言?没有很多国家参与,我无法想象这样做.并不是首先为UI开发发明的OO?

Dav*_*Ray 4

你可以选择任何一种方式。在 Overtone 上,我们使用 Seesaw直接在 Clojure 中构建了许多自定义图形组件。很多时候,一个原子就(seesaw.core/canvas)足以完成这种事情。

根据您的喜好,在 Clojure 中执行此操作的原因之一是您可以将 Seesaw 的协议(选择、绑定等)扩展到新的小部件,以便它与 Seesaw 无缝协作。另一个考虑因素是您的小部件是否需要使用应用程序其他部分的 Clojure 数据。Clojure 比 Java 更简洁。

也就是说,如果您熟悉 Swing/Java,则可以在那里进行操作,Seesaw 将非常乐意使用 Java 内置的自定义小部件。祝你好运!