用clojure编写的桌面应用程序

时间:2014-01-21 10:59:06

标签: clojure clojurescript pedestal

可以推荐使用clojure生态系统中的哪些技术来开发独立的桌面应用程序?我正在寻找的技术应该支持

  • 访问本地文件系统(例如文件对话框)。
  • 通过http / https
  • 访问网络
  • 支持更新桌面应用程序
  • 异步支持(运行多个线程)
  • 跨平台(不需要智能手机)
  • 对本机库的互操作支持(不是100%需要,但如果它没有支持则存在风险)
  • 合理的生态系统。例如。我需要将xml文件验证到xsd,最后我需要进行一些线性代数计算。

我想到了以下替代方案:

的Clojure /跷跷板:

  • - 需要java运行时
  • - 标准挥杆外观可能不利
  • ++ robust java platform
  • ++ huge ecosystem
  • ++互操作支持不是问题
  • ++ core.async

clojurescript / HTML5 / CSS:

  • ++可与node-webkit或appjs一起使用,以提供独立的桌面应用程序。
  • ++灵活的外观/感受来自css
  • ++ robust platform
  • - 较小的生态系统。例如。那么处理xml文件或支持数学库呢?
  • - 互操作支持可能是个问题。我可以打电话吗来自node-webkit的本地库?
  • - 单线程环境,异步支持怎么办?
  • - 不清楚如何更新应用程序。

立柱

  • ++简化了应用程序架构的开发
  • - 不确定它是否可以部署为node-webkit app或appjs。

2 个答案:

答案 0 :(得分:4)

我认为clojurescript + node-webkit是一个不错的选择:

  • 它支持本机库,
  • clojure.core.async,
  • 通过简单的HTTP请求或socket.io,
  • 自行实现简单更新
  • lighttable就是一个很好的例子。

答案 1 :(得分:0)

Electron应该是NW.js(node-webkit)的替代品,并且在何时显示和隐藏窗口方面提供了更大的灵活性。