Взаимодействие между Java и Clojure и создание графических интерфейсов - PullRequest
4 голосов
/ 12 ноября 2010

Я уже некоторое время играю с Clojure, и мне просто нравится LISP-синтаксис, он действительно красивый, выразительный, простой и все же чрезвычайно эффективный.Я также несколько месяцев возился с C # и обнаружил, что его синтаксис действительно многословен и довольно уродлив, но все же он работает для меня, но я бы предпочел синтаксис LISP.

Однако;отсутствие GUI-библиотеки / дизайнера специально для Clojure несколько нервирует.В C # быстрое создание тестового приложения с WPF действительно просто и легко, но я не могу сказать то же самое о Clojure.

В любом случае, я задумался над этим, но не смог найти хороший ресурсдля этого.Например, на C # и F # вы можете написать логику приложения на F #, а затем создать GUI с помощью C #.Есть ли способ, которым это возможно с Java и Clojure?Что вы делаете логику приложения в Clojure, а затем программируете / конструируете графический интерфейс в Java?

Ответы [ 2 ]

6 голосов
/ 12 ноября 2010

Вы можете в значительной степени использовать Swing непосредственно из Clojure - и, следовательно, довольно быстро воспользоваться широким спектром библиотек и инструментов Java Swing. Вот хороший пост в блоге с примерами:

http://stuartsierra.com/2010/01/03/doto-swing-with-clojure

Я не вижу причин, по которым вы не могли бы сделать то же самое с любой другой библиотекой Java GUI / конструктором GUI.

Если вас больше интересуют 3D или визуализация, стоит также взглянуть на penumbra . Я сам этим мало пользовался, но это похоже на очень хороший подход в стиле LISP к программированию OpenGL.

1 голос
/ 13 ноября 2010

Если вы хотите рисовать пользовательский интерфейс вручную, тогда все указатели @ mikera имеют смысл.Я не думаю, что это звучит так, как будто это был ваш вопрос.

Учитывая превосходную совместимость Java с Clojure, я бы сказал, что нет никаких причин, по которым вы не могли бы нарисовать свой интерфейс визуально, используя Matisse ,это единственное, о чем я слышал, когда кто-то говорит о настольных java-приложениях.В частности, Tor Norbye из Java Posse говорит об этом очень высоко, и вся его работа в течение последних нескольких лет заключалась в разработке NetBeans, которая имеет довольно сложный графический интерфейс, хотя и не слишком много.whiz bang виды эффектов.

После того, как ваш интерфейс написан и сгенерирован в Matisse, пусть привязки вызывают ваш код Clojure, где вы реализуете свою бизнес-логику.

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