Настольные приложения, написанные в clojure

Какие технологии из экосистемы clojure можно рекомендовать для разработки автономного настольного приложения? Технология, которую я ищу, должна иметь поддержку

  • доступ к локальной файловой системе (например, файловые диалоги).
  • доступ к сети через http/https
  • поддержка обновления настольного приложения
  • асинхронная поддержка (запуск нескольких потоков)
  • кроссплатформенный (хотя для смартфонов не нужен)
  • поддержка взаимодействия с родными библиотеками (не требуется на 100%, но есть риск, если у него нет поддержки)
  • разумная экосистема. Например, мне нужно проверить xml-файлы на xsd, в конце концов мне нужно сделать некоторые вычисления по линейной алгебре.

Мне приходят в голову следующие альтернативы:

Clojure/ качели:

  • - требует времени выполнения Java
  • - стандартный внешний вид качания может быть недостатком
  • ++ надежная платформа Java
  • ++ огромная экосистема
  • Поддержка взаимодействия ++ не проблема
  • ++ core.async

clojurescript / html5 / CSS:

  • ++ может использоваться с node-webkit или appjs для предоставления автономного настольного приложения.
  • ++ гибкий внешний вид через CSS
  • ++ надежная платформа
  • меньшая экосистема. Например, как насчет обработки XML-файлов или поддержки математических библиотек?
  • - поддержка взаимодействия может быть проблемой. Могу ли я назвать, например, нативные библиотеки из node-webkit?
  • однопоточная среда, как насчет асинхронной поддержки?
  • - неясно, как обновить приложение.

пьедестал

  • ++ упрощает разработку архитектуры приложения
  • - не уверен, что его можно развернуть как приложение node-webkit или appjs.

2 ответа

Я думаю, что clojurescript + node-webkit - хороший выбор:

  • поддерживает родных библиотек,
  • clojure.core.async,
  • реализовать простое обновление самостоятельно с помощью простого HTTP-запроса или socket.io,
  • lighttable - хороший пример.

Электрон должен быть заменой NW.js (node-webkit) и предлагает больше гибкости, чем когда нужно показывать и скрывать окна.

Другие вопросы по тегам