clojure - 用 clojure 编写的桌面应用程序

标签 clojure clojurescript pedestal

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

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

  • 我想到了以下替代方案:

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

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

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

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

  • 它支持原生库,
  • clojure.core.async,
  • 通过简单的 HTTP 请求或 socket.io 自行实现简单的更新,
  • lighttable 就是一个很好的例子。
  • 关于clojure - 用 clojure 编写的桌面应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21256153/

    相关文章:

    clojurescript - 在 Clojurescript 中使用闭包模板

    Clojure ^在命名空间中共享

    clojure - 如何使用 clojure.algo.generic 库?

    clojure - 在clojure源码中,RT代表什么?

    Clojure 的 Cheshire JSON API 未读取整个 JSON 文件

    clojure - clojure 中的函数定义宏

    build - 如何设置 Leiningen/ClojureScript 编译器来支持用户脚本?

    clojure - 调试 pedestal.io 应用程序的正确方法是什么?

    testing - 我怎样才能找出为什么给出错误的规范不会导致我的测试失败?