可以推荐 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 就是一个很好的例子。