2014-01-21 3 views
7

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

  • Доступ к локальной файловой системе (например, диалоговые окна файлов).
  • доступ к сети через HTTP/HTTPS
  • поддержка
  • для обновления настольных приложений
  • поддержку
  • асинхронной (работает несколько потоков)
  • кросс-платформенный (нет необходимости для смартфонов, хотя)
  • Interop поддержки родным LIBS (не требуется 100%, но это риск, если у него нет поддержки)
  • разумная экосистема. Например. Мне нужно проверить XML-файлы на xsd, в конце концов мне нужно сделать некоторые вычисления линейной алгебры.

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

Clojure/качелей:

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

clojurescript/html5/CSS:

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

Пьедестал

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

Группа Clojure Google - лучшее место для этого вопроса. – Mars

ответ

4

Я думаю clojurescript + узел-WebKit является хорошим выбором:

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

Electron должна быть капля в замене для NW.js (узел-WebKit) и обеспечивает большую гибкость по сравнению, когда нужно показать и скрыть окна.

Смежные вопросы