【问题标题】:desktop applications written in clojure用 clojure 编写的桌面应用程序
【发布时间】:2014-02-10 22:19:48
【问题描述】:

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

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

我想到了以下替代方案:

clojure/跷跷板:

  • -- 需要 java 运行时
  • -- 标准挥杆外观/感觉可能是一个缺点
  • ++ 强大的 java 平台
  • ++ 庞大的生态系统
  • ++ 互操作支持不是问题
  • ++ core.async

clojurescript/html5/css:

  • ++ 可以与 node-webkit 或 appjs 一起使用来交付独立的桌面应用程序。
  • ++ 通过 css 实现灵活的外观/感觉
  • ++ 强大的平台
  • ——更小的生态系统。例如。处理 xml 文件或对数学库的支持如何?
  • -- 互操作支持可能是个问题。我可以打电话吗?来自 node-webkit 的原生库?
  • --单线程环境,异步支持呢?
  • -- 不清楚如何更新应用程序。

底座

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

【问题讨论】:

  • Clojure Google 小组更适合回答这个问题。

标签: clojure clojurescript pedestal


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多