desktop applications written in clojure

Which technologies from the clojure ecosystem can be recommended to develop a standalone desktop application? The technology I am looking for should have support for

  • access to the local file system (eg file dialogs).
  • access to the web via http/https
  • support for updating the desktop application
  • async support (running multiple threads)
  • cross platform (no need for smartphones though)
  • interop support to native libs (not 100% required, but it's a risk if it doesn't have support for it)
  • reasonable ecosystem. Eg I need to validate xml files to xsd's, eventually I need to make some linear algebra calculations.
  • The following alternatives come to my mind:

    clojure/seesaw:

  • -- requires java runtime
  • -- standard swing look/feel might be a disadvantage
  • ++ robust java platform
  • ++ huge ecosystem
  • ++ interop support is not an issue
  • ++ core.async
  • clojurescript/html5/css:

  • ++ can be used with node-webkit or appjs to deliver standalone desktop app.
  • ++ flexible look/feel via css
  • ++ robust platform
  • -- smaller ecosystem. Eg what about handling xml files or support for math libraries?
  • -- interop support might be an issue. Can i call eg native libs from node-webkit?
  • -- single threaded enviroment, what about async support?
  • -- unclear how to update the application.
  • Pedestal

  • ++ simplifies developing the application architecture
  • -- not sure it can be deployed as node-webkit app or appjs.

  • I think clojurescript + node-webkit is a good choice:

  • it supports native libs,
  • clojure.core.async,
  • implement a simple update on your own by simple HTTP request or socket.io,
  • lighttable is a good example.

  • 电子应该是NW.js(node-webkit)的替代品,并且在显示和隐藏窗口时提供更多的灵活性。

    链接地址: http://www.djcxy.com/p/77042.html

    上一篇: 播放完整的HTML5视频,然后循环播放部分内容

    下一篇: 用clojure编写的桌面应用程序