我想要一个简单的时间轴组件(如视频编辑软件)用于clojure / seesaw应用程序,我想知道这是一个很好的方法直接用clojure和跷跷板实现这个或者我是否应该用java编写它并制作我的clojure包裹着它。
或更一般地说:是一种最适合编写UI小部件的函数式编程语言?没有很多国家参与,我无法想象这样做。并不是首先为UI开发发明了OO吗?
答案 0 :(得分:4)
你可以去任何一种方式。在Overtone上,我们使用Seesaw构建了许多自定义图形组件directly in Clojure。很多时候,原子和(seesaw.core/canvas)
足以满足这种需要。
根据你想要获得多少花哨,在Clojure中做到这一点的一个原因是你可以将Seesaw的协议(选择,绑定等)扩展到新的小部件,以便它与Seesaw无缝协作。另一个考虑因素是您的小部件是否需要使用来自应用程序其他部分的Clojure数据。这将比Clojure更清晰,而不是Java。
也就是说,如果您对Swing / Java感到满意,那么您可以在那里完成,Seesaw将非常乐意使用内置于Java的自定义小部件。祝你好运!
答案 1 :(得分:2)
答案 2 :(得分:2)
所有其他条件相同(即假设您同时了解Clojure和Java),我可能会将其写为Java中的自定义Swing组件。
原因:
当然,对于应用程序逻辑本身,我当然更喜欢Clojure。