Комплекс GUI в clojure - PullRequest
       4

Комплекс GUI в clojure

11 голосов
/ 04 февраля 2011

Я только начал использовать Clojure сегодня (однако я много использовал Java и знаю функциональные парадигмы), и мне было интересно, если это было хорошей идеей для создания приложения Clojure с разумным сложным интерфейсом (перетаскивание, отбрасывание, панорамирование, масштабирование, ...) с помощью Swing?

Я могу представить, что многие нормальные логики свинга (особенно в отношении ОО) должны быть обойдены так или иначе.

Я полагаю, что все возможно, но возможно ли этотаким образом, что оправдано?

Я имею в виду, не будет ли это ударом по гвоздю отверткой вместо молотка?

У кого-нибудь здесь есть опыт создания GUI с Clojure (и, конечно, Swing?идеальный кандидат для этого?)

Спасибо!

Ответы [ 3 ]

9 голосов
/ 04 февраля 2011

Я обнаружил, что использовать Swing для создания приличных пользовательских интерфейсов в Clojure относительно просто.Однако у вас есть несколько вариантов того, как это сделать:

  • Пишите код почти так же, как в Java, просто используя взаимодействие Java из Clojure для вызова соответствующих API Swing. Эта статья хорошо объясняет, как с помощью небольшого количества макромагиков сделать вашу жизнь проще.
  • Используйте оболочку GUI Clojure для Swing, например seesaw или clj-swing .Я полагаю, что эти инструменты могут помочь вам написать действительно аккуратный код GUI в идиоматическом Clojure
1 голос
/ 07 февраля 2011

Поскольку другие упоминают ответы, связанные с Swing, я задам вам один вопрос: является ли Swing требованием. Хотя написание Swing-кода в clojure приятнее, чем в Java, он по-прежнему остается Swing со всем его многословием и неудобствами, особенно в сложных приложениях с жесткими требованиями.

Рассматривали ли вы веб-интерфейс, где Clojure подходит гораздо естественнее? Или SWT или QT Jambi , который также можно настроить для работы с Clojure.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...