Средство Clojure для среднего размера?

Есть ли пример приложения среднего размера Clojure, который можно использовать в качестве примера "лучших практик", и хороший способ увидеть, что такое приложение будет выглядеть с точки зрения кода и организации кода? Веб-приложение было бы особенно интересно для меня, но самое главное, что программа делает что-то обычно полезное (блог, отслеживание ошибок, CMS, например), а не что-то математическое, которое мне никогда не приходилось реализовывать в реальном мир (решение проблемы N-queens, моделирование Жизни, генерация последовательностей Фибоначчи и такая обычная плата за программирование языков программирования).

Спасибо!

Ответ 1

Я рекомендую cow-blog Брайана Карпера. По словам автора, это было написано с вашей целью.

Ответ 2

Если вы просматриваете исходный код clojure-contrib, вы можете увидеть, как библиотеки реализованы в clojure.

Вы также можете проверить " ClojureScript" в том же исходном дереве.

Позволяет код, написанный очень маленьким     подмножество Clojure будет автоматически переведено на JavaScript.

Переводчик ClojureScript - это полное приложение Clojure.

Я также рекомендую проверить образцы Port of Practical Common Lisp для Clojure, если вы еще этого не сделали,

Ответ 3

Посмотрите Compojure. Это веб-фреймворк, написанный в Clojure, поэтому он позволяет вам писать и запускать (на встроенном Jetty) полезные веб-приложения в Clojure, а также служит хорошим примером значительного фрагмента реального мира Clojure код.

Он находится в активной разработке и имеет полезную Google Group.

Ответ 4

Посмотрите демо-версию муравьев, написанную автором Clojure, Rich Hickey:

http://clojure.googlegroups.com/web/ants.clj

Вот несколько полезных инструкций по настройке вместе с средой разработки emacs:

http://riddell.us/ clojure

Также ознакомьтесь с богатым представлением, которое сопровождает этот код:

http://blip.tv/file/812787

Ответ 5

Clojure сам является хорошим примером лучших методов Clojure. Читайте в нижней части Core.clj, хорошие вещи.

Ответ 6

Я думаю, что Compojure, вероятно, лучший способ пойти на пример. Я сомневаюсь, что это пример "среднего размера", но, возможно, его небольшие подразделения, которые будут работать. По крайней мере, это будет мой подход. улыбки

Кроме того, проверьте

http://github.com/technomancy/mire/tree/master

который является небольшим m.u.d. клиент-прототип, встроенный в clojure, преимущество в том, что он полностью автономный и, вероятно, довольно простой, включая связанные с ним концепции. Документация, да, это хорошо, но концепции в коде очень тесно связаны с элементами действия M.U.D. это легко выполняется.

Ответ 8

Мы уже два года обсуждаем этот вопрос, и пока еще в начале цикла для языка Clojure определенно используется для серьезной производственной работы. В World Singles у нас есть несколько тысяч строк Clojure в производстве, которые обрабатывают все виды задач общего назначения в нашей веб-платформе - я писал об этом в моей сериале Real World Clojure.

Для некоторых достаточно крупных проектов с открытым исходным кодом - не совсем приложений, но для высокопрофильной инфраструктуры - вы можете посмотреть Storm from Twitter и Cascalog из BackType (теперь часть Twitter). 4clojure.com упоминается как веб-приложение с открытым исходным кодом, которое тоже стоит посмотреть, но обратите внимание на новый репозиторий github для 4clojure.

Ответ 9

Положительный знак: есть статья в InfoQ о том, что "один из первых опубликованных отчетов Clojure используется в большом -масштабное развертывание производства". Он не выглядит открытым, но по крайней мере он является признаком того, что Clojure используется в критически важном приложении в реальном мире производства. Большой шаг для сообщества Clojure.

Ответ 11

Вы можете посмотреть здесь: http://bitbucket.org/kumarshantanu/blogjure/overview/

Это крошечное приложение для блогов, написанное с использованием Hibernate, Compojure и StringTemplate, которое действительно работает!

Ответ 12

Я могу только рекомендовать вам проверить Pedestal, очень перспективную веб-инфраструктуру, как на стороне сервера, так и на стороне клиента (где это облегчает ClojureScript). Материал gui немного трудно понять, но довольно многое, что нужно сделать, чтобы оставаться в рабочем состоянии в большом приложении.

Ответ 13

edge - это приложение среднего размера, демонстрирующее структурирование приложения с помощью Clojure, ClojureScript, Component, Yada, Aero и Boot.

Ответ 14

Clojure все еще слишком молод и движущаяся цель, чтобы иметь приложения среднего размера с доступным исходным кодом.